Комментарии 16
Какое учебное заведение, если не секрет?
Люди пишут такие дипллмы за то время, что у меня уходит на банальную вёрстку какого-нибудь типового интернет-магазина. Моё увожение. Чувствую себя бездарностью. Хочу уйти в парикмахеры, но там весь день на ногах — тяжело.
Я DSL напишу, особо не напрягаясь, а интернет-магазин в жизни не сверстаю.
У каждого свои таланты, однако.
Мне даже сама аббревиатура сложна для понимания. А верстать при желании научитесь за полгода, гарантирую. Может, без вникания в тонкости, но для интернет-магазина хватит.
Я понимаю, что у всех разныве навыки, но такие навыки, как тут в статье, кажется, для меня в принципе закрыты. Я в своё время не успел этому научиться и теперь это всё равно, что электродинамика. Когда-то я зазубрил принципы и формулы, сдал зачёт, но так и не начал понимать, что там происходит. То есть "рассмотрим напряжённость магнитного поля на границе цилиндра, напишем для этого дивергенцию ротора вектора через оператор набла…", тут мозг уже отказывается воспринимать звук как осмысленную информацию. Вот здесь так же — "учёные люди говорят на своём учёном о чём-то потустороннем".
Мне даже сама аббревиатура сложна для понимания.
Domain-Specific Language. Т.е., язык, специфический для данного применения (и специально под него сделанный). Достаточно популярный такой паттерн из эпохи, когда люди еще сами ходили на мамонта писали программы, но сейчас, в эпоху повсеместного одичания, постепенно забываемый.
учёные люди говорят на своём учёном о чём-то потустороннем
:-)
За заумными словами часто кроются вполне простые и вполне постижимые идеи.
Скажите, а почему из ваших двух статей, в одной Вы говорите о себе в мужском роде, в другой - в женском?
Увы, в нём не было научной новизны
Зачем в бакалаврской работе научная новизна?
Тема грамматик очень широка и интересна. Можно написать свой собственный язык с помощью antlr и javacc (в своё время плотно интересовалась этой темой).
Но вот вопрос: некоторые синтаксические особенности kotlin позволяют делать полноценные dsl - посмотрите, к примеру, kotlinx html или kotlinx.css, которые позволяют писать на таких разных языках как html и css в синтаксисе, напрминающим json, строить и обрабатывать сложные структуры, и особенно часто применяется в gradle - так чисто практически (если не ставить задачу использовать именно описанные в статье инструменты) хватило бы воспользоваться этим и не так сильно заморачиваться. А плагин ksp позволяет легко делать ещё больше магии - проект koin тому яркий пример.
Так, используя исключительно kotlin можно написать полноценное fullstack-приложение (ktor+koin на сервере, react (и остальные библиотеки из kotlin wrappers) или fritz2 для фронта), или, например, расширение для chrome/firefox. Ещё можно посмотреть в сторону jetpack compose или kvision, а с помощью ktx - писать кроссплатформенные (android,ios,windows,linux,html) приложения и игрушки libgdx.
И при этом всё выглядит стройно и красиво, особенно в сравнении с java со всеми её историческими костылями.
Как я писала DSL