Есть много разных классификаций языков программирования. Появилась она и у меня.
Шахтёрские. У этих языков нет громкой миссии «Спасти Мир и Челочество (или Мир от Человечества)», они не претендуют на то, чтобы быть самыми модными, и уже забыли о том, чтобы быть «дружелюбными к новичку», они не обязательно красивы, элеганты или изящны. У них только одно назначение – решать задачи и проблемы в своей области, и служить средством добычи зарплаты для их практикующих. Пример – PHP и Java.
Скачать программы для развития.
Дзенские. Практикующие эти языки преследуют своей целью просветление. Освобождение от шаблонов и оков проявленного мира программирования, соцерзание истинной природы бытия и осознание своей природы будды. Примеры – C, Ассемблер и Forth.
Мессианские. Адепты этих языков претендуют на то, что у них миссия от божественных сил спасти программирующее человечество от заблуждений, грехов и ошибок в коде. Когда-то таким языком был Java, провозгласивший одной из заповедей нового культа греховность беззнаковых целых чисел и святость объектной ориентации, но со временем стал настолько опрофанел, что превратился в один из инструментов кодеров-шахтёров.
Как и в случае с обычными религиями на одного искреннего мессию приходится толпа шарлатанов. Распознать их легко: неотъемлимым свойством языка, где есть святость, является гомоиконность. Святой язык — это гомоиконный язык. Если же вам будет проповедовать о блаженстве гетероиконных языков — гоните еретиков прочь! Когда Бог говорил с людьми, он говорил на Лиспе со вставками ассемблера.
Шаманские. Если предыдущие языки претендуют на связь с Верхним миром, то создатели этих заключают договор с сущностями из Нижнего. Именно этим объясняется то, что C++ способен решить практически любую задачу, но никто не понимает, каким образом это происходит.
Головоломки-ловушки. Вы помните цикл фильмов «Восставшие из ада»? В них главные герои находят коробочку-головоломку, и когда они находят способ, как её открыть, за ними приходят инфернальные сущности и утаскивают в глубины ада. Некоторые считают, что Хаскелл – это что-то вроде такое коробочки. Ведь неслучайно, что его разрабатывают в Microsoft Research.
Хипстерские. Представьте себе язык, в который без особенной системы понатыкали «модных» фич и раскрутили так, что множество хипстеров абсолютно уверены, что он скоро поработит весь мир. «Я тоже на нём программирую», – говорит хипстер, – «ведь в нём есть pattern matching!» Задачей такого языка является создавать «движуху», «тренды», дать возможность почувствовать, что находишься «на краю прогресса», безопасно попробовать функциональное программирование и так далее.
Список категорий, конечно, неполон. Можно вспомнить, например, элегантные (Objective-C) и мифологические (Cobol) языки, но близится вечер и пришло время завершить эту воскресную постиллу.