Kirill Vechera (sply) wrote,
Kirill Vechera
sply

python vs ruby

Я как начал писать на питоне, периодически начинал злобно писать оперу о том, что в нем есть плохого по сравнению с руби. Сейчас понял, что уже привык, остыл. То, что раньше бесило - когда аналог однострочной конструкции руби превращается на питоне в несколько строк с вспомагательной переменной, сейчас делается автоматом. И когда наступаешь на новое неудобство, сносишь без эмоций - привык, что здесь все не столько для людей, сколько для роботов и во имя синтаксиса.

С другой стороны, уже несколько раз сталкивался с ситуацией. Для какого-нибудь протокола, области, есть библиотеки - и в питоне, и в руби. В руби она хорошо вложена в namespace, легко ставится через gem. В питоне это может быть несколько библиотек, лежащих не ясно где, более неряшливо оформленных. Но на питоне есть и живые, используемые программы поверх них, а в руби только библиотека.

Может быть это из-за того, что сообщество вокруг питона более взрослое, и, соответственно, кода больше. А может быть это из-за того, что языки привлекают немного разного склада людей. Например, такой сверхудобный из себя руби выбирает человек, стремящийся к максимальному комфорту: удобное окружение, минимум кодирования, максимум эстетики. Руби - это сад камней. И во всех случаях соблюдает это требование - делать максимально совершенно, реюзабельно, человеколюбиво. Что, приводит к тому, что на совершенствованние инструмента (библиотеки) уходит много сил, и до конечного продукта заряда сил может и не хватить. Кажется, Ашманов называл такое "утаптыванием травы".

Кодируя на питоне, понимаешь и примиряешься с несовершенством мира. А если все вокруг несовершенно, нет смысла самому писать что-то совершенное. Здесь - пахать, пахать, пахать, чтобы достичь результат.

Эти выводы доказывает существование языка PHP. И то, что серверы DHCP есть на питоне и на php, но нет на руби.
Tags: love post
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments