Как стать автором
Обновить

Комментарии 9

Ох, всё-таки какая же жесть нечитаемая этот ваш Rust. Код на нём очень больно выглядит.


А если серьёзно, то простенький стековый интерпретатор SQL SELECT почти на любом языке укладывается в те же самые считанные сотни строк, если заюзать ANTLR, Bison, или любой другой подобный генератор для лексера/парсера. Не совсем понятно, зачем писать его с нуля. Искусства ради? Почему не использовать готовый инструмент?

Ох, всё-таки какая же жесть нечитаемая этот ваш Rust. Код на нём очень больно выглядит.

Со стандартным форматированием было бы чуть покрасивее.
На первый взгляд синтаксис Rust кажется "инопланетным", но если немного привыкнуть, не страшнее C++.


Не совсем понятно, зачем писать его с нуля.

Сегодня может быть проще реализовать парсер средствами языка, чем использовать традиционные инструменты. Использование комбинаторных парсеров требует примерно того же количества кода, что и какой-нибудь ANTLR, но процесс сборки проще, но вместе с тем производительность может быть хуже (опыт со scala parser combinators).

Про синтаксис Rust я вообще-то иронично заметил, но, видимо, слишком тонко. Не поняли. Видимо, мало кто уже помнит, как в былые годы писали на перле (я тоже писал), вот уж где было реально фиг распарсишь...


А вот что касается парсеров — да, можно. Но нужно ли? А если действительно нужно, то почему бы не поддержать тогда грамматику ANTLR, которая давно привычна?

Так и комбинаторные парсеры уже давно привычны.

В реальном проекте может и есть смысл использовать специализированный инструмент. А так мне просто понравилось, что в Rust можно сделать парсер как в функциональном языке. К тому же написать его нужно один раз, а потом можно только правила грамматики менять.

«Просто понравилось» — это очень слабый аргумент.


Нет, чтобы поиграться-то нормально. Тут я не спорю, всегда интересно сделать очередной троллейбус из новой буханки. Но, как только проект становится сколько-нибудь «реальным» (а иногда это происходит неожиданно), поддержка подобных самоделок превращается в не менее реальную головную боль. Особенно, если ей приходится заниматься кому-то кроме непосредственного автора.


Промышленные инструменты на то и промышленные, что по ним есть база знаний, накопленная сообществом, и всегда есть кого спросить на стековерфлоу.

Интересно было бы побольше узнать про язык Q. Если Rust выглядит пусть непривычно, но более-менее понятно (про него достаточно информации, в т.ч. статей на Хабре), то Q это вообще темная лошадка.
Вот, пожалуйста, Q for Mortals: code.kx.com/q4m3

Программист на Fortran Q может написать программу на Fortran Q на любом языке.


И да, почему вы используете скрщн с вкдвнм глснх? Это нисколечко не прибавляет в читабельности.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий