top | item 30209357

(no title)

MakerSam | 4 years ago

Google searches for React and node.js exceed searches for Ruby on Rails by 100% and 50%, respectively [1]. Some people have used this to argue that React/node are more popular than Rails. But I wonder if perhaps this discrepancy appears in Google Trends because it takes more google searches to accomplish the same thing in React/node versus Rails. I feel the Rails ethos of "convention over configuration" allows me to accomplish the same objective with less googling.

[1] https://trends.google.com/trends/explore?cat=31&date=today%2...

discuss

order

jmondi|4 years ago

As someone who came from other MVC frameworks outside of Ruby, learning Rails has been a cluster-f of searching through documentation circa 2013. The whole rails “convention over configuration makes it easier” is a load of bologna, because the only way to know the “convention” is to either have gone to a rails boot camp, reading the docs top to bottom, or maybe watching rails casts.

The best way to work on rails is to either already know rails yourself, or be working with a rails guru, which admittedly there are a bunch of those.

At least with a configuration over convention you can just look at the code and figure out what is happening. With rails, there are certain magical things you just Need To Know and the only way to know those things are to already know them before running into it.

matt_mb|4 years ago

"Reading docs top to bottom" is the answer to this frustration. It's strange that people don't think this is something they should do.

boredtofears|4 years ago

I couldn't have had a more opposite experience. My last job was as a solo dev on a legacy Rails 3.2 project. I didn't even know Ruby when I took the job, but have a lot of experience with other MVC frameworks. Learning Rails has mostly been a breeze with a lot of "I wish framework <X> did it this way, this makes a lot more sense" type of moments.

Rails docs are among the best I've ever used for a framework personally. They blow most things in the JS ecosystem out of the water.

MakerSam|4 years ago

I agree that Rails has a kind of a steep learning curve. Also agree that I didn't find the Rails Casts helpful - I found them out of date, so I didn't spend any time watching them.

For me, learning how to learn a new thing at times seems like the hardest part for me. For Rails, the best I've found is the Michael Hartl tutorial [1]. He walks you through setting up a blog with Rails - first the quick way and then the hard way, so you walk away with a nice understanding. He keeps the tutorial up to date and he's been available for questions when I've emailed him. It costs a few bucks ($39) but well worth it IMHO. I spent a few weeks going through that book, did a few apps on my own, and then was able to create new apps fairly quickly.

The official Rails Guides are a great resource too and kept up to date too [2].

Configuring your local rails development environment is pretty easy with the thoughtbot laptop script [3], otherwise it can be kind of a pain to do it from scratch.

[1] https://www.learnenough.com/ruby-on-rails-6th-edition-tutori... [2] https://guides.rubyonrails.org/ [3] https://thoughtbot.com/blog/laptop-setup-for-an-awesome-deve...

rmbyrro|4 years ago

Shouldn't we read the docs for everything we use?

I'm appalled everything I realize most developers don't actually read docs... It's unbelievable. Do we expect things to work the way each of us imagine? Or what do one expect when starts using something without reading the documentation?

ecshafer|4 years ago

I have the exact opposite experience. I have done a lot of Java - Spring, Node + Angular / React development. And having just started a job with Ruby on Rails, I have never found a new language + framework + ecosystem to be so easy to jump in on and learn and understand. The convention over configuration works really really well.

emodendroket|4 years ago

If that's not bad enough you're probably working on a legacy app with a whole bunch of mix-ins, proxies, Active Record callbacks, and other nonsense that makes it nigh on impossible to understand what any code does.

wonnage|4 years ago

I’m not sure if this is still a thing but I remember the Rails community being obsessed with aliasing methods and other ways of dynamically defining code at runtime. Coupled with the fact that Ruby is already hard to statically analyze and ‘grep’ is your only hope… good luck following the alias_method_chain rabbit hole…

mrinterweb|4 years ago

So maybe your problem is there is too much documentation that spans too far back and getting current relevant examples and docs is the hard part. The rails guides are kept current, but any popular framework that has been around for a while is going to have a similar problem. Rail's guides are pretty good compared to many others I've seen. Also there are books, courses, video series, and plenty of other resources that are up-to-date. There is no shortage of high quality up-to-date learning content available. It just may take some work to weed out some of the older content.

hw|4 years ago

There is a reason why most coding bootcamps are based on Rails and React instead of Go, Java, PHP, .Net etc - they are easy to learn, work and reason with.

> the only way to know the “convention” is to either have gone to a rails boot camp, reading the docs top to bottom, or maybe watching rails casts.

I mean, when learning a new language or framework, reading the docs or watching videos and tutorials are part of the course? What other MVC frameworks have you worked with where someone new could just go in and start building an app without actually learning it first?

andrei_says_|4 years ago

What are some specific “magical things” that are not mentioned in the rails guides?

There’s always room for improvement and the documentation is an important part of the framework.

rileytg|4 years ago

most rails devs i know started with this guide: https://www.railstutorial.org/

combine that tutorial with skimming the top guides gets someone from 0 to very productive in days or weeks depending on prior experience.

conductr|4 years ago

When I learned rails the community had a fundraiser to fund the documentation writing (this was v0.7 or so IIRC). Being able to read the docs sounds like a dream come true.

anm89|4 years ago

this does not match my experience. the official rails docs are extremely comprehensive and are totally up to date.

this is also true for a majority of the popular gems in the community

cooervo|4 years ago

the same BS happens with django

akudha|4 years ago

There was a lady in one of my previous projects whose job was to maintain the integrity of sensitive financial data (she was doing a lot by hand, as they wanted a human to check every number). In the 2 years or so I worked there, there was not a single mistake from her. I didn't hear much appreciation for her from others, but my CTO used to call her the most important person in the company.

Some tools, some people just work, just do their job quietly and efficiently. They do not get any appreciation, precisely because they are too efficient and go unnoticed. JS is not one of them for sure.

pas|4 years ago

> there was not a single mistake from her.

how would anyone know if it was only her on this job? :o)

emodendroket|4 years ago

I would suspect searches are overwhelmingly weighted to beginners to a particular environment.

oblio|4 years ago

Heh. That would have been the case 30 years ago, but nobody can hold info an entire stdlib in their head anymore.

Advanced users just move their searches from Google to the reference docs page.

dontcare007|4 years ago

Maybe RoR is easier. React also seems to change daily, hence a need to keep searching for today's solution. To yesterday's problem...

jacquesm|4 years ago

Or maybe the documentation for the one is better than the other.

dysoco|4 years ago

I doubt this, at least for my country a simple search in LinkedIn of "NodeJS" and "React" have tenfold the results of searching for "Rails" or even "Django".

It might be a bubble but basically every new startup and small/midsize company are using NodeJS and even big companies are building new services with it.

zelphirkalt|4 years ago

At the least, it is a self-reinforcing tragedy. ("Look, all the big players use framework xyz as well, it cannot be that bad then!") JavaScript being thrown at problems, for which it is not so well suited with all its warts. Web developers being thrown at problems, with which they do not have experience, because "Now we can use JS in the backend as well!". In many cases it sets organizations up for getting stuck at local maxima or for straight failure.

rmbyrro|4 years ago

Never thought from this angle and it does make sense. Probably doesn't explain all the difference, but a considerable part of it is not unreasonable to assume.

brightball|4 years ago

I have honestly wondered the same thing regarding Elixir.