Стоит ли разрабатывать новый язык програмирования?

Стоит ли разрабатывать новый язык програмирования?

Собственно уже не раз задавался себе вопросом о избыточности

и излишней универсализации существующих решений…

Дело в том что оптимальных решений в области компиляторов

и языков програмирования на сегоднешний день НЕТ.

И вот почему:

— оптимизация под конкретную архитектуру процесора (CPU иль GPU) вещь довольно абстрактная и решается совсем не опытными системами и даже не эвристикой а простым ДКА (if...then) из-за возможных больших нагрузок. Это, казалось бы, решение довольно логичное и оптимальное, но с приходом облаков, кластеров и прочих паралельных плюшек можно было бы найти какое-то «более быстрое» комплексное решение, и оно таки есть… только кому надо придумывать велосипеды с турбонадувом?

— человек решает проблемы абстракции приложений в большинстве случаев императивным

«чёрным ящиком» и пачкой шаблонов (в идеале 2-3), так появляются на свет шаблоно-зомби, и прочие недопроджекты. «0_о я открыл для себя мир erlang'a» — сказал Юра. «А нам пофиг.» — сказала team'a.

И так уже было со мною не раз — в одном случае ООП в другом функционал… в третьем brainfuck и сайт на fasm'e. кому какое дело?.. всем пофиг — «лишь бы работало» никто не задумывается о скорости и эфемерной «оптимальности». Так вот я скажу что у людей слишком много свободы! Абстракция на то и абстракция что бы сказать this is a ball. а вот что внутри пускай решает сам язык, если нужен метан — будет метан, если нужно серебро будет серебро.

— 0_о нам всем нравится STL он такой мягкий и пушистый… в нём столько много плюшек =)

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

Она может быть избыточна?,- да что же ты несёшь… работает вот и хорошо, пускай даже медленно…

но ведь работает. И так каждый день… люди часто стараются решать задачу вычисления оптимальности алгоритмов для конечной реализации, но почти всех и всегда ждёт полный epic fail.

Как говорил дядя Кнут: «Низкоуровневая оптимизация — корень всех проблем.»

И тут тоже у людей слишком много свободы…


СОбственно о чём это я?.. а мораль довольно проста:

существующие решения являются отчасти комплексными но ввиду апаратных нагрузок ключевые моменты обобщены и «универсализированы» что ведёт к потери «оптимальности» выходной продукции.

То есть Универсальные решения не могут быть оптимальными, лишь комплексные…

А огромной проблемой в наше время является именно оптимизация, не важно под что многоядерность, многопоточность, распределение нагрузок, низкоуровневая…

Пускай у нас для этого будет такой себе эфемерный торрент-компилятор аля СкайНет.

Нас не волнует ни апаратное время, ни объём памяти.

Нам нужен компилятор «без компромисов» и парадигм времён і386.

Собственно ПО никогда не блестало производительностью — а апаратная платформа уже далеко впереди.

Вот собственно и всё, думаю причины «упадка компиляторовединья» всем понятны.


Интересует стандартный вопрос: «а стоит ли овчинка выделки?»

Я занялся разработкой подобного «чуда», пока (к сожелению) за 1.5 года идеально отточена мат. часть.

Просто не хочу повторять google wave.

Не хочу быть кем-то купленым.

Хочу найти единомышлеников.

P.S. Зарание прошу прощения за возможно допущеные ошибки — русский не мой нативный язык.

Также прошу прощения за излишнюю сумбурность изложения.

Надеюсь на ваше понимание… Просто «это всё» уже на порядок достало.
  • Вопрос задан
  • 3167 просмотров
