На работе мне иногда надо писать простенькие скрипты, для повседневных нужд. Я в последнее время решил, что буду их писать на Питоне или Руби, если возможно, чтобы таким образом потихоньку осваивать эти два языка.
Я думаю, меня читает некоторое количество людей, которые на этих языках (одном из или сходном или комбинации) пишут регулярно и с удовольствием. Поэтому хочу спросить:
1. Почему ваш любимый язык такой крутой? Т.е. чем он разительно отличается от других динамических языков (с C просьба не сравнивать, чем динамические языки отличаются от C я кагбэ в курсе) и намного их превосходит. Ссылки на библиотеку и модуль antigravity кошерны, но с оговорками - т.е. укажите, полагаете ли вы, что подобный модуль невозможен у конкурентов, или же просто что есть, тем и пользуемся?
2. Что следует читать, чтобы писать на этом языке как правильные пацаны, а не как лох? Подчеркну, меня интересует не мануал и не список синтаксических конструкций, а идиоматика - т.е. какие конструкции считаются правильными/эффективными/одобряемыми обществом, как принято делать разные вещи. Пример для питона.
Tags:
no subject
Больше всего мне нравится то, что на нем можно писать как угодно - хочешь быстро на соплях, хочешь - совсем production quality.
Вот у меня недавно появилась мысль, как собирать один кусочек софта, я за 10 минут сделал грязный прототип, проверил что работает и еще минут за 20 сделал из него приличного качества скрипт, готовый для вставления в build system.
Опять же, на нем легко писать "не как лох" - он позволяет писать в настолько разных стилях, что всегда можно подобрать что-нибудь по вкусу.
no subject
На перле, как я упоминал выше, я писал, и довольно долго - несколько лет, но потом бросил, на мой вкус слишком много лишних движений для работы со структурами данных.
no subject
За 10 минут такие скрипты я не могу написать на других известных мне языках - либо там синтакс многословный и вместо каких-нибудь обычных перловых split и map надо что-то городить, либо нет ничего близкого к CPAN и как только натыкаешься на что-нибудь этакое, 10 минут превращаются в три часа и интеграцию с какими-то странными тулзами, которые еще надо разыскивать.
no subject
Заодно увидел конструкцию map +{ lc($_), 1 }, @array - и вспомнил, что именно за это - за то, что в этой конструкции почти каждый символ можно заменить и оно будет работать по-разному совершенно неочевидными способами - я и невзлюбил Перл.
Что касаемо CPAN, то CPAN это голова. Но у руби вроде есть gems, у питонцев - pip, правда, насчет количества не знаю, Перл-то постарше будет...
no subject
no subject
no subject
Потому что любой из перечисленных языков можно освоить, ну скажем щедро, недели за две. Не напрягаясь. Хаскель я бы не взялся за такой срок освоить. Хотя не исключаю, что есть женщины в русских селеньях.
no subject
Студент, раньше не программировавший вообще, начал писать production-ready через неделю изучения. См. "Ada vs. C++ vs. Awk vs. ..."
no subject
человекпрограммист - вот как я, например - будет способен продуктивно работать на хаскеле через неделю - увы, мне не верится.no subject
> Но вот в то, что простой, обычный человекпрограммист - вот как я, например - будет способен продуктивно работать на хаскеле через неделю - увы, мне не верится.
Гм. Неужели в программе
module Main where main = do putStrLn "What's your name" name <- getLine putStrLn ("Hi, " ++ name ++ "!")есть что-то настолько сложное по сравнению с другими языками.
no subject
Да и монады — детям не игрушка. Arrows и то понятнее и лучше.
no subject
no subject
no subject