URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 35856
[ Назад ]

Исходное сообщение
"OpenNews: Визуальное сравнение грамматики Ruby с Java, JavaScript, Python и Си."

Отправлено opennews , 29-Окт-06 01:38 
Nick Sieger,  воспользовавшись пакетами ANTLRWorks (http://www.antlr.org/works/index.html) и GraphViz (http://www.graphviz.org/), создал
визуальную модель (http://blog.nicksieger.com/articles/2006/10/27/visualization...) грамматики языка Ruby, для сравнения проделав туже операцию для языков Java (http://flickr.com/photos/nicksieger/280662707/), JavaScript (http://flickr.com/photos/nicksieger/280662871/), Cи (http://flickr.com/photos/nicksieger/281055530/) и Python (http://flickr.com/photos/nicksieger/281055485/).

URL: http://blog.nicksieger.com/articles/2006/10/27/visualization...
Новость: http://www.opennet.me/opennews/art.shtml?num=8641


Содержание

Сообщения в этом обсуждении
"Визуальное сравнение грамматики Ruby с Java, JavaScript, Python и Си."
Отправлено Алексей , 29-Окт-06 01:38 
Жалко для С++ не проделал. :)))

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Python и Си."
Отправлено voyt , 29-Окт-06 01:52 
Нифига не видно.

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Python и Си."
Отправлено CR , 29-Окт-06 02:41 
Очень познавательные картинки, жаль только, что цифр рядом нет -- число узлов, число связей, диаметр графа было бы интересно узнать.

Видно, что си -- самый простой в смысле грамматики язык, питон от него не сильно отстаёт.  А вот у руби уже раза в два больше узлов, и зависимости переплетены нипадеццки.  Жабаскрипт сравним по сложности с руби, но как-то более структурирован, ну а жаба давит своей монументальностью.

Теперь понятно, что меня всегда раздражало в руби ;)


"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено gvy , 29-Окт-06 15:21 
> Теперь понятно, что меня всегда раздражало в руби ;)
Гм, а что, интересно?  Поскольку из комментария о "структурированности" JS похоже, что Вы восприняли картинки как-то художественно (мне вот колбасы почти не связанных нод больше подсказывают насчёт этажерок из костылей, которые при написании надо держать в голове и выстраивать в нужном порядке -- и которых в руби действительно немного).

Правда, сам ни разу не являюсь знатоком языков и тем более парсеров/трансляторов, просто от ruby первый раз за много лет возникло сильное положительное ощущение "это можно давать детям".  Наверное, впервые после Modula-2, на которой когда-то изрядно написано, и в яркую противоположность C++ и Java, от попыток посмотреть на которые мою слабую крышу начинало попросту срывать.

В питоне раздражает слепливание семантики с синтаксисом, но как бы "не нравится -- не ешь", вот и забросил. ;)


"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено pavlinux , 29-Окт-06 17:58 
Ассемблер был бы такой этажеркой где каждая полочка соединена со всеми остальными и сама с собой. (только чистый, без фишки сall @function)

  


"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено bakake , 30-Окт-06 09:26 
Мда, поймать бы того гада который дал модулу тем детям которые повзрослев написали cvsup... И по рукам, по рукам.

"modula-"
Отправлено gvy , 01-Ноя-06 13:09 
>Мда, поймать бы того гада который дал модулу тем детям которые повзрослев
>написали cvsup... И по рукам, по рукам.
Не нравится -- не пользуйте? (да и вроде ж другие дети, повзрослев, переписали его)

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено nuclight , 25-Мрт-08 09:09 
А чем вам не нравится cvsup? Стабильное, выверенное годами приложение, реализующее весь нужный функционал и кучу разнообразных проверок на ошибки при очень небольшом размере в скомпиленном виде - и ему за годы не потребовалось что-то исправлять. А csup (попытка переписывания нс Си) чуть ша г в сторону, валится в корку (проверки на ошибки, ага), и реализует не весь функционал.

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено northbear , 30-Окт-06 11:36 
Хех... Вы похоже не правильно поняли семантический смысл сих картинок. Например, цепочка примитивов без ответвлений означает, что эта цепочка семантически избыточна и ее можно заменить одним словом. Большее число связей означает бОльшую гибкость языка, т.е. при за счет ограниченного числа ключевых слов можно передать большее число семантических конструкций.
Проведите аналогию с обычным языком. Если в классическом русском языке число значений слов меньше и соответственно сочетаемость с другими словами тоже ограничена. А обычный бытовой русский значительно гибче, число значений некоторых слов очутимо больше. Ну и сочетаемость... Весь юмор в русском языке на этом построен.

Понятно что во всем должна быть "золотая середина". Можно представить и сравнить как выглядит подобная картина для perl'а и как бы выглядела она же для Forth или какого-нибудь Logo.

Как говорится почувствуйте разницу...

А вообще занятно... Хотелось бы по другим языкам глянуть и сравнить.


"Визуальное сравнение грамматики Ruby с Java, JavaScript, Python и Си."
Отправлено бОПОЙН , 29-Окт-06 12:38 
А что же перла--то и C++ нет?

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено CR , 29-Окт-06 13:11 
Вычислительной мощности не хватило :)

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено northbear , 30-Окт-06 11:41 
>А что же перла--то и C++ нет?

Ну мне кажется для С++ все должно быть довольно простенько. Там ключевых слов по сравнению с другими языками относительно немного, остальное все библиотеки.

А вот perl, это должно быть, что-то...


"Визуальное сравнение грамматики Ruby с Java, JavaScript, Pyt..."
Отправлено mman , 01-Ноя-06 01:18 
"Only perl can parse Perl" (c) Он BNF не описывается.

"Визуальное сравнение грамматики Ruby с Java, JavaScript, Python и Си."
Отправлено Аноним , 06-Ноя-06 13:38 
Эти картинки ничего полезного не дают - ну связи, ну овальчики... Привыкнуть можно к любому синтаксису, были бы библиотеки.