Ruby & RoR: true/false ?

lika87

Вообще тема может вызвать много холиваров. А может и не вызвать, поэтому все-таки задаю вопрос.
Щас передо мной стоит задача начать изучать какую-нибудь технологию, которую можно будет потом круто где-нибудь за бабло применить. Ну и естественно чтоб это применение и изучение доставляло фан. Я ваще довольно редко берусь за что-то новое, но сейчас прям хочется, поэтому не упускаю момент, тэк скэть. На ум много чего шло, типа java, python, c# ... Но вот пока что-то выбор падает на Ruby (остальное в той или иной мере предстоит изучать в универе, а там уж видно будет). Говорят - он еще покажет себя во всей красе. Язык ведь и молод, и могуч в то же время. Широкие возможности в масштабировании и все такое. Рэилкасты, комьюнити, нескучные обои. Писать на нем - одно удовольствие. Ну вот я и повелся. Пошел в гугл смотреть, много ли вакансий руби и рельсовиков, оказалось - мизер. Во всякие яндексы, маилы, рамблеры, интелы и микрософты руби-прогеры, как я понял, нахрен не нужны. Такие дела...
Что скажете по этому поводу? Забить или не забить? Хотя мне почему-то кажется, что технология в будущем точно проявит себя.

okis

Есть качественные вакансии. В Qik, например, искали рельсовика недавно.

lika87

Мда, судя по синему/красному бару, рашка как всегда уникальна.

pilot

Судя по столбику с языками — совсем нет. Ну общий тренд на картинке виден.

lika87

Вообще за ссылочку спасибо... Не знал о такой фиче гугла.

Sharp

Не ведись на эту фигню. Как писал Марк Твен (а авторство приписывают много кому): "Существуют три вида лжи: ложь, наглая ложь и статистика".
Google Trends показывает не популярность языка, а показывает число упоминаний в интернете. То есть если кто-то напишет статью "Python и django полная херня", то гугель засчитает это как упоминание, он не будет разбираться хвалят там эту связку или ругают.
Если тебе нравится Ruby, ну и учи его. Чтобы не хранить все яйца в одной корзине, можешь попробовать написать на Python-е, Perl-е — попробовать не сложно, с другой стороны будешь иметь более полное представление о других языках.
Если хочется расти профессионально, то поизучай различные статьи, как заставить Ruby быстро работать, всякие связки nginx+mongrel и т.п. Так же поизучай, как управлять твоим руби-хозяйством на различных платформах: как добавлять нужные пакеты на различных Linux-ах и BSD-ах самостоятельно. Это с одной стороны даст тебе больше знаний о твоем языке, а с другой стороны ты более полно сможешь оценить преимущества и недостатки того или другого языка.
p.s.
если хочешь слушать советы форумчан, то учти, что я — фанат Perl-а, — фанат Python-а. Другие люди будут фанатами еще чего-то. Поэтому у каждого будет какое-то свое мнение относительно разных языков программирования и технологий, и относится к этому надо аккуратно, тщательно все взвешивая и примеряя к себе.

pilot

если хочешь слушать советы форумчан, то учти, что я — фанат Perl-а, — фанат Python-а. Другие люди будут фанатами еще чего-то. Поэтому у каждого будет какое-то свое мнение относительно разных языков программирования и технологий, и относится к этому надо аккуратно, тщательно все взвешивая и примеряя к себе.
Открыл Америку :lol:

pilot

Ну а теперь рассказываю хомячкам почему ты не прав.
0) Не ведитесь на эту фигню. Алкоголик будет писать любую чушь, лишь бы наперекор мне. Примеры — треды про Сысоева, костюмы и тп.
1) Что показывает Гугл Трендс написано на страничке с графиками. Так что отдельного разоблачения не требуется, достаточно уметь читать.
2) То, что ты не понимаешь что означает статистика, не аргумент для того чтоб ее не учитывать.
Совет "все попробовать" — полная чушь. Потому как за пару недель игры с руби ты, например, вряд ли узнаешь что писал о руби разработчик этого самого mongrel, что говорит о руби-программистах как классе бывший теперь уже техдир lookatme и какие там проблемы со скоростью, памятью и библиотеками. А уж зачем было вставлять nginx — не угадаю никак.
Так что надо спрашивать и думать, а не слушать алкоголиков.
Ну и для тех кто не понимает статистики, мое объяснение: рельсы одно время были действительно крутым фрэймворком, на голову выше конкурентов, что помогло распространению руби. Сейчас такого положения уже нет. На самом деле python и ruby примерно одинаковые по уровню абстракции языки, поэтому особого смыла в существовании обоих сразу нет.
То есть большая часть руби это рельсы, а в питоне кроме джанги есть еще куча всего.
Вот обзор на 2007 год (когда график Рельсов был повыше Джанги): http://www.vaporbase.com/postings/91

