От чего бежать (языки)

Я придумал альтернативную мудаческую схему реальности. Есть академия - пишут "в стол". Есть хипсторы - пишут свистопердящую никому не нужные но красивые игрульки. И промышленные зрелые практики - пишут мейнстрим.
Специальный поощрительный приз достается ретроградам - тем кто хочет попасть в мейнстрим сделав шаг назад и пережевав заново и спрыснув парой нововведений в принципе устаревшие концепции.
- | Академия | Хипсторы | Мейнстрим | Ретрограды |
---|---|---|---|---|
Прошлое | ML, Coq, ACL2 | CL, Ruby, R | Сobol, Perl, Ada, C, C++ | Scheme, VB6/.Net, PHP, Java, ObjC, D |
Настоящее | GHC | Node, Scala, Erlang | C++, Python, JS, Java, PHP | С99, Go, Rust, Swift, Dart |
Будущее | F*, Z3, Lean | Purs, Jupyter, Polly | C++/OpenCL/OpenAcc, C#, Python, JS, TS |
Тут надо комментировать каждую клетку
Академия прошлого - почётная клетка, занятая кондовыми зрелыми инструментами, у которых нет иного будущего кроме как оставаться кондовыми зрелыми инструментами пока не придумают что-то лучше. Реально унылое говно, но это всё, чего может дать академия работающего. В значительной степени "французская" клетка имени Инрии.
Хипсторы прошлого - CL это совсем далёкое прошлое, Ruby полупрошлое а R вот недавно. Имхо всё же R уступит своё место Питону. А там, где у питона кишка тонка - R уступит место всяким Julia under Jupyter. Джулии нет нигде в табличке, поскольку я вижу её, как чуть более прогрессивную и менее убогую сестру R, Питона и Матлаба.
Мейнстрим прошлого - тут только заведомый мейнстрим не столь далёкого прошлого. Языки упорядочены по моему пониманию степени ужаса программиста, столкнувшегося с соответствующим лигаси.
Ретрограды прошлого - ретрограды, с которыми всё ясно. PHP и Java успешно выполнили ретроградскую миссию и попали в мейнстрим, VB6 умер но VB.Net поддерживается в коме, ObjC если б не монополия/диктаторство Эппл тоже бы умер.
Академия настоящего - тут академия у которой есть шанс попасть на место Инрии в будущем. Я к сожалению мало знаком с академией, которая с одной стороны достаточно прогрессивна, а с другой стороны - работоспособна. Но GHC этому условию удовлетворяет. В отличие от всяких говноидрисов и прочих попыток избежать написания ленивого редуктора. Думаю GHC к 12 версии превратится в унылое но уже совершенно рабочее и зрелое говно.
Хипсторы настоящего - со Скалой проще всего. Если унылые энтерпрайзники жабошарпопитоновые собрались и решили писать стартап во имя блага всех существ - будут писать на Скале пить дать. Эрланг это для лиспорубепохапепитонистов решивших выпендриться. Нода достаточно забавна поскольку по сути лингва франка и не пишет на ней только ленивый лжавист или сишарпник. Для тех же плюсовиков скажем libuv подарок судьбы. Как в конце 1990-х на С++ разве что сайты не писали. Имхо всё из этой клетки просто со временем перекочует в "хипсторы прошлого". СL вот тоже достаточно хорош и хипстотен, но у него нет яркого будущего. Как и у ноды.
Мейнстрим настоящего - тут всё понятно, только нет Рубей, Р и С#. C# в мейнстриме по всем параметрам, но юные веб-падаваны не в курсе того что винда нужна и считают C# маргинальным, хоть он в первых строчках как не считай. Но МС продавливает его на линукс как Сан продавливала джаву куда только можно, и я считаю продавит.
Ретрограды настоящего - все на слуху (кроме может Dart и Swift). C99 отдельная категория. Это мейнстрим, но с ретроградским уклоном, и его адептов можно разделить на 3 категории: рокет саентисты, показывающие зиллионы попугаев там где конкуренты гордятся что у них овер 8000 или на самодельной гармонике играющие лучше чем иные на покупной, жертвы (например эмбедщики у которых просто вендор не написал кроме С ничего другого) и ебанаты (там как GNU-сексуалисты, так и школота жизни не видевшая, олд скул юникс вейщики, и просто упоротые - в общем в сортах специалистом не являюсь). Раст, свифт - можно сказать продолжатели своих соседей этажом выше (D и ObjC). Dart, Go - унылые высеры а ля PHP/нода но got traction.
Будущее лучше в обратном порядке описывать. Я вот не знаю что будет логическим продолжением ретроградской колонки. Ждём пока текущие начнут обсираться и будут предложены новые на их место. Я болею за C99 (может станет гошечкой), Go (может станет си для дебилохипсторов) и Rust (может присоединится к С++ в упоротых конторах, неупоротые говорят что в принципе юзабельно уже сейчас или через год будет).
Джава останется мейнстримом, но превратится в глазах общественности в унылый мейнстрим типа похапе сейчас. Т.е. станет "мейнстримом прошлого". Её место займет C#, в который будут вливать не рандомно-базарные фичи JSR а всякие няшки из ресёрча типа монад компрехеншонов Linq. Ну и под линухом МС запилит с JVM оракловской вряд ли победу - но уверенную ничью. А то и JetBrains купит - на такие кинжалы в спину МС горазда.
Python таки заборет R и Ruby, особенно в свете истерии machine learning. JS станет подобием чистых сей для ебанатов, а TS подобием C++ для промышленных зрелых видавших жизнь практиков с детьми которые будут юзать дремучее и уебищное админподмножество (заметьте и тут длинная рука MS).
Академия - вы не поверите, снова проклятые авторы ОС которой никто 10 лет в глаза не видел по мнению школоты и юниксофагоы, если не задали общее направление - то имеют достаточно типичных представителей направлений в своем портфолио.
Lean - в целом направление MLTT-пруверов с уклоном в HoTT
Z3 - направление ультрафинитных слабых логик и арифметик, типа битовых векторов SMT-LIB, я вижу очень перспективным. Долой мракобесие натуральных чисел и Тьюринг-полноты!
F* - направление gradual semi-automatic verification, гибрид модел-чекера, refinement typing, наколенного стат. анализатора и предыдущих двух направлений в рассчёте на экспорт в Бангалор.
|
</> |