Re: Синтаксис языка программирования. Критерии
От: S.Yu.Gubanov Россия http://sergey-gubanov.livejournal.com/
Дата: 28.06.04 12:26
Оценка: -1 :))
Здравствуйте, Mystic, Вы писали:

M>Хотелось бы пообсуждать такую тему, как удобство синтаксиса языка программирования. Кроме того, что это дело вкуса и привычки, должны быть какие-то неизменные критерии. Найти такой информации я не смог, что могу предложить навскидку:


M>1) Односимвольные ошибки должны в большинстве случаев приводить к ошибкам компиляции, в крайнем случае, к предупреждениям. Вроде бы понятно, все мы ошибаемся. Если результат опечатки приходится отлавливать в отладчике, это грустно.


M>2) Нагрузка на символы. Нехорошо, когда один и тот же символ в одном и том же блоке может выполнять разную семантическую нагрузку. Это усложняет восприятие программы и может ввести неоднозначности.


M>3) Неоднозначности. Понятно, что лучше, если их нет


M>4) Простота разработки CASE-средств и трансляторов. Пункты 2-4 перекливаются


M>5) Соотношение количества символов/количество букв в тексте. Или, как вариант, соотношения идентификаторы/символьные лексемы Большое количество символов приводит к тому, что текст программы представляется криптологическим изысканием. Малое количество специальных символов приводит к обратному эффекту, когда за словами не видно сути (COBOL).


M>6) Семантическая нагрузка на один символ текста. Перекликается с п. 5.


M>7) Максимум модуля разности между двумя смежными строками. Не совсем приятно, когда одна строка трисимвола, другая шестьдесят. Потом опять три, потом опять шестьдесят. Слишком неровный правый край.


M>8) Длина часто используемых операторов. Чем короче, тем лучше (долгло набирать)


M>Что я пропустил? что бы добавили вы? Ваши предпочтения по указаным пунктам? Приоритеты? Что в синтаксисе какого языка вам больше всего мешало? Что, наоборот, нравилось?



Эта задача уже была решена несколько (10-20) лет назад — идеальный синтаксис уже изобретен. Самая главная фишка заключается в том, что язык должен порождаться контекстно свободной грамматикой (а если это возможно в каких-то простых случаях, то даже регулярной грамматикой). Вот и все.

Смотри http://www.inr.ac.ru/~info21/cpascal/cp_report_1.4_rus.htm
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.