lika87

Естественно, попробовать всё цели нет. Если б она была, я б тогда не создавал этого топика. А создал я его, потому что как раз возникла проблема выбора, которую стало сложно решать самостоятельно. Каждая технология чем-то привлекает, каждую хочется пощупать. Но время и мозг не резиновые, надо выбрать что-то одно, наиболее интересное и перспективное, остальное же отложить на будущее (если оно к тому моменту не изживет себя). Мне кажется, что руби во многом перспективен, удобен, позволяет реально быстро писать программы. Ну и также интересен - гибрид же, как никак.
Изучать поверхностно тоже особого желания нет, это верно сказано. Ибо тогда какой смысл? Либо разбираешься, либо нет. Быдлокодеров и так хватает.
Да, возможно вы правы насчет бессмысленности существования обоих технологий. Но ведь они существуют, развиваются, используются. Так значит дело вкуса, не? Кто-то выбрал руби и долбается с ним, продает продукты на нем за хорошее бабло (клиенту ведь в конечном счете технология не так важна?) кто-то трахает питона. В итоге колоссальных различий нет, или я все-таки не прав? Корректно ли вообще сравнивать питон и руби как технологии, или все в конечном итоге сойдется к чисто субъективным мнениям ввиду схожести этих технологий?
Я вот пишу на php уже больше 4-ех лет. Знаю, что язык занимает свою определенную нишу, поэтому спокоен за него и не парюсь. Изучать что-то новое приходится не так часто, в основном идет изучение вглубь, а не вширь. Но, в общем-то, надоело, поэтому решил попробовать что-то более высокоуровневое и перспективное.

karkar

Язык ведь и молод, и могуч в то же время.

Не так уж и молод, скоро совершеннолетним будет уже.
Широкие возможности в масштабировании и все такое.

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

Гибрид чего с чем? Там чистое ООП, вроде.
Если сравнивать с питоном, то языки вполне одного уровня. Питон популярнее, для него больше всего уже есть, причем не только для веба. В плане карьеры он сейчас перспективнее. Например, он входит в разрешенный набор языков в гугле, а руби там никому не давали использовать, хотя желающие были.
В более далекой перспективе с прицелом на масштабируемые проекты стоит смотреть в сторону Эрланга и Скалы. Ибо динамически-типизированные ОО языки для больших проектов нифига не годятся.

sergeikozyr

стоит смотреть в сторону Эрланга и Скалы. Ибо динамически-типизированные ОО языки для больших проектов нифига не годятся.
Эрланга
Ибо динамически-типизированные … не годятся
а у нас диссонанс, а у вас?

lika87

Ну ваще странно говорить о не-молодости языка судя только по кол-ву годков. Молодой он _относительно_ других технологий. А если отсчитывать от момента, когда о нем узнал свет - так вообще ребенок.
Насчет масштабирования, я немного про другое. Код на руби - краток и ясен. Позволяет быстро реализовывать сложные алгоритмы используя средства языка. Это все позволяет строить удобный код, который: 1. позволяет расширять его, сохраняя целостность и удобство системы. 2. делать код еще более удобным, без особых отражений на производительности системы. Вот например пхп таким похвастаться не может - чем удобнее код, тем он тормознее. И выглядит неестественнее. С маштабированием (во всяком случае вертикальным) в пхп дела обстоят хреново.
Да, руби тормозной, не смотря на то, что в 1.9 решили часть проблем, а по мере роста проекта тормоза будут еще больше. Но обычно в крупном финансово-обеспеченном проекте проблемы с производительностью решаются просто - закупкой новых серверов. Ибо никому нах не надо по 24 часа в сутки копаться в коде и экономить на спичках или того хуже переписывать бэкенд на чем-нить бодреньком, типа C. Проще долбануть еще пяток серверов и забыть о проблемах на ближайшее время.

asvsergey

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

А где нибудь можно глянуть статистику, как часто крупные финансово-обеспеченные проекты делаются на руби?

lika87

Так вам и сказали, на чем делаются крупные финансово-обеспеченные проекты)
Но суть-то не в этом была. Суть в том, что порой проще добавить еще один сервер для распределения нагрузки, а не ковыраться 100500-ый раз в коде и искать места, где бы сэкономить на спичках. Тем более, если проект действительно стоящий, то это - добавление новых серверов, - не должно быть особой проблемой.

