metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-01-22 09:30 pm

Языки программирования? По барабану.

По мотивам срачей с ребе айседом на тему "LISP/Clojure vs Java vs C++ vs Ruby vs Haskell" запишу свои тезисы, чтобы не забыть:

0) Выбор языка программирования - по сараю. Код никто не пишет. 90% работы - это общение с клиентами, писание требований, документирование, объяснение клиентам, почему их требования не имеют смысла, где взять готовый продукт, делающий нужное, и прочая и прочая.
Ход мысли не программиста-фанатика, мыслящего категориями "как и на чем писать", а категориямии руководителя-менеджера "зачем писать, какие ресурсы использовать для этого, какая будет прибыль и какие дальнейшие прибыли или убытки это за собой потянет".

1) Язык программирования не должен мешать программированию и не отправлять стричь яка. Т.е. если мне для реализации проекта внезапно оказывается необходимым общаться лично с автором виндового рунтайма хаскеля - извините, в продакшен непригодно.

2) Основная проблема - это не собственно выполнение работы (по моему, если не лезть в реализацию совсем уж новых концепций программирования, типа "а теперь мы сделаем хаскель, на котором можно писать низкоуровневые драйвера", то все мыслимое и немыслимое уже придумано и сделано, достаточно разобраться, склеить и скомпилировать), а заставить себя взяться за эту работу. Если язык при этом лезет под ноги всяким тупизмом, т.е. в 2012 году ВНЕЗАПНО не работает "искаропки" - отправляется в утиль.

Есть только одно неприятное следствие вышеуказанного: если так думать, заниматься "личными" проектами становится крайне затруднительно. Прибыли от них нет, приобретенное умение программировать уже НЕ НУЖНО, сделать что-то действительно новое и полезное - 90% будет не код, а анализ рынка, реклама, общение с коллегами, клиентами, заказчиками, опен-сорсным комьюнити и прочая.
А писать в стол всякое уныние, коего готового 100500 вариантов - нет вообще никаких стимулов.

Последнее время эта тема напрягает, т.к. я привык постоянно заниматься какими-то "интересными проектами", но постепенно требования к ним в силу моего перфекционизма переросли порог "можно сделать в свободное время не напрягаясь".

[identity profile] permea-kra.livejournal.com 2012-01-23 02:13 pm (UTC)(link)
hackage.haskell.org там и си и много чего еще.

[identity profile] gineer.livejournal.com 2012-01-23 03:26 pm (UTC)(link)
спасибо

[identity profile] gineer.livejournal.com 2012-01-23 03:55 pm (UTC)(link)
Compiler

feldspar-compiler library and program: Compiler for the Feldspar language
flite library and programs: f-lite compiler, interpreter and libraries
gf library and program: Grammatical Framework
hcc program: A toy C compiler.
hgom program: An haskell port of the java version of gom
hs2bf program: Haskell to Brainfuck compiler
KiCS library and programs: A compiler from Curry to Haskell
lhc programs: LHC Haskell Compiler
optimusprime program: A supercompiler for f-lite
statechart program: Compiles Rhapsody statecharts to C.
supero program: A Supercompiler
tiger program: Tiger Compiler of Universiteit Utrecht


Это вы так шутите?
Или издеваетесь? :(

[identity profile] thedeemon.livejournal.com 2012-01-23 04:30 pm (UTC)(link)
Как минимум на Хаскеле написаны компиляторы Agda и Epigram - это нынче передний край в теории языков программирования, языки с зависимыми типами. Агда должна быть на hackage.

[identity profile] permea-kra.livejournal.com 2012-01-23 05:19 pm (UTC)(link)
Она там есть.

[identity profile] cp-poster.livejournal.com 2012-01-24 07:43 am (UTC)(link)
Ещё Idris в тот же край. (наверное, не счупал ничего из этой тройки)

[identity profile] permea-kra.livejournal.com 2012-01-23 05:18 pm (UTC)(link)
+ Compiler/Interpreter + Language (partitial)

[identity profile] permea-kra.livejournal.com 2012-01-23 05:19 pm (UTC)(link)
+ Dependent Types