На работе мне иногда надо писать простенькие скрипты, для повседневных нужд. Я в последнее время решил, что буду их писать на Питоне или Руби, если возможно, чтобы таким образом потихоньку осваивать эти два языка.
Я думаю, меня читает некоторое количество людей, которые на этих языках (одном из или сходном или комбинации) пишут регулярно и с удовольствием. Поэтому хочу спросить:
1. Почему ваш любимый язык такой крутой? Т.е. чем он разительно отличается от других динамических языков (с C просьба не сравнивать, чем динамические языки отличаются от C я кагбэ в курсе) и намного их превосходит. Ссылки на библиотеку и модуль antigravity кошерны, но с оговорками - т.е. укажите, полагаете ли вы, что подобный модуль невозможен у конкурентов, или же просто что есть, тем и пользуемся?
2. Что следует читать, чтобы писать на этом языке как правильные пацаны, а не как лох? Подчеркну, меня интересует не мануал и не список синтаксических конструкций, а идиоматика - т.е. какие конструкции считаются правильными/эффективными/одобряемыми обществом, как принято делать разные вещи. Пример для питона.
Tags:
no subject
Наличие готового модуля для короткого проекта или скрипта -- ИМХО один из главных плюсов. Разумеется, XML парсер или обработчик запросов HTTP может быть в тысячный раз написан на любом языке, но когда надо "ехать, а не шашечки", то лучше воспользоваться готовым.
Мне лично понравился в свое время Питон: он был более популярным, богаче библиотеки, наличие нормальных IDE и отладчиков. А с появлением Django отпал последний "козырь" руби - on rails. Питон реализован практически везде, включая embedded, managed язык для .NET, скриптовый язык а-ля JavaScript и т.п.
Против Питона могут выступать "отступы как часть синтаксиса" (я знаю это бесило очень большое количество людей), хотя привыкнув, я нашел незагруженный скобками код более читаемым, да в общем-то и все.
Оба языка учить действительно не имеет смысла.
2. Все эти соглашения о коде -- от лукавого. я пишу так, как удобно мне. Лучше всего, конечно, глянуть на стиль исходного кода модулей, чтобы понять принципы, но особых откровений там не будет. Возможно if list: будет более оптимальным в байткоде вместо if len(list) !=0:, но кого это волнует в простых скриптах? Для языковых приколов полезно прочитать что-то вроде language recipes (типа вот-этого для Питона), не более того.
no subject
no subject
no subject