(no subject)
Nov. 24th, 2008 10:01 pmСобственно, возвращаясь к посту про настоящего программиста. Там в комментах
cmike высказал мнение, что Java - это такой нишевый язык.
Я задумался, и понял, что ниши для Java я не представляю. Возможно, сейчас не представляю - потому что уже есть C#.
Посему вопрос: какие задачи могут быть удачнее, чем на каком-либо другом языке, решены на чем-нибудь из списка: Java, Smalltalk, Haskell, Erlang? Меня устроит, если будет какой-то другой язык близкого класса, который это позволит сделать (кроме Java - там я хотел бы видеть четкие преимущества).
Желательно - чтобы с этими задачами было реально столкнуться на не сильно извилистом пути программиста (то есть если, чтобы к такой задаче подступиться, надо 15 лет учиться на микроэлектроника, то пример не канает).
Я задумался, и понял, что ниши для Java я не представляю. Возможно, сейчас не представляю - потому что уже есть C#.
Посему вопрос: какие задачи могут быть удачнее, чем на каком-либо другом языке, решены на чем-нибудь из списка: Java, Smalltalk, Haskell, Erlang? Меня устроит, если будет какой-то другой язык близкого класса, который это позволит сделать (кроме Java - там я хотел бы видеть четкие преимущества).
Желательно - чтобы с этими задачами было реально столкнуться на не сильно извилистом пути программиста (то есть если, чтобы к такой задаче подступиться, надо 15 лет учиться на микроэлектроника, то пример не канает).
no subject
Date: 2008-11-25 11:00 am (UTC)А других вариантов я не вижу. Людей, которые от Хаскелля не шарахаются, недостаточно, чтобы написать весь код, который нужно написать.
no subject
Date: 2008-11-25 11:12 am (UTC)А в целом по обществу есть аж три варианта
1. Вкладываться в разработку инструментальных средств, которые помогут повысить производительность труда каждого, кто "от хаскеля не шарахается" на порядок-другой. Пол Грэм на примере Yahoo Store продеморстрировал, что такое бывает.
2; Учить людей, чтобы таких, которые не шарахаются, было больше.
3. Внимательно подумать, а нужно ли писать весь тот код, который "нужно написать". Ведь идеальная техническая система это когда системы нет, а функция выполняется.
no subject
Date: 2008-11-25 11:24 am (UTC)no subject
Date: 2008-11-25 11:58 am (UTC)no subject
Date: 2008-11-25 12:14 pm (UTC)no subject
Date: 2008-11-25 12:35 pm (UTC)1. Type inference. Вот ты STL любишь с её контейнерами, алгоритмами, темплейтами etc. В Haskell все это на уровне языка и гораздо прямее и логичнее.
2. Монады - более менее математически четкий способ совмещения функционального программирования с реальным миром где есть ввод-вывод и файловые системы. В Erlang порты гораздо кривее сделаны, чем монады в хаскеле.
Про currying я уж молчу. По-моему это такой syntax sugar для замыканий, которых где только нету.