Про синтаксис языков программирования

Aug 22, 2010 17:52

Прочитал про скорость языков php, python, groovy, ruby.
---------------------
Read more... Про синтаксис языков программирования originally appeared on Eugene Ivanov website on 22 Aug 2010

criticism, design, programming

Leave a comment

Comments 14

honeyman August 22 2010, 14:58:04 UTC
Синтаксис не важен абсолютно.

Важна семантика. А синтаксис может быть каким угодно абсолютно, лишь бы его хватало для синтаксиса.

А наиболее красивый синтаксис из всех языков - у Хаскелла (из которого всякие джаваскрипты и питоны понемножку воруют фенечки, одну за другой).

Reply

Re: Reply to your entry... eugene_ivanov August 22 2010, 15:04:40 UTC
Нуна будет посмотреть на этот Хаскел, спасибо за мыслю.

Reply

Re: Reply to your entry... honeyman August 22 2010, 15:19:46 UTC
Посмотри ещё на J за компанию. Поймёшь, насколько бессмысленно хоть как-нибудь стандартизировать синтаксис у разных языков, при том что и там и там синтаксисы интересные, удобные, и фактически совершенно противоположные :)

Reply

Re: Reply to your entry... eugene_ivanov August 22 2010, 15:22:02 UTC
Мысль моя вообще к другому идёт. Почитай последний абзац.
Останется один язык.

Reply


aamonster August 22 2010, 15:10:03 UTC
(ехидно)
А лисп вы как в этот синтаксис впихнёте?

Ну и вообще, если на то пошло, разница в синтаксисе - наименьшее из зол. Тот же 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

Re: Reply to your entry... eugene_ivanov August 22 2010, 15:20:32 UTC
Я, как минимум, говорю о каких-то стандартных вещах, общих для всех языков - я же это описал в записи.

Всё остальное, что затрагивает логику, нужно тоже офомлять в рамках стандарта.

Причём тут классы вообще? У js есть прототипы, которык стандартно пишутся через точку - object.prototype.print

Конечно, могли укуриться умудриться бы ввести запись типа object#p@print

Понимаете?

Разговор об этом.

(-:

ps. perl вообще не упоминайте, это тихий ужас, который я терпеть не могу. и слава богу, что он прошёл мимо меня, как и всякая мура типа c# и т.п.

Reply

Re: Reply to your entry... honeyman August 22 2010, 16:02:11 UTC
> Я, как минимум, говорю о каких-то стандартных вещах, общих для всех языков - я же это описал в записи.

А их нет. В одних языках есть списки и словари на уровне примитивов языка - в других нет. В одних языках есть явная типизация - в других нет. В одних языках есть переменные - в других нет. В одних языках есть последовательность действий - в других нет. В одних языках архитектура фон Неймана поддерживается на уровне языка - в других нет.

Reply

Re: Reply to your entry... eugene_ivanov August 22 2010, 16:03:55 UTC
Угу.

Reply


dnovikoff August 22 2010, 23:12:43 UTC
Неоднозначности вообще вещь такая, что лучше ими не баловаться. Например, в любой книжке по языку есть раздел по приоритетам выполнения команд. Мне всегда было скучно это. Я лучше поставлю скобку для ручного расставления приоритета. Поэтому эти разделы просто уже устарели.

Та ж фигня. Что интересно, в последних ревизиях стандарта C++ простановка скобок является обязательной, иначе выводятся предупреждения. То есть приоритеты всё ещё работают, но с -Werror код уже не компилируется. По-моему, это огромный шаг в сторону повышения читаемости и надёжности кода.

Reply

Re: Reply to your entry... eugene_ivanov August 23 2010, 05:37:42 UTC
(-:

Reply


Leave a comment

Up