Пригласить эксперта
Ответы на вопрос 16
Old_Chroft
@Old_Chroft
Прошу прощения…
При чтении комментариев перед глазами все ярче разгорается кровавая звезда с логотипа BolgenOS.
Ответ написан
@Christmas
Если вы хотите разрабатывать для собственного удовольствия — стоит однозначно.
Если вы думаете, что ваша разработка решит целый пласт абстрактно описанных проблем и станет нужной везде — забейте. Не будет такого.
Ответ написан
egavrin
@egavrin
А можно посмотреть что-то конкретное по языку? Статьи ваши почитать, посты в блогах и тд?
Ответ написан
Lamo
@Lamo
Бля, чувак, ты под чем? Я много чего пробовал, но что б так крыло… Зависть-зависть-зависть.
Ответ написан
Q2W
@Q2W
Сформулируйте цели проекта, задачи, которые решит новый язык, более явно. Вплоть до формальной подробной формулировки.
Как только у Вас это получится, должно прийти понимание, нужно ли оно, и сколько стоит овчинка, а сколько выделка.
Ответ написан
ooprizrakoo
@ooprizrakoo
Можно писать программы на языке, заточенном под одну-единственную железку, и она будет работать быстрее, чем программы на «универсальных» компьютерах. Но что бы использовать возможности железа на 100%, надо под каждую железку писать свою программу на своем языке программирования.

Другой подход — то о чем вы писали, «универсальность». Палка о двух концах. Требования рынка диктуют потребности в быстрой разработке софта — так появляются всякие высокоуровневые языки программирования. А ведь когда-то чистый Си считался непозволительно «раздутым» по сравнению с тем же асмом. Но «рынок» сказал — «нам нужно чтоб работало здесь и сейчас, и что бы специалисты могли легко осваивать новые языки, и писать софт под наше железо». Производительностью пришлось пожертвовать — это называется «компромисс».

Резюмируя, и отвечая на ваш вопрос: если вы хотите потренироваться в разработке оригинальных технологий, научиться наступать на грабли, и замечать их издали в будущем — создавайте свой собственный ЯП.
Ответ написан
dotneter
@dotneter
Конечно стоит, у вас вся жизнь впереди, будет потом над чем посмеяться что вспомнить.
Вообще, вам бы на rsdn в философию, к более целевой аудитории.
Ответ написан
Bambr
@Bambr
Если Вы задаете себе этот вопрос — ответ нет :)
+понравился вариант ответа от Christmas
Ответ написан
@2Lebedev
Чем новый язык будет отличатся от известных? Какие задачи он будет решать, каковы выгоды его использования? Вот, на что разработчику следует ответить перед созданием детища.
Ответ написан
vit1251
@vit1251
Software Engineer
ИМХО, создавать нужно язык только в том случае если вы имеете отношение к железу…

Ассеммблер писать в том случае если вы создатель своего процессора…

А писать высокоуровневые языки вроде LISP, ADA, PASCAL. Только с целью обучения студентов или как хобби(Python).

P.S. Попробуйте подумать о мире как о рождающим предложения спросом мире… И вопрос о необходимости языков программирования отпадет сам собой…
Ответ написан
AxisPod
@AxisPod
Думаю это утопия. Если придерживаться поговорки — Каждый программист должен написать свой язык программирования, то может и стоит, для удовлетворения своих порывов. А вот в качестве серъезного языка программирования думаю не стоит, это колосальный труд и одному, даже небольшой командой будет очень сложно довести до конца, а еще потом и поддерживать. Если же делать опенсорсный проект, то лишь бы не получилось как со всякими PHP, когда вышел релиз 5.2.0, в котором была убита передача параметров в функции по ссылкам.
Ответ написан
javax
@javax
Software Architect, Java Developer since 1996
Время программистов стоит дороже железа. Поэтому оптимизируют время написания (легче писать, существующие библиотеки) чем время исполнения ( всякие оптимизации).
По этому параметру лучше существующие языки (уже известные программистам), чем новые (которые надо учить)
Ответ написан
izen
@izen
Ух как тебя вставило! ты это поосторожней с дозировкой всяких голюциногенов!
Ответ написан
@tenshi
пролог наносит ответный удар \(*о*)/
Ответ написан
pentarh
@pentarh
По ходу, языками нынче мир пестрит не хуже вавилонской башни. Напишите лучше новый процессор.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы