Автор Тема: Модифицированный синтаксис Оберона  (Прочитано 180417 раз)

Валерий Лаптев

  • Jr. Member
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #60 : Январь 10, 2012, 06:40:42 am »
Насчет читабельности.
Видимо, читабельность - разная для разного уровня подготовки. То, что новичку читабельно, профи - лишний мусор.
И наоборот. То, что для профи читабельно, для новичка - китайская грамота.
Таким образом, просто нужны РАЗНЫЕ языки.
Насчет минимизации.
ИМХО Си - наилучший пример минимизации.
А С++ - наихудший... :)

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #61 : Январь 11, 2012, 07:07:11 am »
Насчет читабельности.
Видимо, читабельность - разная для разного уровня подготовки. То, что новичку читабельно, профи - лишний мусор.
И наоборот. То, что для профи читабельно, для новичка - китайская грамота.
......
ЯП
Ну да, все опять свелось определению области оптимального использования ЯП , точнее к расширению ее...

to Веселовский: это вопрос периодически муссируется здесь и в к коровнике, и вроде очевидна бесперспективность его обсуждения с "наивной" программерской позиции - есть другие языки, попробовал их конструкции  на СВОИХ задачах, понравилось, написал... Может более перспективным (с точки зрения полезности обсуждния) будет проектировать язык исходя из области его использования? Скажем с Оберонами возможен такой план
1. Определяемся с областью его оптимального использования
2. Как можно четче описываем ту область на которую мы хотим его расширить
3 Отображаем исходный Оберон на то что ХОТИМ получить

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #62 : Январь 11, 2012, 07:55:18 am »
Может более перспективным (с точки зрения полезности обсуждния) будет проектировать язык исходя из области его использования? Скажем с Оберонами возможен такой план:
1. Определяемся с областью его оптимального использования
2. Как можно четче описываем ту область на которую мы хотим его расширить
3 Отображаем исходный Оберон на то что ХОТИМ получить
Хорошая идея. В соответствии с этим подходом, предлагаю обсудить вебпрограммирование(серверные приложения - к примеру, движек динамического сайта - социалка, портал, форум, магазин и т.д.), как область оптимального использования. В КП уже сделан в этом направлении шаг - добавили работу со строками.

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #63 : Январь 11, 2012, 09:23:10 am »
В направлении серверного программирования есть еще один плюс: если дело дойдет до создания компилятора, то гораздо легче будет сделать Линуксовую версию, так как Гуй не нужен.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #64 : Январь 11, 2012, 09:42:57 am »
В направлении серверного программирования есть еще один плюс: если дело дойдет до создания компилятора, то гораздо легче будет сделать Линуксовую версию, так как Гуй не нужен.
Вообще то компилятор никакого отношения к гую не имеет. Одно с другим не связано никак.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #65 : Январь 11, 2012, 10:52:43 am »
Вообще то компилятор никакого отношения к гую не имеет. Одно с другим не связано никак.
Не нужны гуевые библиотеки, ide

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #66 : Январь 11, 2012, 12:00:57 pm »
Вообще то компилятор никакого отношения к гую не имеет. Одно с другим не связано никак.
Не нужны гуевые библиотеки, ide
IDE нужно/не нужно вне зависимости от того пишешь ты линуксовый серверный софт, или же гуёвое виндовозное приложение.

GUI-либы вообще мало отличаются от сетевых либ. Особенно под линуксом. Приложение которое под хрюниксом хочет иметь окошко (и что-то в нем рисовать) вполне по TCP либо по Unix Domain Socket'у шлет X11-серверу запрос и далее общается с ним по сети.

Чем это отличается, скажем, от http-сервера или клиента? :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #67 : Январь 11, 2012, 01:32:01 pm »
Хорошая идея. В соответствии с этим подходом, предлагаю обсудить вебпрограммирование(серверные приложения - к примеру, движек динамического сайта - социалка, портал, форум, магазин и т.д.), как область оптимального использования. В КП уже сделан в этом направлении шаг - добавили работу со строками.

Че ж сразу серверное? Я вот клиентское хочу. Жабаскрипт задолбал.

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #68 : Январь 11, 2012, 03:20:50 pm »
Че ж сразу серверное? Я вот клиентское хочу. Жабаскрипт задолбал.
Ну, давайте все веб направление возьмем: клиентское+серверное

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #69 : Январь 12, 2012, 05:02:04 am »
1. Определяемся с областью его оптимального использования
2. Как можно четче описываем ту область на которую мы хотим его расширить
3. Отображаем исходный Оберон на то что ХОТИМ получить

Ещё неплохо бы определиться с целевой аудиторией, а то необязательные потребности у них могут перевесить все достоинства нового языка...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #70 : Январь 12, 2012, 12:22:55 pm »
Ещё неплохо бы определиться с целевой аудиторией, а то необязательные потребности у них могут перевесить все достоинства нового языка...

Гхм. Программисты? :) Во всяком случае я бы не стал делать упор исключительно на обучающихся студентов. Это не значит, что нужно сделать эзотерическеую вещь. Просто если будет выбор "удобно/идеологически правильно" против "не сразу понятно и не так как везде", то обучающиеся в проигрыше.

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #71 : Январь 12, 2012, 07:30:02 pm »
Добавлю пример с соседнего форума, автор Jordan:
Исходный код:
PROCEDURE Max(VAR: a, b: INTEGER): INTEGER;
VAR
  Result: INTEGER;
BEGIN
  IF a > b THEN
    Result := a;
  ELSE
    Result := b;
  END;
 
  RETURN Result;
END Max;
Убираем RETURN, PROCEDURE, BEGIN, THEN
Max(a, b: INTEGER): INTEGER;
  IF (a > b)
    Max := a;
  ELSE
    Max := b;
  END;
Max;
Убрать PROCEDURE - идея интересная.
Мой вариант:
Max(a, b: int): int;
    Result: int;
    if a > b then Result := a else Result := b
    end if;
    return Result;
end Max;
« Последнее редактирование: Январь 12, 2012, 07:40:27 pm от Vartovyj »

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #72 : Январь 12, 2012, 08:56:53 pm »
На счет убираний PROCEDURE - не знаю не знаю. Тут надо думать. Дело в том, что это самое убирание может превратить язык из LL(1) в нечто более сложное.

PS. Нет, само представление грамматики РБНФ сложнее не станет (вообще говоря), сложнее станет грамматика сама по себе и парсер. Что не страшно в двух случаях: 1) если есть некто достаточно компетентный кто сможет реализовать такой парсер (это не слишком сложно, но тут уже надо быть в теме, по книжке Вирта это с наскоку уже не сделать). 2) Если это никто не собирается делать вообще.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #73 : Январь 12, 2012, 10:32:05 pm »
На всякийслучай поясню: я не считаю что "о боже, они хотят усложнить грамматику языка!!! Та делать нельзя!!1 на костер их ". Я просто указываю на потенциальные грабли которые могут когда-нибудь стукнуть по лбу. Так сказать, крашу эти грабли в яркий цвет, что бы видны были.

Их можно обойти, или даже не почувствовать. Например если для написания парсера использовать coco/r, то удар будет чувствительный. Если использовать parsec, то можно вообще ничего не ощутить.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #74 : Январь 12, 2012, 11:14:02 pm »
Если я правильно понял, LL- парсеры воспринимают код жестко слева направо. В модифицированном синтаксисе, который мы рассматриваем, это не прокатит, так как требуется некое распознавание кода.