Re: Reply to your entry...honeymanAugust 22 2010, 15:19:46 UTC
Посмотри ещё на J за компанию. Поймёшь, насколько бессмысленно хоть как-нибудь стандартизировать синтаксис у разных языков, при том что и там и там синтаксисы интересные, удобные, и фактически совершенно противоположные :)
Re: Reply to your entry...honeymanAugust 22 2010, 16:02:11 UTC
> Я, как минимум, говорю о каких-то стандартных вещах, общих для всех языков - я же это описал в записи.
А их нет. В одних языках есть списки и словари на уровне примитивов языка - в других нет. В одних языках есть явная типизация - в других нет. В одних языках есть переменные - в других нет. В одних языках есть последовательность действий - в других нет. В одних языках архитектура фон Неймана поддерживается на уровне языка - в других нет.
Неоднозначности вообще вещь такая, что лучше ими не баловаться. Например, в любой книжке по языку есть раздел по приоритетам выполнения команд. Мне всегда было скучно это. Я лучше поставлю скобку для ручного расставления приоритета. Поэтому эти разделы просто уже устарели.
Та ж фигня. Что интересно, в последних ревизиях стандарта C++ простановка скобок является обязательной, иначе выводятся предупреждения. То есть приоритеты всё ещё работают, но с -Werror код уже не компилируется. По-моему, это огромный шаг в сторону повышения читаемости и надёжности кода.
Comments 14
Важна семантика. А синтаксис может быть каким угодно абсолютно, лишь бы его хватало для синтаксиса.
А наиболее красивый синтаксис из всех языков - у Хаскелла (из которого всякие джаваскрипты и питоны понемножку воруют фенечки, одну за другой).
Reply
Reply
Reply
Останется один язык.
Reply
А лисп вы как в этот синтаксис впихнёте?
Ну и вообще, если на то пошло, разница в синтаксисе - наименьшее из зол. Тот же JavaScript, хоть и похож по синтаксису на Java - но в нём же даже классов по сути нет: http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 , он вообще ближе к Perl (ибо основан на хэш-таблицах)
Reply
Всё остальное, что затрагивает логику, нужно тоже офомлять в рамках стандарта.
Причём тут классы вообще? У js есть прототипы, которык стандартно пишутся через точку - object.prototype.print
Конечно, могли укуриться умудриться бы ввести запись типа object#p@print
Понимаете?
Разговор об этом.
(-:
ps. perl вообще не упоминайте, это тихий ужас, который я терпеть не могу. и слава богу, что он прошёл мимо меня, как и всякая мура типа c# и т.п.
Reply
А их нет. В одних языках есть списки и словари на уровне примитивов языка - в других нет. В одних языках есть явная типизация - в других нет. В одних языках есть переменные - в других нет. В одних языках есть последовательность действий - в других нет. В одних языках архитектура фон Неймана поддерживается на уровне языка - в других нет.
Reply
Reply
Та ж фигня. Что интересно, в последних ревизиях стандарта C++ простановка скобок является обязательной, иначе выводятся предупреждения. То есть приоритеты всё ещё работают, но с -Werror код уже не компилируется. По-моему, это огромный шаг в сторону повышения читаемости и надёжности кода.
Reply
Reply
Leave a comment