The bad, the good and the Haskell
Sep. 20th, 2007 01:06 pmВынесу-ка я это из глубокого треда, может получиться флейм, а флейм это хорошо.
ifp5 пишет:
Реально проблема есть только одна единственная (и она та же самая что препятствует использованию OCaml, Haskell, LISP и пр) - что решение выбора языка принимают люди (такие бывают толстые и важные начальники), которые уже решили, что проект будет на жабе. Никаких других проблем в использовании шарпа (или хаскеля) нет.
Ну это на самом деле далеко не так. Это черезвычайно распространенное мнение, которое на самом деле базируется на такой красивой гиковской картине мира, в которой есть good programmers and evil managers. И все плохое проистекает из менеджеров, а все хорошее пишется умными программистами, которые вникают в проблему с полувзгляда и выбирают идеальный инструмент.
Попробуйте написать полезную программу на лиспе и продать ее пользователям (продать в широком, хорошем, смысле - пусть даже и забесплатно). Чтобы она была как программа на С++/Win32 или там на сишарпе/дотнете. Чтобы у нее был гуй, какой модно в этом сезоне (совершенно необязательно, кстати, чтобы он был один в один стянут с последнего оффиса), чтобы у нее был нетворкинг, чтобы она работала с трехмерной графикой под DX9/10 и использовала многоядерные процессоры. По-моему я описал гамез, сам того не желая, ну да ладно. Пусть это будет не гамез, а САПР.
Ровно та же самая проблема у всех на свете "скриптовых языков, лучших чем Перл". Они все безусловно лучше чем Перл (трудно быть хуже с точки зрения среднего программиста), но у перла есть CPAN. End of story here.
P.S. Всех, кто напишет что у Автокада в пузе как раз лисп - сразу забаню. Настолько short minded тут не нужны :-)
Реально проблема есть только одна единственная (и она та же самая что препятствует использованию OCaml, Haskell, LISP и пр) - что решение выбора языка принимают люди (такие бывают толстые и важные начальники), которые уже решили, что проект будет на жабе. Никаких других проблем в использовании шарпа (или хаскеля) нет.
Ну это на самом деле далеко не так. Это черезвычайно распространенное мнение, которое на самом деле базируется на такой красивой гиковской картине мира, в которой есть good programmers and evil managers. И все плохое проистекает из менеджеров, а все хорошее пишется умными программистами, которые вникают в проблему с полувзгляда и выбирают идеальный инструмент.
Попробуйте написать полезную программу на лиспе и продать ее пользователям (продать в широком, хорошем, смысле - пусть даже и забесплатно). Чтобы она была как программа на С++/Win32 или там на сишарпе/дотнете. Чтобы у нее был гуй, какой модно в этом сезоне (совершенно необязательно, кстати, чтобы он был один в один стянут с последнего оффиса), чтобы у нее был нетворкинг, чтобы она работала с трехмерной графикой под DX9/10 и использовала многоядерные процессоры. По-моему я описал гамез, сам того не желая, ну да ладно. Пусть это будет не гамез, а САПР.
Ровно та же самая проблема у всех на свете "скриптовых языков, лучших чем Перл". Они все безусловно лучше чем Перл (трудно быть хуже с точки зрения среднего программиста), но у перла есть CPAN. End of story here.
P.S. Всех, кто напишет что у Автокада в пузе как раз лисп - сразу забаню. Настолько short minded тут не нужны :-)
no subject
Date: 2007-09-20 10:13 am (UTC)no subject
Date: 2007-09-20 10:20 am (UTC)s/Perl/Python/g
И?
no subject
Date: 2007-09-20 10:20 am (UTC)Re: Reply to your comment...
Date: 2007-09-20 10:23 am (UTC)Re: Reply to your comment...
Date: 2007-09-20 10:30 am (UTC)И, в отличие от питона, перл никто никому так усердно не вдувал.
Чисто же с эстетической точки зрения питон ничуть не менее уродлив чем перл. Просто уродство это другое, лично меня оно анноит сильнее. Перл более похож (с точки зрения эстетики) на естественный язык - его потенциальная красота ничуть не избавляет от необходимости слушать 80% косноязычных нативных носителей этого языка. Питон как раз это попытка создать язык на котором косноязычно выражаться просто физически невозможно. С моей точки зрения, попытка крайне неудачная, именно в этом смысле.
Re: Reply to your comment...
Date: 2007-09-20 10:41 am (UTC)Это как задаться вопросом, почему в 60-х не было альтернатив фортрану и лиспу :)
kik> И, в отличие от питона, перл никто никому так усердно не вдувал.
Потому что среди перловиков нашлись люди, которые знали, что такое маркетинг, а среди питоновцев - нет.
kik> Перл более похож (с точки зрения эстетики) на естественный язык - его
kik> потенциальная красота ничуть не избавляет от необходимости слушать 80%
kik> косноязычных нативных носителей этого языка.
И как следствие, выпадает он из разряда инженерных разработок - скорее его можно
причислить к гуманитарным.
Re: Reply to your comment...
Date: 2007-09-20 01:29 pm (UTC)Именно этим он и хорош. Люди не покупают сверла, люди покупают дырки в стенах. А дырки в стенах - заслуга в первую очередь гуманитариев (в том числе и в прямом смысле - в случае с дыркой в стене это дизайнер). Инженеры же приходят на черную работу - спроектировать это так чтобы оно таки работало (ну и просверлить дырку). Соответственно у программиста два пути в карьере - либо оставаться кодером++ и приписывать себе плюсы, либо становиться гуманитарием и решать проблемы людей.
Re: Reply to your comment...
Date: 2007-09-20 01:33 pm (UTC)Re: Reply to your comment...
Date: 2007-09-20 01:43 pm (UTC)Почитайте последнего Спольски, кстати. Он писал на другую тему, но написал на самом деле именно на эту :-) У него это часто бывает.
Re: Reply to your comment...
Date: 2007-09-20 02:02 pm (UTC)kik> А настоящему инженеру нужен технологический challenge, поэтому он не любит
kik> такую дрель.
Бредятина. Инженерный инструмент элиминирует технологические challenges.
Re: Reply to your comment...
Date: 2007-09-20 03:22 pm (UTC)Re: Reply to your comment...
Date: 2007-09-20 03:57 pm (UTC)Re: Reply to your comment...
Date: 2007-09-21 02:48 am (UTC)1. Средством самовыражения инженера
2. Средством для доказательства другим инженерам что ....
3. Источником бОльшего количества проблем чем способны сами решить
4. Требуют привлечения гуманитария с инженерной подготовкой для управления
....
N. All of the above.
И грамотный инженер - это инженер, который наберет этих вот инструментов, характеризующихся см. выше, и скомбинирует их так чтобы все-таки получить результат слегка напоминающий желаемый.
В вашем мире существуют если не идеальные, то очень хорошие программы, написанные грамотными инженерами с использованием правильных инструментов. Хорошая программа == программа, хорошо решающая гуманитарную проблему. Поскольку мне неизвестны хорошие программы, хорошо решающие гуманитарные проблемы, то видимо что-то не так с вашей картиной мира. Или вы очень нетребовательны :-)
Питон, кстати, является типичным примером программы, решающей исключительно инженерную проблему(ы). То есть это в данной системе ценностей очень плохая программа :-)
Одна из самых очевидных гуманитарных проблем - это взаимодействие гуманоида, собственно, с компьютером. Много ли проблем решили инженеры в этой области, со, скажем, 1984-го года, когда вышел первый макинтош?
Инженеры предпочитают утончать техпроцесс, наращивать тактовую частоту и увеличивать длины разнообразных пенисов, от объема памяти до количества текстурных процессоров. Много ли проблем человеко-машинного интерфейса решили текстурные процессоры? Я не имею в виду качество отображения какодемонов в думе первом и третьем :-)
Re: Reply to your comment...
Date: 2007-09-21 11:45 am (UTC)Проблема взаимодействия гуманоида с компьютером по моему мнению принципиально не отличается от проблемы взаимодействия гуманоида с автомобилем.
btw, какие именно проблемы взаимодействия гуманоида с компьютером имеются на данный момент? какие из этих проблем решены в отношении какого-либо другого инструмента (ну того же автомобиля, например)?
Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
From:Re: Reply to your comment...
Date: 2007-09-20 01:38 pm (UTC)Re: Reply to your comment...
Date: 2007-09-21 08:54 am (UTC)в аналы!
Re: Reply to your comment...
Date: 2007-09-21 10:56 am (UTC)Re: Reply to your comment...
Date: 2007-09-20 01:27 pm (UTC)Советская армия. Перед строем выходит полковник
- Награждается победитель соревнований по стрельбе - рядовой Рабинович
- награждается победитель соревнований по рукопашному бою - рядовой Рабинович
- награждается победитель соревнований по бегу - рядовой Рабинович
- Смотрите бойцы, вот Рабинович - плохой солдат, а старается!
Re: Reply to your comment...
Date: 2007-09-20 01:29 pm (UTC)Re: Reply to your comment...
Date: 2007-09-20 01:46 pm (UTC)Re: Reply to your comment...
Date: 2007-09-20 01:56 pm (UTC)Re: Reply to your comment...
Date: 2007-09-20 03:23 pm (UTC)Re: Reply to your comment...
Date: 2007-09-20 02:01 pm (UTC)Впрочем, моё мнение практически полностью совпало с этим - http://steve.yegge.googlepages.com/ancient-languages-perl - там подробнее.
Re: Reply to your comment...
Date: 2007-09-20 03:34 pm (UTC)Great idea, fifteen years ago. But pretty much all languages have OS-integration facilities these days.
Как бы уже не первый год тенденция в языковой разработке заключается в заключение этих языков в сферическую капсулу виртуальной машины, по возможности полностью абстрагирующей среду исполнения от OS. И как только от ОС нужно что-то, что не предусмотрели заботливые боги, начинаются танцы с бубном вокруг всяких "native" интерфейсов.
Что еще более смешно, максимально удалившись от всяких ОС и переселившись в броузеры, индустрия столкнулась там ровно с той же самой проблемой :-) Из чего, в частности, следует что не умеют пока господа инженеры решать настоящие проблемы-то. Они их в основном воспроизводят.
Re: Reply to your comment...
Date: 2007-09-20 11:39 pm (UTC)