Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Преимущестово Ruby над питоном


Автор: nerezus 26.8.2009, 02:38
Допустим я знаю питон. Есть ли смысл мне учить руби?
Расскажите об его преимуществах над питоном.


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

Моя цель: многопоточные сетевые скрипты, иногда с гуем. И веб, но это вторично.

Автор: Ипатьев 26.8.2009, 08:17
А можно я тоже влезу не совсем в тему?
Правильно ли я понимаю, что вопрос питон верзус руби сводится к вопросу дджанго верзус райлс?

Автор: GrayCardinal 26.8.2009, 11:03
Я после руби  smile  smile  smile ни 
Python ни Perl  smile не перевариваю :( 


Автор: nerezus 26.8.2009, 12:00
Цитата

Правильно ли я понимаю, что вопрос питон верзус руби сводится к вопросу дджанго верзус райлс?
 Ну это для меня вторично:
Цитата

Моя цель: многопоточные сетевые скрипты, иногда с гуем. И веб, но это вторично.

Автор: GrayCardinal 26.8.2009, 12:13
Чтоб не быть голословным, обосную...
Язык на столько интуитивный, что зачастую пишешь 500-1000 строк, запускаешь, и всё работает с первого раза. + Синтаксические ошибки отслеживаются уже в IDE (юзаю Netbeans)

Автор: shine 26.8.2009, 13:41
Вот ссылка на хорошее описание различий на stackoverflow: http://stackoverflow.com/questions/1113611/what-does-ruby-have-that-python-doesnt-and-vice-versa

Автор: nerezus 26.8.2009, 19:13
GrayCardinal, ну именно по этому мне и нравится питон. Они очень похожи.

shine, судя по ссылке, из существенного там только "Python has more libraries".

Автор: shine 27.8.2009, 13:58
Цитата(nerezus @ 26.8.2009,  19:13)
shine, судя по ссылке, из существенного там только "Python has more libraries".

хз. я, например, года полтора назад искал задачу в рамках ruby/rails для которой не было нормальной библиотеки чтобы попытаться написать свою. нашел с громадным трудом. а ведь за это время библиотек меньше не становилось...

да и по ходу работы недостатка в библиотеках не ощущается.

Автор: nerezus 27.8.2009, 14:52
shine, по поводу библиоттек:
1) поддерживается ли RubyQt в актуальном состоянии(под последние версии Qt?) Я нашел на rubygems, но оффсайта в гугле нет. Где он?
qt4-qtruby-1.4.10-mswin32 нашел, но ему больше года, похоже что проект заброшен.
2) Что из аналогов Flex/Bison есть?
3) Нейросети?
4) Графики. Типа этого(мощнейшая либа): http://matplotlib.sourceforge.net/
5) Графика и физика: биндинги к  SDL и ODE.
6) ssh2? http(s) через socks? Что для этого юзать?

Еще у меня проблема возникла при установке: на сайте написано, что последняя  1.9.*, а инсталлер предлагает скачать под 1.8.
Им лень собрать или я невнимательный?
Причем написано Release Candidat 2 на имени файла(rc2), а сбоку написано Stable version.
Это как понимать? Я что-то пропустил, или они ошиблись?

Скачал на rubyforge ruby186-26.exe, вроде последний без RC.
Вобщем не дадите ли ссылку на последнюю stable-версию?

Автор: GrayCardinal 27.8.2009, 16:08
nerezus, 
Хм. ИМХО, стоит убить пару-тройку суток, чтобы ознакомиться с языком. Не понравится - забудешь как страшный сон и всё smile

Автор: nerezus 29.8.2009, 16:25
GrayCardinal, ну я ознакомился бегло...
понравился, но не более чем питон.

Если бы питона не было - то юзал бы руби.

Вот и думаю, какие преимущества он мне даст, не хочу распыляться просто, ибо опыт/2 будет (

Автор: source777 19.9.2009, 22:35
На мой взгляд выбор между Python и Ruby скорее дело вкуса. 

Цитата(nerezus @  29.8.2009,  16:25 Найти цитируемый пост)
не хочу распыляться просто, ибо опыт/2 будет ( 
это довольно странное заявление, опыт же не языком программирования, а решаемыми задачами определяется, если мы конечно о программировании, а не о кодировании говорим.

P.S. Я в принципе в зеркальной ситуации нахожусь... думаю есть ли хоть какой-то смысл изучать Python, с учётом того, что я знаю Ruby. И не вижу никаких объективных причин для этого, кроме как расширение кругозора.

Автор: nerezus 20.9.2009, 02:55
source777, 
Цитата

это довольно странное заявление, опыт же не языком программирования, а решаемыми задачами определяется, если мы конечно о программировании, а не о кодировании говорим.
 Ты забываешь про библиотеки. Лучше нормально знать что-то одно, чем поверхностно 2.

По поводу зеркального - смотри мой пост от 27.8.2009. Как я понял, в руби с этим плохо.

Автор: source777 20.9.2009, 14:51
Цитата(nerezus @  20.9.2009,  02:55 Найти цитируемый пост)
 Ты забываешь про библиотеки.

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

Цитата(nerezus @  20.9.2009,  02:55 Найти цитируемый пост)
Лучше нормально знать что-то одно, чем поверхностно 2.

Может быть, а может быть лучше знать глубоко что-то одно, а остальное хотя бы поверхностно, ибо зацикливаться на чём-то одном не очень интересно, да и вообще до фанатизма можно дойти. В любом случае путей решения одной и той же задачи всегда больше чем 1, даже несмотря на "there should be one — and preferably only one — obvious way to do it".

Цитата(nerezus @  20.9.2009,  02:55 Найти цитируемый пост)
По поводу зеркального - смотри мой пост от 27.8.2009. Как я понял, в руби с этим плохо. 
Да, я бы не сказал, что так уж плохо. Биндинги и аналоги есть, да мне они по большей части (из тех что в списке) и не требуются...

Цитата(nerezus @  27.8.2009,  14:52 Найти цитируемый пост)
1) поддерживается ли RubyQt в актуальном состоянии(под последние версии Qt?) Я нашел на rubygems, но оффсайта в гугле нет. Где он?
qt4-qtruby-1.4.10-mswin32 нашел, но ему больше года, похоже что проект заброшен.
2) Что из аналогов Flex/Bison есть?
3) Нейросети?
4) Графики. Типа этого(мощнейшая либа): http://matplotlib.sourceforge.net/
5) Графика и физика: биндинги к  SDL и ODE.
6) ssh2? http(s) через socks? Что для этого юзать?


1) http://rubyforge.org/projects/korundum/ - 24 марта 2009
2) http://code.google.com/p/cyocor/
3) http://flori.github.com/neuro/
4) по мощности сравнить трудно, но вариантов масса: http://github.com/topfunky/gruff, http://rubyforge.org/projects/scruffy/, http://rgplot.rubyforge.org/, http://ploticus.sourceforge.net/gallery/index.html, etc.
5) http://github.com/jacius/ruby-sdl-ffi, http://github.com/ged/ruby-ode
6) http://net-ssh.rubyforge.org/ для pure Ruby или биндинг libnet-ssh2-ruby

Как видишь, при желании можно найти практически всё что угодно, нужно только полчасика помучать Google  smile 


Автор: nerezus 20.9.2009, 19:06
Цитата

1) qt4-qtruby-2.0.3 - 24 марта 2009
 Вот, я нашел только его. Но где его сайт с документацией и т.д.? 

По остальному впринципе да, довольно неплохо.

Автор: source777 20.9.2009, 19:36
Цитата(nerezus @  20.9.2009,  19:06 Найти цитируемый пост)
Вот, я нашел только его. Но где его сайт с документацией и т.д.? 

Да, собственно, на kde.org есть и обзор возможностей, и дополнительные ссылки на эту тему: http://techbase.kde.org/Development/Languages/Ruby.
Вот, к примеру, одна из них: http://www.darshancomputing.com/qt4-qtruby-tutorial/

Автор: nerezus 20.9.2009, 19:58
source777, нененене, это туториалы. Документация - совсем другое.
Ту страничку я изначально видел.

Автор: source777 20.9.2009, 21:25
Так документация у самого Qt есть, зачем ещё одна? Только ради того, чтобы переводить примеры с С++ на Ruby? Мне кажется, что это лишнее. К тому же и для того же PyQt документации толком тоже нет, точнее в ней ясно написано, что она сырая, пресырая:
Цитата

Because this is based on the Qt C++ documentation it still contains C++ code fragments, broken links etc. These will be fixed in future releases.

Да ещё и непонятно для какой версии Qt:
Цитата

Portions of this documentation have been adapted from the documentation provided with Qt 4.5.1.

т.е. частично обновили, частично нет, а в итоге каша.
Уж лучше официальная документация на С++, чем так...
Схемы "библиотека + документация к библиотеке + биндинг + поясняющие инструкции к биндингу" обычно вполне достаточно, а для активно развивающихся библиотек, таких как Qt, она мне видится как единственно приемлемое решение.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)