Стоит ли разрабатывать новый язык програмирования?
Стоит ли разрабатывать новый язык програмирования?
Собственно уже не раз задавался себе вопросом о избыточности
и излишней универсализации существующих решений…
Дело в том что оптимальных решений в области компиляторов
и языков програмирования на сегоднешний день НЕТ.
И вот почему:
— оптимизация под конкретную архитектуру процесора (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. Зарание прошу прощения за возможно допущеные ошибки — русский не мой нативный язык.
Также прошу прощения за излишнюю сумбурность изложения.
Надеюсь на ваше понимание… Просто «это всё» уже на порядок достало.
Не публикую ибо не зачем. «Професиональное мнение» мне не нужно, ибо будут одни холивары.
Тем более что у меня есть несколько «своих» технологий полиморфной компиляции, о которых смысла рассказывать всем и всея нет.