Форум программистов, компьютерный форум, киберфорум
Другие языки программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5

Разработка языков программирования

13.06.2017, 14:10. Показов 1154. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане. С недавнего времени меня заинтересовала разработка компиляторов и создание языков программирования в чисто академических (т. е. учебных) целях для расширения своего кругозора и повышения профессионального уровня. Пришел сюда к вам за советом: Какой материал посоветуете к прочтению и изучению и что можно реализовать в качестве первого "языка"? С программированием, как таковым, знаком, сейчас изучаю C для рабочих нужд.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.06.2017, 14:10
Ответы с готовыми решениями:

Перечислите все плюсы и минусы языков программирования Perl и PHP
Что может написать программист на Perl и чего не сможет написать программист на PHP

4 и 5 поколения языков программирования
Где можно найти информацию о названии темы. 3 страницы гугла с вышеприведенным тезисом изучено. Так же интересует ваше видение языков...

Сколько языков программирования в кс 1.6 ?
Сколько языков программирования было использовано для создания игры кс 1.6 ? больше трёх ?

10
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,984
Записей в блоге: 32
13.06.2017, 16:51
Смущает только одно слово:
Цитата Сообщение от aekuznecov Посмотреть сообщение
компиляторов
Вы хотите компилировать в куда? В ассемблер, как взрослые? Подо все целевые платформы, число которых легион? Или в байт-кот какой-нибудь виртуальной машины, что уже более здраво? Существующей (ЖВМ, БЕАМ и т.п.) или собственной пока не написанной? Или в какой-нибудь целевой язык типа С, из которого потом сишным компилятором лепить экзешники подо все целевые платформы из пункта выше? Или в жаву/паскаль/лисп?

Или вы все-таки написали это не подумав? И вас интересует не компиляция, а интерпретация?

ЗЫ все будут советовать уйму книг по сабжу, начиная с Книги дракона, и прочее море подобного. Но я посоветую СИКП / Лисп ин смалл пиесез, и написать известно что Хотя, можете начать с чего попроще, типа Бэйсика.
1
Модератор
 Аватар для Curry
5153 / 3446 / 536
Регистрация: 01.06.2013
Сообщений: 7,504
Записей в блоге: 9
13.06.2017, 17:22
Цитата Сообщение от aekuznecov Посмотреть сообщение
С программированием, как таковым, знаком, сейчас изучаю C для рабочих нужд.
В смысле, до этого ни на каких языках не писали и знали что такое программирование "в общем"? Тогда советую изучИть его и набраться немножко опыта.
Но, если очень хочется, то тут много ссылок.
1
 Аватар для aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
13.06.2017, 18:22  [ТС]
_Ivana, планируется, конечно, компиляция в какую-нибудь VM (JVM или Эрланговскую) и попробовать просто в asm (для развлечения) и, конечно же, хотелось пощупать и интерпретацию поэтому книжек пусть советуют много

Добавлено через 49 секунд
KolodeznyDiver, писал до этого на Delphi/C#/Java, но из-за смены профиля работы теперь изучаю C
0
199 / 102 / 4
Регистрация: 16.08.2015
Сообщений: 209
08.07.2017, 11:33
Видимо, Ivana не только безграмотен, но и не совсем здоров, раз он помнит про мой проект в течение столь длительного времени и без устали распространяет клевету. Это очень глупо, поскольку враньё Ivana очень легко доказывается. Я пишу транслятор с нового языка в Common Lisp. Например, вот здесь находится старая версия лексера

https://bitbucket.org/budden/y... ew-default

А вот фрагменты парсера:

https://bitbucket.org/budden/y... ew-default

То, что в качестве бек-энда используется Common Lisp, я никогда не скрывал. Но ведь есть Eiffel, который в большинстве случаев является транслятором и генерирует Си. Да и среди реализаций Common Lisp есть GCL, который реализован в виде транслятора.

То есть - либо невежество, либо нездоровье, либо враждебность ещё по каким-то причинам. Я надеюсь, администрация данного форума услышит мою жалобу, как это бывало и раньше, и сотрёт указанное мной сообщение с клеветой.

Добавлено через 1 минуту
О, я вижу, что клевету уже стёрли. Спасибо!

Добавлено через 43 минуты
В наше время, как правило, не создают,а дорабатывают.

Т.е., если хотите стать востребованным профессионалом, нужно научиться не создавать с нуля, а подхватывать и продолжать. Жаль, все острова в океане уже открыты и (почти) все программы по одному - два раза уже написаны. В такое время мы живём и здесь у нас нет выбора.

Возможно, захотите присоединиться к моему проекту. Если нет - вот задачка, которая может оказаться интересной:

Вот есть транслятор с JavaScript в Common Lisp https://github.com/akapav/js . Для меня он хорош тем, что позволяет использовать библиотеки под джаваскрипт, не испольузя сам джаваскрипт. Например, я использую библиотеку на джаваскрипт для обработки маркдаун - ей я генерирую документацию к Яру.

Соответственно, задачи две:

1. Более-менее простая:
Сделать, чтобы язык генерировал побольше именованных функций и поменьше анонимных лямбд. Лямбды довольно неудобно отлаживать. Может быть, удастся даже сделать файловый транслятор, который из файла на джаваскрипте генерирует файл на лиспе - в таком виде отлаживать полученный код гораздо удобнее.

2. Добавить в него последние новшества, введёные в javascript (ECMASCRIPT 2016)

Заодно посмотрите, как он устроен. Например, всем создателям языков обычно слёту рекомендуют lex и yacc, но в реальных промышленно используемых языках они применяются далеко не всегда. Есть такая красивая методика, как pratt parser, в данном трансляторе применена некая разновидность этой техники.

Вот статейка на эту тему, на базе которой я написал нынешний парсер выражений для Яра:
http://journal.stuffwithstuff.... made-easy/

Если и это не подходит, вот вам совсем взрослая задача за взрослые деньги. https://github.com/flightaware/Tcl-bounties

tcl/tk - тоже очень интересный с концептуальной точки зрения язык, хотя за правила подстановки строк я его не люблю.
Но по возможностям метапрограммирования он оставляет позади и common lisp.
1
08.07.2017, 12:44

Не по теме:

Опять, как и в холиварах, всё скатыватся к лспу. Отписываюсь.

0
09.07.2017, 19:18

Не по теме:

KolodeznyDiver, ты бы к психотерапевту обратился, пока не поздно, у тебя явно какая-то одержимость лиспом.

0
09.07.2017, 23:31

Не по теме:

korvin_, не к психотерапевту, а к психиатору (психотерапевт лечит соматические болезни через психику - Кашпировский) , я к нему регулярно хожу (к психиатору, а не Кашпировскому). Это он мне насоветовал каяццо. Нифига не помогло. Несмотря на это, данные там обещания я соблюдать буду. Раз уж дал.
А вы сами, тоже, не заостряйте внимание на этом. Я же не вдавался в подробности. Просто констатировал факт.

0
10.07.2017, 00:53

Не по теме:

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
психотерапевт лечит соматические болезни через психику - Кашпировский
Нет. Кашпировский тут совершенно не при чём.

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
я к нему регулярно хожу (к психиатору, а не Кашпировскому)
Психиатор лечит клинических больных с тяжёлыми психическими заболеваниями.

0
 Аватар для aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
19.07.2017, 10:09  [ТС]
budden, а можете в личку описать Ваш проект? за идею с JS спасибо, я в нем не силен, но, думаю, было бы неплохо самому с ним познакомиться как и с CL.
0
199 / 102 / 4
Регистрация: 16.08.2015
Сообщений: 209
19.07.2017, 22:22
aekuznecov, я могу и не в личку, у меня тут есть тема про этот проект, а описание есть на сайте проекта:

https://bitbucket.org/budden/yar

Если незнакомы с JS, то и не надо знакомиться - есть и другие задачи. Сейчас вообще самое главное - найти нишу, где язык будет востребован, при этом чтобы можно было выйти на поле боя в лёгкой амуниции. У Яра есть два или три преимущества: он русскоязычный, у него под капотом очень мощная платформа CL и у него гораздо более простой синтаксис, чем у CL. Т.е. потенциально ниша должна найтись. Но другие языки уже давно захватили территорию и закрепились, поэтому предстоит нелёгкая борьба.

Кроме того, до полноценного релиза ещё довольно далеко.

На дальнейшие вопросы лучше всего отвечу в теме, посвящённой Языку.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.07.2017, 22:22
Помогаю со студенческими работами здесь

С++ 4 и 5 поколение языков программирования
Является ли С++ языком 4 поколения? Пятое поколение определяет судьбу программистов С++ в позитивную или негативную сторону?

Теория языков программирования
Всех приветствую. Пожалуйста, порекомендуйте книги или ресурсы на которых можно почитать о Теории языков программирования. В...

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

Сравнение Языков Программирования
Доброго времени суток, Уважаемые Форумчане! Я учусь в БГУИР (Минск) на факультете непрерывного и дистанционного обучения, кафедра ПОИТ(2...

Последовательность изучения языков программирования
Добрый день! Я начала изучение программирования с абсолютного 0, и начала все это дело с js. Полагаю, это было ошибкой. Так в какой же...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru