February 2026

S M T W T F S
1234567
891011121314
15161718192021
22232425262728

Style Credit

Expand Cut Tags

No cut tags
Friday, February 12th, 2010 12:13 am

На работе мне иногда надо писать простенькие скрипты, для повседневных нужд. Я в последнее время решил, что буду их писать на Питоне или Руби, если возможно, чтобы таким образом потихоньку осваивать эти два языка.
Я думаю, меня читает некоторое количество людей, которые на этих языках (одном из или сходном или комбинации) пишут регулярно и с удовольствием. Поэтому хочу спросить:

1. Почему ваш любимый язык такой крутой? Т.е. чем он разительно отличается от других динамических языков (с C просьба не сравнивать, чем динамические языки отличаются от C я кагбэ в курсе) и намного их превосходит. Ссылки на библиотеку и модуль antigravity кошерны, но с оговорками - т.е. укажите, полагаете ли вы, что подобный модуль невозможен у конкурентов, или же просто что есть, тем и пользуемся?

2. Что следует читать, чтобы писать на этом языке как правильные пацаны, а не как лох? Подчеркну, меня интересует не мануал и не список синтаксических конструкций, а идиоматика - т.е. какие конструкции считаются правильными/эффективными/одобряемыми обществом, как принято делать разные вещи. Пример для питона.

Saturday, February 13th, 2010 01:43 am (UTC)
Я пишу на Perl. Я успел пройти на нем точку, когда перестаешь путаться в синтаксисе и чтение кода не пугает до того, как у меня появился выбор.

Больше всего мне нравится то, что на нем можно писать как угодно - хочешь быстро на соплях, хочешь - совсем production quality.

Вот у меня недавно появилась мысль, как собирать один кусочек софта, я за 10 минут сделал грязный прототип, проверил что работает и еще минут за 20 сделал из него приличного качества скрипт, готовый для вставления в build system.

Опять же, на нем легко писать "не как лох" - он позволяет писать в настолько разных стилях, что всегда можно подобрать что-нибудь по вкусу.
Saturday, February 13th, 2010 03:33 am (UTC)
я просто не понимаю какие в перле могут быть проблемы с структурами данных, там же все очевидно (или я уже забыл что может быть неочевидно)

За 10 минут такие скрипты я не могу написать на других известных мне языках - либо там синтакс многословный и вместо каких-нибудь обычных перловых split и map надо что-то городить, либо нет ничего близкого к CPAN и как только натыкаешься на что-нибудь этакое, 10 минут превращаются в три часа и интеграцию с какими-то странными тулзами, которые еще надо разыскивать.
Saturday, February 13th, 2010 06:27 am (UTC)
Так дело именно в количестве сахара и размере CPAN, это и определяет - займет скрипт 10 минут или час. Написание коротких скриптов само по себе мне большого удовольствия не доставляет, чем быстрее я с этим справлюсь - тем лучше.
[identity profile] migmit.vox.com (from livejournal.com)
Sunday, February 14th, 2010 10:27 am (UTC)
Прототипы на хаскеле пишутся быстрее, чем на перле. Серьёзно.
[identity profile] migmit.vox.com (from livejournal.com)
Sunday, February 14th, 2010 10:52 am (UTC)
> Следует ли включать во время написания прототипа те 5 лет, которые надо провести за изучением теории категорий и прочих увлекательных вещей, чтобы быть способным их писать?

Студент, раньше не программировавший вообще, начал писать production-ready через неделю изучения. См. "Ada vs. C++ vs. Awk vs. ..."
[identity profile] migmit.vox.com (from livejournal.com)
Sunday, February 14th, 2010 01:05 pm (UTC)
Сюрприз: для программирования на Haskell не обязательно даже знать слово "монада".

> Но вот в то, что простой, обычный человекпрограммист - вот как я, например - будет способен продуктивно работать на хаскеле через неделю - увы, мне не верится.

Гм. Неужели в программе
module Main where
main = do
  putStrLn "What's your name"
  name <- getLine
  putStrLn ("Hi, " ++ name ++ "!")

есть что-то настолько сложное по сравнению с другими языками.
Sunday, February 14th, 2010 04:42 pm (UTC)
Да. Когда пытаешься отойти от примеров в туториале и написать что-нибудь более серьёзное.

Да и монады — детям не игрушка. Arrows и то понятнее и лучше.
Sunday, February 14th, 2010 03:00 pm (UTC)
Напишите мне, пожалуйста, на хаскеле скрипт, который найдет все MP3 файлы, вытащит оттуда теги и поместит в таблицу в MySQL. Десять минут.
Sunday, February 14th, 2010 04:42 pm (UTC)
Это, кстати, хаскелисту несложно. Именно этот пример даже подробно разобран в "Real World Haskell". :)