avva: (Default)
[personal profile] avva
Господа программисты! В последние дни я "для души": читал об устройстве языка Perl 6, компилировал pugs, чтобы, возможно, с ним повозиться, читал документацию новой системы source control под названием darcs, взял в библиотеке второе издание известной книги Code Complete, и собираюсь посмотреть, за что ж её так хвалят (первое издание я не читал).

А что вы делали в последнее время "для души"? Расскажите о каких-нибудь интересных проектах, книгах, сайтах, файлах, чём угодно.

Date: 2005-12-28 12:55 pm (UTC)
From: [identity profile] avva.livejournal.com
А чем удивительно существование pugs, интересно? По принципу "человек уже знает Хаскель, а при этом занимается зачем-то Перлом?"

Date: 2005-12-28 01:11 pm (UTC)
From: [identity profile] cmm.livejournal.com
ну как бы да.

Date: 2005-12-28 01:24 pm (UTC)
From: [identity profile] polter.livejournal.com
По форме верно, по сути возмутительно (с) :)

Все чуть сложнее.

Написание интерпретатора перла конечно неплохое упражнение и тест-драйв для хаскеля, но... в каком-то смысле перл почти во всем - это антихаскель.
хаотичный, с очень низким КПД, максимально противоречивый и неожиданный и при этом всем еще и ничего особенного собой не представляет :)
Не знаю, у меня, после восьми лет программирования на перле и пяти на питоне они оба вылетели просто из используемых (для соответствующих случаев) в пользу scheme и tcl - после программирования на лиспе, окамле и хаскеле.
Ну а потом, на хаскеле так просто интерпретаторы писать под конкретную задачу, что ... ;)

Чуть откровеннее - у меня просто нет ни одного довода за использование перла хоть где-то. Вот и.

Date: 2005-12-28 01:40 pm (UTC)
From: [identity profile] avva.livejournal.com
Я, конечно, не знаю ещё Хаскель :)

Но из тех языков программирования, какими я пользовался в нетривиальных масштабах, для большинства задач, с которыми я сталкиваюсь, у Перла самый высокий КПД. Просто из соображений того, как быстро, удобно и качественно написать. При этом я говорю не только о маленьких скриптах на все случаи жизни, где преимущества Перла известны, но также о нормального размера программах и проектах.

Есть языки, КПД которых мне кажется большим (например, Смоллток, особенно для больших сложных проектов), но я не писал на ничего большого и серьёзного, поэтому это всё hand-waving в пользу бедных :)

На tcl я бы перл не сменил ни за что. Но это дело вкуса, конечно, как и всё остальное. А насчёт Хаскелла будем посмотреть.

Date: 2005-12-28 09:14 pm (UTC)
From: [identity profile] polter.livejournal.com
Я конечно не о больших проектах, а о достаточно небольших (~до 10к строк), где те же Tcl и всякие лиспы, как языки гораздо более затачиваемые под предметную область выигрывают нокаутом.

А в больших...
Не знаю, 4 больших проекта (соразмерных с LJ) на перле поддержкой и развитием которых мне приходилось заниматься в разное время просто занимают первые 4 места худшего, что со мной происходило :) Перл просто начинает взрываться на больших объемах - полный хаос с типами и рантаймом, несуразные модули (если это вообще так можно назвать), мистически неуловимые memory leaks, невероятно сложная отладка в т.ч из-за невменяемой грамматикии и как финал всегда - жуткое месиво из хаков, костылей и регекспов.

Не знаю с чем сравнивали вы, но я, видимо, выберу перл только под угрозой применения PHP :)
Это выбирая из Tcl, Лиспов, смоллтолка, эрланга, питона, хаскеля, MLей, явы и всяких смежных с ними языков и технологий.

Конечно, перл достаточно экспрессивен и гибок, чтобы устранить многие из его недостатков, но когда 90% выразительности языка тратится на его починку, тогда как даже в случае с Tcl все это идет на расширение - это как-то не вдохновляет. перл6 дело конечно кое что исправляет и parrot - это дико клево, тк. на нем можно не использовать перл :)
А то мне при виде всех этих synopses хочется зарыться под стол - я не понимаю почему вся эта малоконсистентная синтаксическая солянка входит в описание языка, когда я на маленьких Scheme или Io могу это все сделать и так, а могу и сделать более удобно, не оставаясь при этом в неведении как это работает. И самое главное - имею возможность не иметь и не думать даже о всем этом, что самое ценное.

Ну а вообще, для действительно больших объемов кода и количества разработчиков, в качестве host-языка я бы использовал только что-то со статической (и очень жесткой) проверкой типов и развитой системой модулей. Иначе, через некоторое время, все равно за плодящимися хаками уже не разглядеть и не уследить ничего. Увы, пока что исключений я не видел.
Из динамических, разве что эрланг держится. Ну и в некоторых случаях смоллтолк (тут правда подозреваю дело не только и не столько в самом языке:).
а для разных частей системы потом, если нужно, использовать что-то domain specific.

Date: 2005-12-30 03:54 pm (UTC)
From: [identity profile] livsy.livejournal.com
Я бы сказал, что есть люди которые думают на perl, и есть люди, которые думают на lisp, но знаю, что любое разделение людей на две категории является неполным. ;)

Date: 2005-12-28 01:54 pm (UTC)
From: [identity profile] potan.livejournal.com
Как язык, встроенный в vim, perl вполне удобен. Lisp из Emacs значительно более громозкий когда надо к группе строк дорисовать их номер в комментариях, например.

Date: 2005-12-28 09:47 pm (UTC)
From: [identity profile] polter.livejournal.com
Так Elisp - жуткий же, совершенно.
лисп по недоразумению.

Единственное, что у перла юзабельного, для работы с текстом - это его регекспы. В остальном он почти непригоден для этого. Тот же Tcl по-моему гораздо удобнее будет.
Вообще же если искать идеал, то, думаю, что-нибудь APL-подобное с нормальными регекспами было бы лучше всего.
Ну или что-то ленивое со строками-списками и продвинутым матчингом :)

Date: 2005-12-29 08:07 am (UTC)
From: [identity profile] potan.livejournal.com
У меня были мысли, что APL-подобное во встраеваемых скриптах Perl хорошо бы заменило. Но эффективных приемов для работы с текстом в таких языках я не нашел. Может быть они там есть, но искать их очень не просто :-).

Date: 2005-12-30 08:40 pm (UTC)
netch: (Default)
From: [personal profile] netch
У тикля regexp'ы во многом лучше перловых.

Date: 2005-12-28 02:20 pm (UTC)
From: [identity profile] avnik.livejournal.com
Основной плюс перла --- что можно бысто используя готовые наработки (CPAN) сляпать quick-n-dirty решение. Которое не будет оптимальным, но будут работать и закроют дыру в проекте.

Date: 2005-12-28 09:52 pm (UTC)
From: [identity profile] polter.livejournal.com
По-моему, в этом смысле, какая-нибудь ява уже давно впереди планеты всей.
И довольно высока вероятность, что на яве это решение будет менее dirty.
На JVM вон еще и куча языков бежит.

Date: 2005-12-29 08:09 am (UTC)
From: [identity profile] potan.livejournal.com
Аналога CPANа для Java я не встречал. Здесь с Perlом, IMHO, может тягаться только S. Может еще OCaml скоро подтянется.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 10:55 am
Powered by Dreamwidth Studios