Форум программистов, компьютерный форум, киберфорум
Наши страницы
Другие языки программирования
Войти
Регистрация
Восстановить пароль
 
 
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
#1

Язык программирования Яр - Программирование

24.01.2016, 21:58. Просмотров 3742. Ответов 147
Метки нет (Все метки)

Разрабатываю полностью русскоязычный язык программирования для профессионального применения (не учебный).

Основные достоинства:
- можно переопределять функции и классы на ходу
http://www.cyberforum.ru/other-lang/thread17416.html
- при этом компиляция в нативный код (не байт-код, не JIT)
- удобный синтаксис
- совместно разрабатывается язык, IDE, система сборки и инструменты для рефакторинга

Сайт

Загрузка транслятора (Windows) с частью исходных текстов. Полные исходные тексты пока не открываю - рано ещё. Также потребуется загрузить среду разработки (инструкции на сайте).

Пример программы (работающий)

Хочу получить от вас обратную связь вот по этим трём документам:
библиотеки

модули

пространства-имён

Которые я всё время переписываю и вроде бы они наконец стали на что-то похожи. Или я просто ещё не заметил какие-то очередные проблемы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2016, 21:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Язык программирования Яр (Программирование):

Символьный язык программирования
Символьный язык программирования. Преамбула. В этом маленьком...

Определить язык программирования
:umnik: #!/usr/bin/env python # -*- coding: utf-8 -*- def Cord ( char )...

Язык программирования simit
Стоит ли начинать учить не так давно разработанный язык simit? Есть ли для...

Новый язык программирования
я изобрел самый лучший язык программирования и самый простой program SAMPLE...

Язык программирования GRASS
У кого-нибуть есть информация по этому языку программирования? Поисковые...

147
Luke0208
32 / 57 / 6
Регистрация: 22.01.2017
Сообщений: 637
31.07.2017, 21:31 #21
Где учился писать компиляторы?
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
01.08.2017, 20:51  [ТС] #22
Мне не надо писать компилятор (пока что). Речь пока идёт только о трансляции, это можно делать "не приходя в сознание", достаточно только распарсить и смоделировать некие структуры данных (пр-ва имён, модули и т.п.). Всю диагностику ошибок я пока взваливаю на реализацию лиспа, которая обрабатывает порождённый мной код.

В целом нигде не учился - подсматривал, как сделаны другие компиляторы. Но пока мои знания об оптимизации близки к нулю.
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
03.08.2017, 21:52  [ТС] #23
Есть некоторые новости: заработал новый транслятор (теперь Яр снова работает, чего не было уже много месяцев), в некоторых местах работает статическая типизация, есть именованные параметры, раскраска синтаксиса, переход к определению функции, переделан пошаговый отладчик, ошибки компиляции показываются в тексте Яра. Вроде мелочи и раньше я показывал больше результатов. Однако вложено чертовски много труда. И самое главное, очень сложно сделать нормальный редактор - было уже несколько попыток, но результат пока всё ещё далёк от желаемого.

Пример функции и её вызова (синтаксис сильно поменялся и явно будет меняться ещё):
1C
1
2
3
4
5
6
опр функ Ф1(А -- целое, ключи, Б = 5) 
тело 
  А Г— Б
кно
 
л-печать(Ф1(2)) // напечатает 10
Добавлено через 1 минуту
Ха... уже второй форум не может понять мой знак умножения ×
0
Luke0208
32 / 57 / 6
Регистрация: 22.01.2017
Сообщений: 637
04.08.2017, 17:12 #24
То ли дело непривычки, но синтаксис на русском - очень тяжело разбирать.
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
05.08.2017, 11:18  [ТС] #25
Любой новый синтаксис тяжело разбирать, а на русском - особенно. Тем не менее программисты 1С - самые востребованные программисты в России, это доказывает, что русский язык сам по себе не мешает успеху в программировании.

Добавлено через 12 часов 13 минут
Обсуждение возможностей,к-рые планируется добавить в язык в ближайшее время:

https://bitbucket.org/budden/iar/issues/6/quote - цитирование (для случая символа)