yroslavasako

Но это же не повод совсем отказываться от производительности. Всегда можно подойти с другого края: если на каждые три сервера из-за языковых потерь приходится добавлять четвёртый, а серверов очень-очень много (см. гугл то быть может имеет смысл оптимизировать язык? И python в отличие от руби развивается в части оптимизации: в PyPy уже есть приличные JIT и ligthweight threads.
С точки зрения языковый выразительности - питон круче, я, честно говоря, не встречал равных ему. В каждой отдельной парадигме он не является совершенством, есть языки значительно лучше: процедурная парадигма - си, ооп парадигма - ява, функциональное - хаскел. Но в совукупности питон достигает поразительных результатов. Тебе будет действительно интересно его учить. (Кстати буду благодарен, если мне подскажут хорошую книгу по введению в PyPy, построенную на сравнении сабжа и CPython и выделении полезных и не очень отличий, так как имею намерение сместить область интересов). Кстати, большое количество интерпретаторов - признак жизни и благоухания технологии.
Если смотреть с точки зрения проникновения - питон тоже отличился. Он используется и в отрытых и в коммерческих продуктах как встроенный язык, и самостоятельно способен оформить аппликуху веб-монстра. На нём есть две системы компьютерной алгебры (sciPy, Sage он широко применяется в батч-скриптинге (на уровне перла тот же самый гентушный emerge основан на питоновских либах. Ну и самое главное - питон любит гугл, по-моему, даже чуть больше чем он любит яву.

lika87

Ну я не говорю, что на код вообще надо плевать и на технологии - тоже... Надо, надо, надо быть профессионалом и знать, как решать проблемы. Проблемы будут возникать где угодго и на чем угодно, и эти проблемы надо решать. Проблемы будут и с руби, и с питоном, и с пхп etc. Нет проблем - нет дальнейшего развития.
Гугл в этом плане вообще уникумы, я считаю. Борятся за каждый байт, ага. Но гугл такой гугл...
Один из самых известных проектов на руби - это твиттер. Проблем конечно они в свое время много наполучали, но сервис-то нехилый. Подробнее можно почитать здесь, это может быть кому-то интересно: http://www.insight-it.ru/masshtabiruemost/arkhitektura-twitt...
В общем, мое мнение, проблемы есть и будут всегда и везде. Конечно, надо бы найти золотую середину в таком случае, но это целиком зависит от ситуации.
Т.е. сейчас, по сути, все упирается в распространение технологии. Причем толком никто сказать не может, чем принципиально питон круче руби и наоборот. Все основывается только на каких-то фактах из разряда "да, есть такая загогулина - смирись".

pilot

Ты чего спрашивать-то пришел тогда? Если ты уже упертый фанат Руби? :grin:

lika87

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

yroslavasako

Ты чего спрашивать-то пришел тогда? Если ты уже упертый фанат Руби?
самовнушением заниматься.
Меж тем обратите внимание на даты. Практически всё это выросло за год. Даже грибы после дождя так не растут. И я думаю, что развитие питон технологий - это не спроста, а очень даже хороший индикатор.
А топик стартера тоже можно понять. Он же хочет изучить что-то одно. В случае руби - ясно что изучать, а вот с питоном ситуация кардинально хуже.

pilot

попутно надавав оплеух за ламерство :)
Тебе надавали, ты не заметил, можно радостно учить руби дальше ;)

lika87

можно радостно учить руби дальше
Ну да, это, кажется, лучшее, что теперь можно сделать) Ввяжемся в бой - а там и разберемся.

karkar

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

Теперь твоя очередь рассказывать чем питон круче.
Насчет развития множества интерпретаторов - это и в Руби происходит. Помимо MRI (классический интерпретатор от автора языка) и YARV (vm с байткодом, ставшая основой версии 1.9) появились jruby (самая полная поддержка языка из альтернативных реализаций, неплохая скорость, настоящие потоки, доступность всех джавовских библиотек Rubinius (типа PyPy IronRuby (типа IronPython - .net enterprise edition (форк официального интепретатора с уменьшенным потреблением памяти и лучшей скоростью) и весьма интересная заявка maglev (на базе наработок strongtalk'a - очень быстрой реализации smalltalk'a).

6248874

Один из самых известных проектов на руби - это твиттер. Проблем конечно они в свое время много наполучали
и переписали backend часть на scala

lika87

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