D
D
DmitryShlyomin2015-02-20 00:11:39
ruby
DmitryShlyomin, 2015-02-20 00:11:39

What to study: Ruby or Node.js?

I would like to hear in more detail the opinion of knowledgeable people about these two languages. I know that the scope of their application is slightly different, but still: which is better to choose?
Googling, I read that the advantage of Ruby is the RoR framework with many necessary libraries, thousands of written gems (correct if I said something wrong), while Node.js is tied to events and asynchrony ( + familiar with js).
Personally, it seems to me that Node will be more promising, but working with a server at a low level + lack of literature on the Great and Mighty (English is at a level, but you read it faster in your native language) scares off a little.
PS Before that, I developed it in php.

Answer the question

In order to leave comments, you need to log in

10 answer(s)
T
Timur Shemsedinov, 2015-02-20
@DmitryShlyomin

Take a node, it also already has everything ready in NPM, no less than on RoR, but don’t just get hooked on “everything out of the box”, the main thing is to decide on the technology stack and architecture, this is more important than the language, now they are developing more even frameworks rather than languages. Determine the tasks for yourself, what you want to solve on the node, what to write, what to use for: regular sites or CMS, SPA sites, sites or SPA applications, Rich applications adapted for mobile or you will only deal with backend and work in a team with someone who will write the frontend. You need to choose everything in the complex, DBMS, browser framework, server OS, hosting options. I recommend this stack: CentOS, Node.js, MongoDB / PostgreSQL, React. What links do I advise:
1. My article on Habré - habrahabr.ru/post/204958
2. My answer to the question about frameworks for node is here on Toaster - Advise framework for node?
3. Video tutorials on node.js - learn.javascript.ru/nodejs-screencast
4. About Impress - habrahabr.ru/post/247543
5. Various answers about language choice - Actual programming language

T
thepry, 2015-02-20
@thepry

Enjoyment of the language also matters. For example, it is much more pleasant for me to write in ruby ​​than in js.

R
Roman Kolesnev, 2015-02-26
@mr_ffloyd

I'm a rubyist and didn't work much with the node. Much more with client-side js. My opinion is that ruby/RoR is better for the following reasons:
1) Language. Ruby design is superior to js, ​​objectively. Just go to wtfjs.com and browse.
2) Ruby is closer to functional languages. Namely, functional paradigms are now more and more relevant in view of their effectiveness in solving problems related to parallelization and load distribution. An example is the actors that have become widespread in recent years.
2.5) Я не знаю ни одного человека успешно изучавшего haskell, который не смеялся бы над js. Может такие есть, но это редкие звери) Я это к тому, что полезнее уделять больше времени языкам, которые содержат в себе мощные и слаженные между собой идеи, вникать в эти идеи, развивать мозги. Посмотрите на Scala: мощнейший и довольно сложный язык, но изучая его просто для себя я заметил, что стал лучше писать на ruby и c/c++. Js мне такого блага не давал.
3) В RoR среде средний уровень качества кода выше. Это мнение я слышу часто и склоняюсь к тому, что это правда. Порог входа в js сильно ниже порога входа в ruby, RoR старше и матёрее.
4) NPM догнал rubygems количеством, но не качеством.
5) Для большинства сайтов вполне хватит rails-based-инфраструктуры.
6) About prospects. Technologies are developing rapidly, but I am almost sure that RoR will be at its peak for another 3-5 years at least. What will happen next - I do not know. But after working with RoR, you will learn a lot from it and from the language itself. And if you want to work at a low level with the server - I would recommend Scala / Akka, Erlang / OTP, go, clojure is still possible. After them, decide you will write code in node.js - it will be prettier and cleaner than without such experience.
In suma: RoR will be harder, but more brain-friendly. It is promising to be able to functionalism. The main and huge trouble with node.js is in the language. What a good idea.
In general, the most important thing is that you feel good about yourself. Try ruby ​​as a language - maybe despite all of the above, you won't like it corny)

Станислав, 2015-02-20
@ms-dred

ПС. Rubu ни разу не юзал, только слышал про неё.
Я тоже раньше на php писал, полностью перешел на node.js, знаний в котором до сих пор маловато, но хватает для запуска проектов на node, и вполне отлично работают, без сбоев. Изучаю где то 6-8 месяцев, были костыли, переписываю код по мере познаний, учусь короче на своих ошибках и правлю их. Писать на ноде интереснее, но сложнее чем на PHP, тут все упирается в знания js и знаний в возможностях node.js. JS до этого знал не особо, аля менюшку сделать, POST запрос послать, в общем скромно все, набираюсь знаниями до сих пор.
Работает нода значительно быстрее PHP, сравнивал пересаженный проект на ноду с php, скорость отдачи контента увеличилась более чем в 2 раза, что уже говорит о многом. На PHP в данный момент нет никакого желания писать что либо, потерял к нему интерес совсем.
Радует количество различных модулей которые как раз таки и помогают работать с node.js, сейчас опять пишу проект и вновь на node.js, очень сложный проект, но node.js + mongodb творят чудеса =) Работает неимоверно быстро при очень "жестких" выборках.

