Comments 37
А где, собственно, реализация?
PS Предложения могут состоять из более, чем нескольких слов. Ато читая текст создаётся ощущение, что он написан для несмышленных, что немного напрягает. Моё личное имхо.
Вообще то грань между кодом и данными достаточно эфемерна. Л
Некоторая реализация Goto переходов в иллюстрации Forth языка с сайта проекта rosettacode.org :)
P.S. Какие то решённые примеры и на MUMPS есть на данном сайте.
Удачный язык программирования может существенно продвинуть всю ИТ отрасль.
Ключевое слово — удачный. Оснований считать ваш язык удачным пока нет.
(особенно учитывая насколько недружелюбна соответствующая репа на гитхабе)
Удачным пока этот язык считаю как минимум я
Это неудивительно.
Остальные не имели счастья с ним познакомиться.
Что тоже неудивительно, учитывая, как вы пишете материалы об этом языке.
Поэтому я и написал эту статью.
Из которой все так же не понятно ни какие преимущества предоставляет этот язык, ни как он выглядит, ни как им пользоваться. Проще говоря, как не было понятно, зачем он и какая от него польза, так и не понятно.
Статья не является описанием языка.
Тогда к чему фраза "поэтому я и написал эту статью"?
Там есть и пример кода и пример приложения,
Ну я вот поискал и не нашел.
ХЗ, ничего не понял, если честно.
Выглядит весьма ужасно.
Команды языка выглядят стандартно, мало отличаются от других языков.
Начнем с того, что в многих других языках (по крайней мере, во многих, которые знаю я) команд нет вообще. Так что говорить, что в вашем языке команды выглядят стандартно — это смелое заявление.
Но если ваши "команды" — это то, с чего начинается каждая строчка, то… Do
и Set
, серьезно? Это просто мусор, "современные языки" способны отличить вызов функции или присвоение по синтаксису, "команды" для этого не нужны. K
и S
? Вас клавиатура бьет током за каждый символ?
Понимаете, я считаю, что код, который приведен по ссылке ужасен, потому что он (а) избыточен и (б) практически нечитаем.
Например в Си команды switch, goto, for, while, do while.
Это не команды, это то, что по-английски называется statements, а по-русски — оператор.
Они вас не напрягают?
Неа. Удивительным образом, даже в C для присвоения или вызова функции не нужно ключевое слово.
В MUMPS системах на команды добавлен дополнительный функционал в виде условия выполнения этой команды
Вообще-то, операторы ветвления есть в большей части современных языков. А в Boo (Ruby, Perl, и не думаю, что этот список полон) есть и модификаторы.
Как видим, ни "команды", ни даже отдельные ключевые слова для присвоения или вызова функции для этого не нужны.
Так что это далеко не мусор.
С точки зрения чтения? Мусор.
Вопрос читаемости спорный и очень индивидуальный.
Ну так я и написал: я считаю. Другое дело, что если таких "я" достаточно много, ваш язык сложно считать удачным.
Как бы команды не назывались, это не меняет сути дела.
Конечно, не меняет: фраза "мало отличаются от других языков" как была необоснована, так и осталась.
Чем модификаторы лучше решения в MUMPS не понимаю.
Читаемостью.
Наличие команд не является проблемой.
Проблемой является ужасный код. А "команды", и вообще ваш синтаксис — это одна из причин этого.
Я уже о нем писал статьи на Habr.
Я взялся за разработку своего языка не для удовлетворения собственных амбиций
Я считаю что удачного языка программирования нет.
Я пробовал размещать всю логику программы в данных.
Не проще ли попробовать попробовать сравнить с существующими решениями и парадигмами языков программирования и написать статью в этом ракурсе, без всяких этих Я?
А, то например, кто то считает и язык блоковых схем Дракон открытием в применении для IT специалистов, вне рассмотрения рамок его подходящего применения.
P.S. Неужели Вам охота ловить минусы в карму при публикации очередной своей статьи может и при рациональных мыслях при разработке своего языка?
Например автор языка Factor при переходе к его разработкe от практики использования Java ясно описал своё видение почему.
P.S. В Ваших публикациях только одна статья имеет положительный рейтинг.
Не пробовали понять почему?
Когда человек пишет часто Я, не подтверждая это значимой кому-то информацией (может и субъективной, но в сравнении с каким то своим описанным частным опытом), то это признак, что корона для головы немного великовата, не зная даже сколько Вам лет в текущем состоянии. :)
И, да этот пост некоторый троллинг для того, чтобы расширить зону восприятия внутреннего Я вашего Эго.
Простите за грубость, а почему вы решили, что ваше мнение людям интересно?
Людям интересны они, а не вы. Так что стоило бы посмотреть на людей (не на себя) и рассказать, какую пользу ваш язык принесёт им. Допустим, веб-девелоперу (отдельно бэкэнду, отдельно фронтэнду). Или программисту встраиваемых систем. Или разработчику игр (там может быть несколько разных областей и языков в рамках одной игры). Или… В общем, взяли бы какой-нибудь продукт и показали, как с вашим языком будет лучше. Ну или в процессе написания поняли бы, что лучше не будет, и стали бы искать другую нишу. У MUMPS-то своя ниша была.
Ну и с реализацией вы не ознакомили. Впрочем, реализовать язык – не адски сложная задача, теория сейчас хорошо проработана.
Насчет реализации уже написал. Реализация конечно не адская задача, но довольно сложная и теория мало помогает. С идеологией языка намного сложнее. Обычно дальше вариаций на тему Си никто не идет.
"Обычно дальше вариаций на тему Си никто не идет" – Lisp? ML с диалектами? Haskell?
Я вообще несколько удивлён, что вы, говоря про язык с размытой границей между данными и кодом, не сослались на Lisp, как на классику таких языков. Более того: в нём основная структура данных (список) фактически является двоичным деревом (состоит из узлов с двумя указателями CAR и CDR). И реализуется он изумительно просто.
Не менее интересен Хаскель. Тут полноценный компилятор реально сложен, но основы-то (ленивое вычисление) достаточно просты и уже дают возможности для всяких смешных трюков типа того, что if – обычная функция, а не специальная конструкция языка. Ну и есть готовые примеры реализации подобного лямбда-исчисления, только упрощённые до предела.
Обычно дальше вариаций на тему Си никто не идет.
Вы, я так понимаю, про функциональные языки ничего не слышали?
Это как раз и называется "а на современные языки мы смотреть не будем". Я-то из поста подумал, вы хотите сделать удачный язык...
Чтобы язык был удачным, для каждой такой конструкции должно быть обоснование за пределами "это себя зарекомендовало в моем любимом языке" (потому что, как вы уже написали, этот язык почему-то не получил широкого распространения), и аргументированный выбор между такой конструкцией и ее альтернативами.
Реализация интерпретатора MSH