Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Могут ли программисты изобрести что-то принципиально новое для языков программирования?

Изобрести свой язык программирования?
ТехнологииПрограммирование+1
Анонимный вопрос
  ·   · 19,4 K
Веб-разработчик, геймер, специалист по этике  · 3 июн 2022
А насчёт "изобрести свой язык программирования"… давайте я научу вас изобретать языки программирования.
  1. Придумываете грамматику языка, то есть, как он будет выглядеть визуально, напечатанный.
  2. Придумываете семантику языка, то есть, что компьютер должен делать, дойдя до очередного элемента грамматики. На самом деле этот пункт должен быть первым, потому что языки программирования придумывают с определённой целью, для решения конкретных задач конкретным способом, но с обывательской точки зрения нужно начинать с формы, а не с содержания, поэтому я решил подстроиться.
  3. Пишете формальную EBNF для вашего языка. На бумажке. Например: 
выражение = атом  | список
атом      = число | символ    
число     = [+-]?[\p{Number}]+
символ    = [\p{Alpha}][\p{Alpha}\p{Number}].*
список    = '(', выражение*, ')'
  1. Теперь на основании вашей грамматики на бумажке вы пишете скрипт для универсального конструктора парсеров bison. В процессе выполнения этого скрипта бизон вам делает код парсера токенов в узлы AST и заголовочный файл для токенайзера.
  2. Теперь на основании вашей грамматики на бумажке и заголовочного файла для токенайзера вы пишете скрипт для универсального конструктора токенайзеров flex. В процессе выполнения этого скрипта флекс вам делает код токенайзера. 
  3. Теперь, имея токенайзер и парсер, вы дописываете код кодогенератора, который превращает узлы AST от парсера в вызовы LLVM, они будут генерировать код на промежуточном языке LLVM.
  4. Вуаля, вы написали фронтэнд к LLVM для вашего нового языка программирования. Компилируем его и всё, у вас есть компилятор вашего языка для всех платформ, которые поддерживают LLVM. То есть, всех.
  5. Публикуете статью о вашем новом языке на хабре, лоре, в соцсетях, в телеге, делаете сайт-одностраничник со ссылкой на скачивание компилятора.
  6. ???
  7. PROFIT!
Видите? Не пришлось даже читать драконью книгу или учиться пять лет в университете. Вот чувак написал свой язык в качестве упражнения в 2009 году. В самом проекте LLVM есть туториал по созданию своего языка, причём они по хардкору даже сами пишут парсер и токенайзер без flex и bison.
Отбросив иронию в сторону, то, что я хотел сказать - это что создание языков программирования уже давно не чёрная магия, доступная только академии. Теперь это вопрос практической применимости, в 2022 году у нас уже есть готовые промышленные инструменты, документированные принципы, техники для этого. Да даже сами готовые языки программирования на любой вкус. Это уже не достижение — LOLCODE, Ook, Chef, Brainfuck, GolfScript и десятки других эзотерических языков программирования тому доказательство.
Более того, концепция "языка программирования" распространяется не только на языки программирования общего назначения, которые будут компилироваться в машинный код. Среди паттернов проектирования есть паттерн под названием "интерпретатор", он описан ещё в исходной книге банды четырёх, двадцать семь лет назад, я только что перепроверил в своём экземпляре. Концепция, как и книга, под названием Domain-Specific Languages, предметно-зависимые языки, существует уже минимум десятилетие.
"Принципиально новое" в разработке программного обеспечения это уже давно не просто новый язык программирования.
2 эксперта согласны
Пишу код и т.п.  · 23 апр 2022  · itustinov.ru
Периодически возникают смелые проекты: Хаскелл, Эрланг, Perl, Raku. Нельзя отрицать влияние на новые возможности в языках лингвистики, математики, философии, культуры в целом. Нечто по-настоящему новое появляется в результате со... Читать далее
2 эксперта согласны
Пофигист с большим жизненным опытом, обремененный...  · 9 июн 2022
Ваш вопрос в корне неправилен! Он даже не непонятен а именно неправилен. Как минимум в том, что ты должны были нам дать понять, что именно вы вложили в смысл слов «принципиально новое». Программирование - это всегда... Читать далее
2 эксперта согласны
Погромист на C#  · 26 апр 2022
Вопрос не имеет смысла. Пойдём от обратного: допустим, что программисты не могут ничего принципиально нового привнести в индустрию или создать новый ЯП. Если бы это было так, то новые языки не появлялись бы, как и новые подходы... Читать далее
1 эксперт согласен
Очень интересно IT. Программист самоучка  · 25 апр 2022
Естественно. Программист может как минимум разработать новый модуль для языка программирования, который улучшит его. Также программист может работать в команде разработчиков языка и вносить в него изменения, добавлять функции... Читать далее
1 эксперт согласен
Образовательная платформа Хекслет  · 2 мар 2023  · ru.hexlet.io
Да, это вполне вероятно. Языки программирования постоянно развиваются, также появляются новые языки и функциональные возможности. Многие новые языки программирования были созданы программистами, которые вдохновлялись своими... Читать далее
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
военный инженер-математик на пенсии, интересы:...  · 27 апр 2022  · analemma.ru
Когда языки появляются из "чистой идеи", то возникает LISP. В этой области можно ожидать чего-нибудь, танцующего от задач/интерфейса с будущим ИИ.  Когда язык возникает из специфических структур данных, то появляется SQL... Читать далее
Стараюсь жить по истинному времени, поэтому общаюсь в offlineПерейти на analemma.ru
3 эксперта согласны
Михаил Б
подтверждает
29 апр 2022
Верно
SMM/SEO/ Директор маркетинговой компании...  · 26 янв 2023  · taplink.cc/businessb2b
Да, программисты могут придумать что-то принципиально новое для языков программирования. Область языков программирования постоянно развивается, постоянно разрабатываются новые языки и обновления существующих языков. Новые языки... Читать далее
Продвижение бизнеса /SEO/ Создание любых сайтов / Создание сценариев и роликов Перейти на taplink.cc/businessb2b
Инженер путей сообщения – строитель  · 23 апр 2022
Всё принципиально новое в языках программирования, как и сами языки программирования изобретены программистами. Следовательно программисты могут изобрести свой язык программирования и с принципиально новыми идеями. Сам... Читать далее
6 экспертов согласны
Михаил Б
подтверждает
30 апр 2022
Точно
Частный крипто-программист  · 25 янв 2023
Собственно они ежедневно этим и занимаются ежедневно. Что то придумывают новое, чего раньше не было. Языки программирования постоянно развиваются.
1 эксперт согласен