A
Andrew Boyko, 2015-02-26
@anderles

Я затятый php-шник, делаю проекты свыше 10 лет. Перепробовал кучу всего что есть в php мире. Сейчас делаю большие соц. проекты с помощью zf2 и laravel framework. В команде в одном из последних проектов делаем real time приложение(в основном обработка видео и картинок). После тестового приложения на php поняли что что то не то и как то туговато все здесь происходит(Использовали MongoDb, Ratchet, RabbitMq, Zf2, Laravel + многопоточность) (может мы как то не так оптимизировали весь свой php стек - но было чувство что сделали огромного зверя и не поворотливого). Начали смотреть в сторону nodejs и go. После всяческих тестовых прототипов было решено двигаться в сторону nodejs. Go в некоторых случаях даже лучше чем Nodejs - для меня в первую очередь - это то что он компилируем. Ну и не на много но быстрее! Так что если есть время тогда лучше посмотреть в сторону Go Lang. Некоторые здесь говорили что для большинства сайтов подойдет rails-based инфраструктура - Я с этим категорически не согласен(Извините, но это мое ИМХО). Для большинства сайтов как раз таки подходит php+js-based инфраструктура. Это также подтверждает количество разных фреймворков и библиотек сделанных на этих двух языках. Может я плохо искал но я не видел на фриланс биржах такое количество запросов у руби как в php или может кто то делает фронтенд на руби и без js? Почему мы в команде сделали упор все таки на nodejs? Все просто потому что я и почти все из моей команды считаем что эти два языка не то чтобы за 5 лет не выйдут из пика(как говорилось выше про руби и RoR), а они еще будут и 20 лет развиваться. И сугубо мое мнение что Java Script вообще не умрет никогда )). Сейчас nodejs отлично справляется со своей задачей - а это обрабатывать запросы с фронтенда создание видео и фото файлов или даже целых куч стеков таких файлов. Не обошлось и без php в нашем случае он работает с консольными демонами. А что можно посоветовать так это то что нужно смотреть на стабильность и рост как языка так и целых стеков. Что не нравится в nodejs так это то что код постепенно может превратиться в лапшу, но такое может быть и в php :). Ну и для разработчика вообще хорошо знать не только интерпретируемые языки но и компилируемые. Спасибо за внимание!

N
Nikolas Lindemann, 2015-02-20
@L-N

Вы что, любитель экзотики??? Чем вам PHP не угодил? Он прекрасно подходит для этих задач.

Илья Ерин, 2015-02-26
@ilyaerin

Все зависит от ваших задач. Каждый инструмент под свою задачу.
У нас в проектах используются оба инструмента: и RoR, и NodeJS. Код на руби получается более элегантным и приятным, его быстрее писать и поддерживать.
До перехода на руби несколько лет писал на php, при этом пользовался кучей велосипедов, и разных библиотек. На рельсах очень многие вещи стандартизированы и доступны из коробки. Разрабатывая на RoR чувствуешь себя более счатсливым, чем при разработке на php фреймворке / nodejs. Кстати, если хорошо знаете php, то вторая версия yii — очень неплоха!

A
Andrey Ashgaliyev, 2015-02-26
@h0001

P.S. До этого разрабатывал на php.

А сейчас не разрабатываете?
Ради прикола начал бы с Nodejs

Роман, 2015-02-27
@losaped

По поводу rails-based можно и на node.js. я так же как и вы столкнулся, как и Вы с подобным выбором. Поковырялся в рельсах, потом сеиья-работа, не осилил. Хотя довольно интересно. Потом ради мотивации домашних прошел платный курс по js. Полез искать похожее на ror в ноде и наткнулся на sails. На моем уровне понимания ror Sails показался довольно похожим. Так что гляньте

Димон Дивитай, 2015-08-21
@RedFast

насчёт Ruby, Alexandrescu (один из лучших спецов по C++ и автор D) сказал так
"Нет языка, который не работал бы быстрее в 50 раз чем Ruby... включая сам Ruby"
Сейчас Конечно прогресс растет) И все болеют за скорость!!! А если учесть асинхронность то мне кажется Руби нельзя сравнивать с Нодой ващпе никак!
Но! Руби по своему харош в плане красоты и аккуратности! Увы для меня скорость важнее(

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question