Re: Синтаксический оверхед
От: x-code  
Дата: 23.12.07 20:05
Оценка: :)))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Программа записанная в Си-образном синтаксисе содержит в разы, а не на проценты больше лексем и строчек кода чем это реально необходимо. Спрашивается, и как долго этот синтаксис еще будет существовать?


Я надеюсь, что еще очнеь долго

Сишный синтаксис — это лучшее что сейчас есть. Недаром многие распространенные языки — C++, ObjC, Java, C#, JavaScript, PHP, Perl — основаны именно на сишном синтаксисе.
А синтаксис Паскаль-Ада слишком громоздкий. Это же додуматься надо: вместо {} писать begin end! синтаксический оверхед уже здесь 400% (8 символов вместо двух, а если учесть что перед и после begin/end нужно ставить пробелы, то и вовсе 600% )

далее: скобки для аргументов операторов — просто замечательная идея! например, сравним
if(x) f(x)
if x then f(x) end

подсчитайте символы — оверхед 200%
но даже это не главное: скобки выделяют аргумент логически. Воспринимать такой код гораздо проще.

Есть конечно некоторые мелкие недостатки, но они вполне устранимы, и, возможно, когда-нибудь в очередном си-подобном языке их и устранят (кстати, в Scala и Nemerle уже многое устранили)
В частности, можно улучшить определение функций: вместо
int func(int x, int y)

использовать
def func(int x, y):int

это существенно облегчит парсинг и динамическую поддержку различных Class Viewer'ов, особенно если в языке есть вложенные функции, и создаст единообразие в определении объектов всех видов (ключевое слово — имя — декларативное описание)
Еще в С++ следовало бы упростить синтаксис шаблонов, убрать template и использовать обычные скобки
class Array(typename T, int size)
{
};
Array(char,100) m_list;

в продвинутых языках кстати так и делают.
А в остальном сишный синтаксис вполне даже идеален

ЗЫ: наверняка все это уже отвечали, читать тему не стал, ибо это нереально
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.