[Перевод] Руби(н) vs Питон: самые важные вопросы и ответы
«Питон или Руби» — это один из самых горячо обсуждаемых топиков в мире программирования. Впереди него только «emacs или vim» и «pro-skub или anti-skub» по важности и сложности. Сегодня мы изучим разницу и ответим на вопросы, а также объективно и окончательно решим, что лучше.
Что такое Питон?
Питон это крупная змея, которая обитает в юго-восточных регионах планеты. Они не ядовитые и нейтрализуют врагов в основном удушением. Многие из сохранившихся видов находятся под угрозой исчезновения.
Что такое Руби (н)?
Руби (рубин) — это яркий, красный драгоценный камень. Его принято относить к группе четырех драгоценных камней, наряду с изумрудами, бриллиантами и сапфирами. Существует большой спор: рубины — это красные сапфиры или сапфиры — это голубые рубины.
В чем схожесть?
Для незнакомого с темой человека рубин и питон могут показаться идентичными:
- Динамическая типизация: Тип, к которому относится слово, динамически определяется из контекста. Питон может относится к семейству (питонов), роду (broghammerus) или к виду (сетчатый питон). Аналогично, рубин может быть конкретным минералом (корунд с примесями хрома), или относиться к общей категории красных камней.
- Интерпретируемый: Питоны и рубины часто используются как символы и метафоры, особенно в поэзии и мифологии.
- Объектно-ориентированные: Они оба — объекты, но некоторым людям некомфортно относиться к животным как к объектам.
- Высокоуровневые: Я изучал в университете физику, и все, что больше атома водорода считаю «высокоуровневым». Я не шучу. Мы еще не нашли решение уравнению Шредингера для атома гелия, а это все лишь атом водорода с дополнительной болтающейся хреновиной.
В чем отличия?
Не смотря на кучу схожих черт, существует и значительные отличия:
- У Рубинов есть блоки, то есть рубины можно складывать в блоки. Если сложить питоны в блоки, то они расползутся.
- У Питонов есть списковое включение (comprehensions). Рубины — неодушевленные предметы, и не способны ничего включать. («comprehension» — понимание, поэтому в оригинале получается забавнее: «рубины не способны ничего понимать», — прим. пер.)
- Питон считается более легко читаемым (на питоне можно написать большие слова фломастером), а Рубин считается более элегантным (естественно).
Какие есть важные примеры?
- Рельсы (Rails): Рубин можно положить на рельсы, и он останется на рельсах, если только не укатится.
- Панды (Pandas): Питон скорее всего сможет съесть панду, если хорошенько постарается.
- Шеф (Chef): Может показаться, что речь идет о питоне, однако шеф-повары обычно избегают рептилий. Но иногда принимают рубины в качестве оплаты.
- Джанго (Django): Гитарист, который любил змей.
Что лучше?
Зависит от ситуации!!!
Ты обещал объективный, окончательный ответ!
Серьезно. Зависит от ситуации. Что вы пытаетесь сделать?
- Играть в скраббл: Рубин стоит 9 очков, питон стоит 14 очков, и с вариантами множественно числа можно дойти до бинго. Преимущество: Питон
- Толкание ядра: Не кидайте змей. Преимущество: Рубин
- Моделирование соленоидного электромагнита когда в наличии есть цилиндр, но веревку и провод забыл дома: Нужно быть достаточно сильным, но в остальном — отличный способ применения питона. Преимущество: Питон
- Украшения: С одно стороны, рубины — популярные украшения. С другой стороны, озмерелье это кру-то-та. Преимущество: Ничья
- Организация будки для поцелуев: Люди предпочитают целовать рубины, а не питонов. Возможно, это связано с повышенным риском заболевания сальмонеллёзом. Преимущество: Рубин
Можно заметить, что в примерно в половине случаев можно сделать выбор в пользу рубина, и в другой половине случаев — в пользу питона. Скорее всего, есть еще несколько мелких случаев, которые ломают красивое отношение 1:1, но они — нишевые и эзотерические.
Какой язык программирования использовать в своем стартапе?
PHP.
Комментарии (13)
26 сентября 2016 в 15:38
+6↑
↓
Забавно, но эдак 4/5 шуток выглядят как-то странно при переводе.26 сентября 2016 в 15:39
0↑
↓
Мне кажется, проблема только в comprehensions:)26 сентября 2016 в 15:48
+4↑
↓
Да много в чем на самом деле проблема. Начиная от заголовка, где приходится делать «Руби (н)», все эти русскоязычные «Рельсы» и «Панды», скраббл, который, внезапно в русском варианте «рубин» = 1+2+3+1+1 = 8 (а не 9), и «питон» = 2+1+1+1+1=6, что несколько переворачивает аргументацию в прямо противоположную. Весьма неказисто, на мой взгляд, переведенный «sneklace». Что такое «skub» и, тем более, мем про «pro-skub vs anti-skub» практически никто не знает в рунете. И т.д. и т.п.26 сентября 2016 в 15:55
0↑
↓
Но… я считал «озмерелье» своей лучшей работой… :(26 сентября 2016 в 15:58
0↑
↓
Запоминается последняя фраза. © Штирлиц :)
26 сентября 2016 в 16:41
+1↑
↓
Варианты:
1) (далеко от первоисточника): «В рубинах включения считаются дефектом». Можно добавить «поэтому в хороших рубинах их нет».
2) (Похуже) «Рубины неодушевлённые и не понимают, что такое список».
26 сентября 2016 в 15:55 (комментарий был изменён)
+1↑
↓
«Толкание ядра: Не кидайте змей.»Напомнило советский мультик «Волшебное кольцо»:
— Вы пошто животину тираните?
— Да вот, змею воздушную запускаю.PS: Нужно было под статьёй сделать опрос — Питон или Руби. Я — за Питона :)
26 сентября 2016 в 16:47
+3↑
↓
И один вариант в опросе: PHP.
26 сентября 2016 в 15:55
+8↑
↓
Только мне все эти аллегории показались странными ?!26 сентября 2016 в 17:46
+1↑
↓
Я бы больше сказал: это не остроумно и даже не смешно.
26 сентября 2016 в 16:48 (комментарий был изменён)
–1↑
↓
Вообще это конечно все хорошо.Но.
Я Searchil на HH, там такая статистика по поискуruby — 507
python — 1800
php — 3208
C#- 2271
Java- 374226 сентября 2016 в 17:20
0↑
↓
python: 2, ruby: 1
Спор разрешен! (на какое-то время, пока спрос не вырастет еще больше)
26 сентября 2016 в 16:54
0↑
↓
После прочтения в голове промелькнула мысль что сегодня пятница, а нет сегодня понедельник.