(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-24 10:54 pm (UTC)Говорят, на хаскелле очень удобно писать парсеры, а на эрланге - сильно распаралелленные вычисления (в том числе, тестовые клиенты для сетевых протоколов). Но видеть в одном списке Хаскель и Яву мне несколько странно.
no subject
Date: 2008-11-25 08:16 am (UTC)no subject
Date: 2008-11-25 08:19 am (UTC)Почему, кстати? Я довольно долго с подозрением к нему относился, но последние пару лет он мне полностью заменил перл.
no subject
Date: 2008-11-25 08:19 am (UTC)no subject
Date: 2008-11-25 08:20 am (UTC)no subject
Date: 2008-11-25 10:28 am (UTC)no subject
Date: 2008-11-25 10:32 am (UTC)Тут ключевым моментом является вот что: где, собственно, проводить линию между тупым, и нетупым кодерами. Код на питоне, которым мне приходится пользоваться, варьируется в диапазоне от нормального до отличного. Видимо, тупые кодеры свой код не выставляют, все же, на показ. С другой стороны, язык действительно доступен многим, а это означает, например, что можно задумать проект, и делать его руками людей, которые от Хаскелля шарахаются в ужасе. Это сильно расширяет поле деятельности.
no subject
Date: 2008-11-25 10:36 am (UTC)Это вам крупно повезло. Много ли среди того кода было CGI и GTK?
Мне вот как-то плохо спроектированные питоновские приложения попадаются на каждом шагу. Вплоть до youtube-dl.
Делать проект "руками людей, которые от Хаскелля шарахаются в ужасе" - это до первого залетевшего дятла.
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 для замыканий, которых где только нету.