https://bitbucket.org/budden/iar/iss...-------------- хеш-таблицы
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
07.08.2017, 13:07  [ТС] #26
Пополнил ответы на часто задаваемые вопросы
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
08.08.2017, 23:27  [ТС] #27
Небольшое видео про новую версию Яра:

https://www.youtube.com/watch?v=KlrLV_3WV8k
0
Dmitriy_M
1410 / 1293 / 124
Регистрация: 20.03.2009
Сообщений: 4,605
Записей в блоге: 11
13.08.2017, 20:18 #28
Цитата Сообщение от budden Посмотреть сообщение
1С - самые востребованные программисты в России
Вот это поворот.
3
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
04.09.2017, 15:49  [ТС] #29
Ну, настало время отчитаться о работе, проделанной за месяц. Вот что добавилось:

- классы (точнее сказать, записи) с одиночным наследованием. Интерфейсов нет (пока не знаю, нужны ли они или нужно множественное наследование). Пока что при переопределении класса его данные уничтожаются. Методов тоже пока что нет.
- REPL, в т.ч. в нём можно (пере)определять функции и классы, в т.ч. с изменением сигнатуры
- составной оператор, оператор цикла. У цикла и составного оператора может быть имя
- оператор "вернуть-из" - выход из именованного блока с возвратом значений
- цитаты, пока не "квази", и толком годятся только для символов (а в будущем, наверное, будет примерно как в ScalaMeta)
- окна возникают в определённых местах (раньше выскакивали где попало), можно их подвинуть и сохранить новое положение

Релиз не выкладываю, видео не буду записывать: все новшества слишком сырые.

Ещё один результат, не являющийся разработкой: промерял скорость работы записей.
При всех оптимизациях получается ~60% от скорости Си. Хотя в Си более умный оптимизатор и во многих случаях разница будет больше.

Если реализовать множественное наследование, то получится 5 раз медленнее, что неприятно. Также неприятны "дыры" в выводе типов лиспа, работаем над патчами к компилятору.

Но прогресс за месяц неплохой. Пример кода:
Код
опр класс Предок ()
поля
  П1
  П2
кно

опр класс Потомок (Предок) поля П3 кно

опр функ Тест7 ()
тело
  пусть б -- Потомок = родись-Потомок(П1 = 1, П2 = цит(АБВ), П3 = 3)
  зап б.П3 = б.П1 + б.П3
  л-список(б.П1,б.П2,б.П3)
кно

л-печать(Тест7())
// напечатает (1 абв 4)
0
FateOri
139 / 139 / 38
Регистрация: 06.01.2017
Сообщений: 1,875
Завершенные тесты: 2
04.09.2017, 21:16 #30
оно реально круто конечно но только зачем? жалко ваших усилий
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
06.09.2017, 14:29  [ТС] #31
Зачем? Вот табличка с новыми языками программирования. Я предлагаю тебе обратиться в эти организации с вопросом "зачем", а потом, когда они ответят, написать сюда. Когда будешь у них спрашивать, не забудь их тоже пожалеть.
0
Миниатюры
Язык программирования Яр  
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
06.09.2017, 16:05  [ТС] #32
Кстати, я забыл, что в табличку нужно добавить ещё и Kotlin от JetBrains, 2011-2017. Можешь у JetBrains тоже пожалеть.
0
FateOri
139 / 139 / 38
Регистрация: 06.01.2017
Сообщений: 1,875
Завершенные тесты: 2
06.09.2017, 16:57 #33
Цитата Сообщение от budden Посмотреть сообщение
Зачем? Вот табличка с новыми языками программирования. Я предлагаю тебе обратиться в эти организации с вопросом "зачем", а потом, когда они ответят, написать сюда. Когда будешь у них спрашивать, не забудь их тоже пожалеть.
то есть вы себя сравниваете с гуглом и джетами?))) ничего себе
где о вас почитать можно?
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
06.09.2017, 18:35  [ТС] #34
Я могу задать уточняющий вопрос: что вы имели в виду вот этой репликой:
оно реально круто конечно но только зачем? жалко ваших усилий
По какой именно причине вам жалко моих усилий, можно поинтересоваться? Также позвольте спросить, вы действительно интересуетесь "зачем", или это просто фигура речи?
0
Luke0208
32 / 57 / 6
Регистрация: 22.01.2017
Сообщений: 637
06.09.2017, 18:58 #35
А никто не сравнивал себя с гуглом. Он привел список новых бессмысленных языков. Пока что его язык выглядит интереснее.
1
Dmitriy_M
1410 / 1293 / 124
Регистрация: 20.03.2009
Сообщений: 4,605
Записей в блоге: 11
06.09.2017, 19:04 #36
Цитата Сообщение от Luke0208 Посмотреть сообщение
Он привел список новых бессмысленных языков
Каждый из тех языков решают определенный круг задач.
1
Luke0208
32 / 57 / 6
Регистрация: 22.01.2017
Сообщений: 637
06.09.2017, 19:13 #37
Назовите хоть одну вещь, с которым Common Lisp, C++, Java не справляются, или те, которыми новыми бессмыслеными языками решается лучше.
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
06.09.2017, 19:21  [ТС] #38
Dmitriy_M, мы могли бы двигаться последовательно. Вы сначала намекнули, что я манипулирую со статистикой, а потом сами привели недостоверную статистику. Я подробно разобрался в вопросе и привёл доказательства вашей неправоты. Думаю, будет этично, если вы признаете свою ошибку. Ошибаться может каждый, но мужественным поступком является признание ошибки, а не тихий слив.

