Python и ruby ​​- для чего его использовать?

Я немного подумываю об изучении ruby ​​и python, и мне пришло в голову, для чего подходит Ruby/Python? Когда использовать ruby ​​и когда python, или за что Ruby/Python не для?:)

Что мне делать на этих языках?

спасибо

Ответ 1

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

Вы также можете создавать настольные приложения на них, но могут быть некоторые незначительные осложнения при доставке (так как вам обычно приходится отправлять переводчик тоже).

Вы не должны делать критический код или тяжелые вычисления на них - если вам это нужно, сделайте их на более быстром языке (например, C) и сделайте привязку для кода. Я считаю, что Python лучше для этого, чем Ruby, но я могу ошибаться. (OTOH, Ruby имеет более сильное метапрограммирование)

Ответ 2

Если вы хотите узнать, для чего они фактически используют их, ознакомьтесь с Python Package Index, RubyForge и выполните поиск SourceForge или даже StackOverflow.

Как говорит shylent, вы можете легко попасть в священные войны о том, к чему их следует использовать. Как Ruby, так и Python популярны специально для прототипирования, но вы также можете создавать программное обеспечение для производства, например Ruby on Rails, Zope и Mercurial.

То, что они не использовали бы, это код, критичный по производительности (в большинстве случаев это не так) или близко к металлу.

Ответ 3

Они хороши для всего.

У Ruby есть край для перебора текстовых файлов awk/perl. Это немного проще в Ruby. В остальном я думаю, что Python имеет строковое ребро и что он ПОЛНОСТЬЮ субъективен. См. Что у Ruby есть, что Python не делает, и наоборот? и последующий блогпост http://regebro.wordpress.com/2009/07/12/python-vs-ruby/.

Я использую Python для каждой связанной с программированием вещи, которую мне нужно сделать, и будет делать это до тех пор, пока не будет полный сдвиг в парадигме программирования, которая ударит OO-развитие в камень.

Ответ 4

Чтобы избежать священной войны и, возможно, дать другую точку зрения, я говорю (не запрашивая больше информации о том, какую забавную часть программирования задает вопрос, как это здорово):

Сначала узнайте python!

Если вы еще не закончили какой-либо язык сценариев, я бы порекомендовал python. Ядро python несколько чище, чем ядро ​​рубина, и если вы изучите базовое ядро ​​сценариев с помощью python, вы будете более или менее бонусом изучать рубин.

Вы будете (потому что используете python) писать код, который выглядит очень чистым и имеет хороший отступ с самого начала.

Трудности в том, что нужно узнать, это то, что вы на самом деле попытаетесь решить!

Если вы ищете новый производственный язык для решения X, ответ становится более сложным. Является ли X частью языка? Действительно ли был изобретен язык для решения проблемы X?

Если бы вопрос был: Какой единственный язык программирования должен я освоить и в конечном итоге достичь Нирвы? Мой ответ: у меня нет подсказки! (CLisp, Scheme48, Erlang или Haskell, вероятно, были в моем конечном списке, хотя)

PS. Я знаю, что это не то место, на которое можно ответить на очень упрощенный вопрос на этом посту. что может сделать ruby, что python не может или что может сделать python, что Ruby не может.

Дело в том, что когда вы учитесь чему-то, у вас обычно есть скрытая повестка дня, поэтому вы снова и снова пытаетесь решить свою любимую проблему на любом языке.

Если вы действительно учитесь без повестки дня, я думаю, что python в нем самая простая форма - это чистый и четкий способ, и вы должны иметь возможность использовать тот же стиль при использовании ruby.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я предпочитаю рубин в производстве (коммерческая настройка) поверх python. Я предпочитаю рубин над python на окнах. Я предпочитаю рубин над питоном над тем, что я делаю дома. Я делаю это, потому что вещи, которые мне действительно нравятся, более интересны в рубине, чем в python. Мой стиль программирования/привычка, как правило, лучше подходит для рубина.

Ответ 5

Ruby и Python - это языки, нацеленные на облегчение жизни разработчиков за счет их простоты и выразительности - вы можете прочитать больше в статье Ruby vs Python

В последние годы популярность Ruby немного снизилась, в то время как Python набирает много новых пользователей, особенно за пределами веб-разработки. Это из-за широкого применения Python в обработке данных и ML/AI.

Вы можете видеть это также из повесток дня конференций. В то время как конференции на Ruby сосредоточены на веб-разработке и производительности Ruby, конференции на Python больше сосредоточены на науке о данных и машинном обучении - ознакомьтесь с моими путями на конференции по Python, на которой я недавно побывал в Python в 2019 году - на вынос от PyCon CZ