Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Vartovyj

Страницы: 1 ... 11 12 [13] 14
181
Если уж этим заниматься, то начинать нужно с проработки новых концепций. Если же изменения должны коснуться только синтаксиса, то без новых РБНФ разговаривать не о чём.
В основном, речь идет о синтаксисе, но возможно и добавление новых концепций.
В начале, думаю, лучше наметить контуры, в том числе позаимствовав удачные решения с других языков. а затем уже можно и к РБНФ приступить.

182
Я тоже так когда-то думал :) (в обероне еще в конце процедуры надо ее имя писать). Но на самом деле это борьба со следствием. Первопричина - большие процедуры и многовложенные конструкции (в оберонах, кстати, их очень любят).
То есть от первопричины не уйти:)

183
Если взять Аду, взять кувалду, и отбить ненужное, нарастить немного недостающего, то можно получить очень приятный язык. Ada lite :-)
Не, лучше взять оттуда удачные решения и прикрутить к Oberon-M:)

184
кстати, понравилось в Аде:
if
........
end if;
имхо улучшает читаемость

185
Цитировать
В ущерб читабельности - да. Но в данном случае лаконичность описания идет не в ущерб читабельности, а во благо её. А вот многословность, отсутствие лаконичности, тут уже идет как раз в ущерб читабельности.
Есть предложения, какой аналог может быть в Обероне?:
sum = map (\a b -> a+b) list

186
Цитировать
Кроме того, советую посмотреть как в Аде не превращаясь в Си сделали объявление переменых не только в "VAR" секции процедуры.
Те, которые как бы константы?

187
А какие конкретно притензии к концструкциям вида "array of SomeType" ? Слишком долго писать? Или слишком долго читать? Или что-то еще?
Каких-то особых претензий нет. Чисто эстетика. Хотя, может и будет выигрыш при больших объемах кода.

Цитировать
По моему опыту, это было бы критично есили бы например в Обероне были бы замыкания и/или лямбда функции. Тогда длинный синтаксис объявления переменных больно бил бы по рукам. А поскольку ничего этого в Оберонах (Оберон, Оберон-2, КП) нет, то это не слишком критично.
Кстати, стоило бы ввести в Оберон лямбда функции, если убрать обязательный VAR и разрешить объявление переменной в любом месте?

188
Вы уж определитесь, для чего Вам нужен язык программирования -- для быстренкого написания простеньких программулек -- запустил и стёр -- или для долговременных проектов, где важна читабельность программ?
и то и другое...

189
Также не очень понятно как свести к общему знаменателю Аду и Оберон - скажем в Аде есть generic-модули, в Обероне обобщенки нет вообще. Более того, чтобы скажем в ББ полноценно присутствовал и Оберон и КП, оный ББ придется переписать на их общем знаменателе - Обероне.
Значит Аду вычеркиваем)) Главное - семейство Оберонов. Если серьезно заниматься этим вопросом, то ББ все равно придется переписать хотя бы из-за жлобской лицензии.

190
Ну, тогда наверно стоило уточнить, что предлагается менять синтаксис не Оберона, а КП. Или Active Oberon'a. Они все же весьма отличаются от оберона как синтаксически, так и семантически.
Да, КП, а значит и Оберон, Оберон2.
Цитировать
Вообще, к задаче по экспериментированию с синтаксисом можно подойти с двух сторон:
  • Написать препроцессор который будет перегонять с нашего синтаксиса в, скажем, КПшный. Компилировать полученную кашу посредством КП-компилятора.
Вот этот вариант наиболее реален для первичных экспериментов.

Цитировать
PS. Я, кстати, слабо себе представляю как в Зонноне можно было что-то извратить, ведь он изначально делался именно под "систему" .net
Мне просто сам NET не нравится. Сугубо имхо. Оберон я рассматриваю именно как альтернативу NET. В идеале для этого нужно, чтобы были некие общие библиотеки для всех Оберонов + возможно Модулы2, Ады ну и пхп, питон.
Скажем будет: PHP.Oberon, PyOberon:)

191
Гм. С этого места по подробнее.
Я имел ввиду систему вцелом: КП+ББ или ActiveOberon+BlueBottle.

192
Помню когда писал на java одну относительно сложную вещь, чтобы сосредоточиться отключил в netbeans подсветку синтаксиса вообще. Почему-то подсветка сильно мешала сконцентрироваться на своих абстракциях. А вот с диалектами оберона (Оберон, Оберон-07, Оберон-2, КП) так не получилось бы - там капс ключевых слов зашит в синтаксис языка, и от этого так просто не избавиться.
Все акцентирования должны быть на уровне редактора, а не компилятора - тоесть отключаемые и настраиваемые под себя. Кроме того, такие длинные, громоздкие синтаксические конструкции, как array of integer и тд должны отсутстовать - вот это, в основном, и побудило меня открыть тему.

193
А вот я лично например не очень понимаю зачем нужен капс в ключевых словах и/или подсветка синтаксиса. Это ж до какой степени нужно не знать язык, чтобы требовалось что-то там подсвечивать/выделять капсом?

Единственное что - подсветка чуть-чуть помогает избежать опечаток. Но это должна быть подсветка не просто ключевых слов (в них обычно опечаток нет, а если есть, то они видны сразу), а подсветка более сожных сущностей. Например строковый литералов.
Выделение нужно для быстрого визуального схватывания кода. В современных редакторах лучше это делать изменением шрифта и цвета, естественно автоматически, самим редактором, в процессе написания кода.

194
Особенно если убрать капс. Ведь ключевые слова в верхнем регистре - одна из важнейших фишек оберона, которой они всегда аргументируют отсутствие подсветки синтаксиса.
А зачем убирать подсветку в современных редакторах? Думаю, правильный вариант - сделать как в Зонноне: или все ключевое слово капсом или все без.
Цитировать
Ну если оберонщики не станут признавать этот язык (так же как и Зоннон), то и называть его обероном не следует.
В Зонноне грубо извратили идею оберона с ооп и с NET, так как Оберон - это сам себе NET.
Цитировать
что и зачем мы хотим в итоге получить?
Эстетически красивый, простой вариант синтаксиса, возможно просто как настройка.

195
Идея с json хороша, но я предлагаю рассмотреть не универсальное решение для всех языков, а обертку только к Оберонам.
Кстати, коменты я бы взял C-подобные, тоесть /*...*/ и //, так как виртовские (*...*) зрительно интерферируют с процедурными скобками.
Тут в одном из топиков жаловались на VAR и засилие точек с запятой. Так, от VAR-а можно отказаться, просто сделав компилятор более интеллектуальным.

Страницы: 1 ... 11 12 [13] 14