Насчёт языков - да, перечисленные мной языки решают круг задач. Раз такие крупные организации, способные хорошо планировать, создают свои новые языки, из этого следует, что они проанализировали существующие и остались недовольны. А раз версии выпускаются по сей день, значит, процесс создания новых языков не завершён. Т.е. сам по себе вопрос создания новых ЯП актуален.
0
FateOri
139 / 139 / 38
Регистрация: 06.01.2017
Сообщений: 1,875
Завершенные тесты: 2
06.09.2017, 21:05 #39
Цитата Сообщение от Luke0208 Посмотреть сообщение
А никто не сравнивал себя с гуглом. Он привел список новых бессмысленных языков. Пока что его язык выглядит интереснее.
)) ну разработчики го котлинов растов свифтов елихиров и те де получают хорошую з.п. и они востребованы на рынке (кто -то меньше кто-то больше но все же) так что не так уж и бессмысленно, да.

Цитата Сообщение от budden Посмотреть сообщение
По какой именно причине вам жалко моих усилий, можно поинтересоваться?
ну вы же написали что проект не учебный то есть будь это учебная разработка то я бы ничего не сказал а так свой язык не пишит только ленивый. Но чтобы он реально где-то использовался нужна поддержка со стороны идеально если крупная корпорация. Есть вот языки чисто для внутренного потребления но не похоже что это ваш случай. Думаю что сейчас раскрутить язык особенно столько специфический (то есть явно ориентированный только на русскоязычных специалистов) проблематично. Да 1С популярен и даже очень но там есть явная узкая специализация я в ваш проект толком не вникнал но чего то подобного не увидел

Цитата Сообщение от budden Посмотреть сообщение
Также позвольте спросить, вы действительно интересуетесь "зачем", или это просто фигура речи?
действительно интересуюсь - попыток создать свой язык программирования очень много но вот заканчиваются они толком ничем, но вы не забросили дело даже спустя несколько лет (если правильно понял когда вы начали заниматься разработкой)
0
Luke0208
32 / 57 / 6
Регистрация: 22.01.2017
Сообщений: 637
06.09.2017, 21:14 #40
Разроботка не бесполезна, т.к. она требует специалистов? Отличный аргумент. Если бы это был аргумент, а вы назвали существенный признак понятия "разроботка"
0
06.09.2017, 21:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2017, 21:14
Привет! Вот еще темы с решениями:

Язык программирования Pike
Пайк (англ. Pike — «щука») — динамический интерпретируемый...

Icon язык программирования
кто знает, где скачать учебник по icon на русском?

Что за язык программирования?
что за язык программирования > restart:with(networks): >...

Новый язык программирования SPL
Всем привет! Я сейчас делаю новый язык программирования, называется SPL...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru