ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
30 апреля
1393432 Топик полностью
Adept (16.01.2024 05:27 - 17.01.2024 00:03, просмотров: 165) ответил Evgeny_CD на Импортозамещение, которое мы потеряли: советские языки программирования и их создатели
мне одному показалось, что практически все советские языки, как под кальку повторяли процедурные вроде Алгола (в упрощённом варианте, - Паскаля) разница между ними - непринципиальная, ну в некоторых возможностях специфических процедур и функций, а так-то те же яйца. На самом деле направлений в программировании и языках не так много. Мне видятся вот такие примерно вехи и ориентиры (очерёдность и хронология возможно немного другие, но я старался соблюсти временной ряд 

:))

1) МАШИННЫЕ КОДЫ/АССЕМБЛЕРЫ - ну тут всё понятно без комментариев, - самый низкий и наиболее близкий к железу уровень

2) МАКРОАССЕМБЛЕРЫ С ПРЕПРОЦЕССОРАМИ - по эффективности - ассемблер. но по простоте работы уже ЯВУ практически (ну почти :)) к тому же с полноценными инструментариями библиотекарей и линкёров (в чём-то перекликаются с продвинутыми ассемблерами из п.1)

3) АЛГОЛ - наверное первый серьёзный процедурный язык структурного программирования, прародитель "паскалеподобной" группы

4) ФОРТРАН - первый массовый, ориентированный на математику и вычисления (де-факто стандарт научный вычислений с несметным множеством готовых научных библиотек)

5) БЭЙСИК - самый массовый интерпретирующий язык со множеством достоинств и недостатков с ограничениями, в первых версиях и в последующем доросшим по возможностям до "взрослых" языков, но в силу интерпретирующего характера работы, обладающий непревзойдённой простотой осваивания и интерактивностью.

6) ПАСКАЛЬ - вершина процедурных языков по изяществу, красоте и простоте (клевещут, что упрощённая версия Алгола :))

7) ФОРТ - красивая ветка, "самомодифицируемого" языка не получившая должного развития, органичный симбиоз интерпретаторов и компиляторов, с огромными возможностями написания компактного простого в понимании и высокоэффективного кода, с ориентацией на системы управления, и даже реализованный в железе в виде ФОРТ-процессоров, но, требующий "абстракции мышления определённой, отличной кардинально общепринятой от процедурных языков для" :)) К сожалению незаслуженно забыт, но возможно получит "второе дыхание" с развитием робототехники и систем ИИ.

8) ПРОЛОГ - язык ориентированный на описание логических алгоритмов абстрактной обработки данных, и диалогового взаимодействия с пользователем

9) ЛИСП - язык оперирующий лексемами и ориентированный на обработку текстовых данных, списков и данных представленных списками. Не очень успешная попытка, реализации наряду с ПРОЛОГом, экспертных систем и систем ИИ (возможно не весь потенциал был раскрыт в те дремучие 80-е годы, когда язык начинал свой путь и аппаратура была хилее на много порядков :)

10) АДА - вершина классических процедурных языков (возможно где-то с ним поспорит МОДУЛА-2/3) по возможностям в написании сложных и надёжных программ - попытка создать единый максимально стандартизованный язык для всего (на самом деле богатый и сложный язык, имеющий хороший потенциал реализации и многопоточности, несмотря на почтенный возраст, заложивший основы ООП, возможно не утративший актуальности и потенциала и сейчас, но в силу сложности, наверное, и засилья фреймворков, практически мёртвый) На самом деле, может и не стоит выделять на фоне "Паскаля", который был мегапопулярен, но правда значительно уступал и в реальных возможностях и в потенциале, да и был немного в другой нише применения - в основном для обучения и некоторых коммерческих программ, в то время, как АДА позиционировался, как серьёзый язык с большими возможностями, для ответственных применений.

11) СИ - странное скрещение "ужа и ежа", т.е. возможностей языков низкого и высокого уровней, а так же препроцессор, позволяющие писать эффективный, и не очень запутанный код (расширения типа "плюсов", "шарпов" и прочего - не рассматриваем. Мегапопулярен, почему-то, вероятно ввиду эффективности получаемого кода и наличия огромного количества трансляторов под практически все платформы, включая микроконтроллеры :)) Довольно успешно реализовал парадигму юникса - одно действие - одна программа, т.е. всё в нём - функции (читай "программы") - де факто входной язык *nix - ОС и язык написания ОС и драйверов (правда то было раньше, сейчас превалирует скриптовый говнокодинг с использованием разных фреймворков, т.к. железо позволяет вообще не заморачиваться написанием эффективного кода :((

12) JAVA/JS - попытка создания универсального межплатформенного языка, а так же очередного симбиоза интерпретатора (скрипты) и компилятора

13) ДРАКОН - оригинальный графический язык описания алгоритмов


ну как-то так, - то, что видится мне более значимым, с индивидуальными особенностями. Тех же классических компиляторов процедурных языков - "как собак нерезаных", да и скриптовых - изрядно, но все - как близнецы-братья, за исключением мелких отличий. Отдельно не выделил прикладные диалекты вроде всяких матлабов, писпайсов, "куд", разных OpenGL/AL/AI и т.п., языков управления аппаратурой и вёрстки, к примеру HPGL, PostScript, языков описания аппаратуры VHDL/VERILOG, а так же пакетных скриптовых языков ОС, вроде "баша" и прочего такого, не являющихся самостоятельным языками, в общем-то. ООП так же практически не коснулся.

немного подумав исключил из общего списка и HTML/XML - язык разметки и вёрстки текстовых страниц и структурированных форм передачи и обработки текстовой информации и данных представленных в виде текста и тэгов, а так же всякие dBase/SQL и прочие языки СУБД - как понятно из названия - эффективное управление базами данных. Это всё прикладное больше. А в списке оставил более-менее универсальные и фундаментальные языки, оставившие определённый след в истории :))


P.S. Вообще не претендую на полноту, - "так вижу", хорошо, если кто-то структурирует и дополнит со знанием дела (ну чисто так, для пользы дела), и выложит здесь как тайные ценные знания :))

...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)