Руби(н) vs Питон: самые важные вопросы и ответы

в 12:34, , рубрики: php, python, rails, ruby, Питон, Программирование, руби, рубин, юмор

Руби(н) vs Питон: самые важные вопросы и ответы - 1

«Питон или Руби» — это один из самых горячо обсуждаемых топиков в мире программирования. Впереди него только “emacs или vim” и “pro-skub или anti-skub” по важности и сложности. Сегодня мы изучим разницу и ответим на вопросы, а также объективно и окончательно решим, что лучше.

Что такое Питон?

Питон это крупная змея, которая обитает в юго-восточных регионах планеты. Они не ядовитые и нейтрализуют врагов в основном удушением. Многие из сохранившихся видов находятся под угрозой исчезновения.

Что такое Руби(н)?

Руби (рубин) — это яркий, красный драгоценный камень. Его принято относить к группе четырех драгоценных камней, наряду с изумрудами, бриллиантами и сапфирами. Существует большой спор: рубины — это красные сапфиры или сапфиры — это голубые рубины.

В чем схожесть?

Для незнакомого с темой человека рубин и питон могут показаться идентичными:

  • Динамическая типизация: Тип, к которому относится слово, динамически определяется из контекста. Питон может относится к семейству (питонов), роду (broghammerus) или к виду (сетчатый питон). Аналогично, рубин может быть конкретным минералом (корунд с примесями хрома), или относиться к общей категории красных камней.
  • Интерпретируемый: Питоны и рубины часто используются как символы и метафоры, особенно в поэзии и мифологии.
  • Объектно-ориентированные: Они оба — объекты, но некоторым людям некомфортно относиться к животным как к объектам.
  • Высокоуровневые: Я изучал в университете физику, и все, что больше атома водорода считаю «высокоуровневым». Я не шучу. Мы еще не нашли решение уравнению Шредингера для атома гелия, а это все лишь атом водорода с дополнительной болтающейся хреновиной.

В чем отличия?

Не смотря на кучу схожих черт, существует и значительные отличия:

  • У Рубинов есть блоки, то есть рубины можно складывать в блоки. Если сложить питоны в блоки, то они расползутся.
  • У Питонов есть списковое включение (comprehensions). Рубины — неодушевленные предметы, и не способны ничего включать. ("comprehension" — понимание, поэтому в оригинале получается забавнее: «рубины не способны ничего понимать», — прим. пер.)
  • Питон считается более легко читаемым (на питоне можно написать большие слова фломастером), а Рубин считается более элегантным (естественно).

Какие есть важные примеры?

  • Рельсы (Rails): Рубин можно положить на рельсы, и он останется на рельсах, если только не укатится.
  • Панды (Pandas): Питон скорее всего сможет съесть панду, если хорошенько постарается.
  • Шеф (Chef): Может показаться, что речь идет о питоне, однако шеф-повары обычно избегают рептилий. Но иногда принимают рубины в качестве оплаты.
  • Джанго (Django): Гитарист, который любил змей.

Что лучше?

Зависит от ситуации!!!

Ты обещал объективный, окончательный ответ!

Серьезно. Зависит от ситуации. Что вы пытаетесь сделать?

  • Играть в скраббл: Рубин стоит 9 очков, питон стоит 14 очков, и с вариантами множественно числа можно дойти до бинго. Преимущество: Питон
  • Толкание ядра: Не кидайте змей. Преимущество: Рубин
  • Моделирование соленоидного электромагнита когда в наличии есть цилиндр, но веревку и провод забыл дома: Нужно быть достаточно сильным, но в остальном — отличный способ применения питона. Преимущество: Питон
  • Украшения: С одно стороны, рубины — популярные украшения. С другой стороны, озмерелье это кру-то-та. Преимущество: Ничья
  • Организация будки для поцелуев: Люди предпочитают целовать рубины, а не питонов. Возможно, это связано с повышенным риском заболевания сальмонеллёзом. Преимущество: Рубин

Можно заметить, что в примерно в половине случаев можно сделать выбор в пользу рубина, и в другой половине случаев — в пользу питона. Скорее всего, есть еще несколько мелких случаев, которые ломают красивое отношение 1:1, но они — нишевые и эзотерические.

Какой язык программирования использовать в своем стартапе?

PHP.

Автор: freetonik

Источник

Поделиться новостью

* - обязательные к заполнению поля