Среда, 23 Август 2006
Языки которые должен знать «настоящий программист»
Собрался и написал (не без помощи jsv, Guybrush, aleksey) то, что должен знать «настоящий программист». Все выше сказанное мой честный бред, который был вызван оным предложением от Луговского, если кого-то обидел, вы сами прочитали :) А что касается строгой градации, языки в скобках были приведены, что бы вы могли хотя бы сравнить что вы знаете уже, а что нет, все деления условны.
- Низкоуровневые императивные регистровые (включая почти все ассемблеры и Си с Паскалями)
- Низкоуровневые императивные стековые (ПМК, HP-45)
- Стековые макроязыки (семейство Форта)
- Dataflow (пролог)
- Конечные автоматы (всякие там flex-ы с bison-ами сюда же попадают)
- Подстановочные (Tcl, Javascript, Awk, perl, python, lua, …)
- Обработка списков (все родственники лиспа)
- Макроязыки (могут относиться к любой другой семантике из перечисленны)
- Комбинаторные (unlambda)
- Функциональные строгие не типизированные (R, Mathematica, Erlang, …)
- Функциональные строгие типизированные (ML)
- Функциональные ленивые не типизированные
- Функциональные ленивые типизированные (Haskell, Clean)
- Языки логики предикатов первого порядка (Пролог, Дейталог, Make, …)
- Языки логик высших порядков (HOL)
- Языки нечёткой логики, байессовские языки (FCL)
- Не типизированные декларативные языки обработки графов (XSLT)
- Типизированные декларативные графовые языки (CDuce)
- Языки описания структур данных (часть SQL, DTD, XML Schema, …)
- Языки запросов (часть SQL, XQuery, XPath)
- Чистый ООП языки (smalltalk, self)
- Параллельный язык программирования (occam + что угодно выше)
- goal-directed (snobol, icon, unicon)
- языки массивов (apl, j, q)
- Всякая эзотерика (brainfuck, malbolge и прочее прочее, чем сильнее удивление от внешнего вида программы (кода) тем лучше)
Комментарии
а теперь надо это дело развить списком литературы. для начала можно посоветовать Advanced programming languages design by Finkel
Готов оказать помощь?
К чистым ОО языкам неплохо бы Self добавить — он действительно Ъ ОО.
Спасибо!
Форма комментирования для «Языки которые должен знать «настоящий программист»»
Я бы еще Rewriting Logic добавил — OBJ или Maude. На последней например метасредствами люди зависимые типы реализуют - http://formal.cs.uiuc.edu/stehr/occ.html
О, спасибо. Пойду курить.
Товарищ Nick её ковырял — http://nivanych.livejournal.com/21001.html Из литиратуры рекомендуется http://books.google.com/books?id=oe3QKzhFEBAC&printsec=frontcover&dq=Term+Rewriting+Systems&sig=ACfU3U0PBAp0JFYmbQJDHiThCXziYL4JNg В свободном доступе пока не нашёл…