Что получит программист Python, изучив Ruby?

Я собираюсь изучать Ruby , Haskell и Prolog в университете. Теперь мне интересно, что должно привлечь мое внимание. У меня есть полгода, чтобы изучить все три, а это значит, что мне нужно выбрать один язык, чтобы получить дополнительное время. Остальные я выучу ровно настолько, чтобы очень хорошо пройти курс.

Я достаточно знаком с Haskell и Prolog, чтобы знать, что их изучение научит меня нескольким очень важным концепциям информатики. Я не уверен насчет рубина.

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

Это вопрос не предназначено для «обоснования» рубина, хотя я понимаю, что это потенциальная тема для серьезных споров.

Сейчас я использую Python для всей своей работы с CS. Я тоже довольно много занимался функциональным программированием. Я также уже хорошо знаком с объектно-ориентированным программированием (на Java, Python и C #). И, как я уже сказал, я займусь логическим программированием на Прологе.

Чему же Ruby может научить меня?

Чтобы еще больше ослабить вопрос:

  • Я не заинтересован в написании забавных программы или классные веб-приложения. Меня просто интересует компьютер Биты науки. Реализация алгоритмов, структур данных и так далее. (Хотя веселье, конечно, не повредит)

  • В идеале, обсуждаемые концепции должны быть изучены примерно за 1.000 часов.

  • Меня совсем не интересуют Rails . Любая технология, скрывающая сложность, в этом случае вредна.

Я не могу не аргументировать этот вопрос. Но идеальный ответ на этот вопрос будет упоминать глубоко важную концепцию теоретической информатики, которую рубин помогает программисту использовать и понимать, чтобы получить дополнительные научные знания.

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

16
задан Joel Coehoorn 9 December 2011 в 19:06
поделиться