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

Friday, February 12th, 2010 10:24 am (UTC)
Большой половой разницы между Питоном и Руби нет, вопрос привычки. Крутость языка заключается ведь также и в том, что для него написано поразительное количество стандартных и отлаженных 3d-party модулей, а забивать память дублирующей информацией для второго похожего языка я считаю нецелесообразным.

Наличие готового модуля для короткого проекта или скрипта -- ИМХО один из главных плюсов. Разумеется, XML парсер или обработчик запросов HTTP может быть в тысячный раз написан на любом языке, но когда надо "ехать, а не шашечки", то лучше воспользоваться готовым.

Мне лично понравился в свое время Питон: он был более популярным, богаче библиотеки, наличие нормальных IDE и отладчиков. А с появлением Django отпал последний "козырь" руби - on rails. Питон реализован практически везде, включая embedded, managed язык для .NET, скриптовый язык а-ля JavaScript и т.п.

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

Оба языка учить действительно не имеет смысла.

2. Все эти соглашения о коде -- от лукавого. я пишу так, как удобно мне. Лучше всего, конечно, глянуть на стиль исходного кода модулей, чтобы понять принципы, но особых откровений там не будет. Возможно if list: будет более оптимальным в байткоде вместо if len(list) !=0:, но кого это волнует в простых скриптах? Для языковых приколов полезно прочитать что-то вроде language recipes (типа вот-этого для Питона), не более того.
Friday, February 12th, 2010 07:28 pm (UTC)
ActiveState Komodo -- на очень хорошем уровне, во всяком случае для виндозы. В линухе еще эклипсовый плагин pydev вполне себе работает. Для мгновенных проверок или изучения языка - IDLE (Linux/Windows) или PythonWin (Windows).
Friday, February 12th, 2010 11:05 pm (UTC)
WingIDE очень неплох.