Hacker News new | ask | show | jobs
by nickjj 2067 days ago
Rails is in a really good place.

When I learned it back in 2015 there were so many resources for learning, it felt like every time I had a specific problem related to a feature I was implementing there was either a railscasts or gorails video on it, along with 10 blog posts and stack overflow results. I can only imagine how much better it is now.

It has been one of the only semi-modern learning experiences where I was able to go from ground zero to building a real application just by reading the docs, getting started guides and Googling.

Opinions combined with a massive community are an awesome combo.

It's definitely noticeable when you try to learn a newer framework with a much smaller community and less opinions. You could end up Googling for what you might think is a common thing to solve only to find zero answers in sight, or there might be a few scattered posts that are outdated and partially implemented because everyone has their own opinions and go off in their own directions. It's just dead end after dead end and getting stuck trying to pioneer stuff without a strong grasp on how things work.

5 comments

This 10,000 times. And it’s not just Rails, the quality of the Rails documentation made an impact on the Ruby community that was generally replicated. Compare that to the JavaScript world where cornerstone, insanely popular libraries will have documentation that covers roughly 10% of a library’s API surface area and maybe one simple example that doesn’t cover production use cases. And dozens of out of date Medium blogs.

I don’t understand how people operate like this day-to-day either guessing at APIs or having to dig through large, complex open source codebases just to figure out basic library functionality.

Maybe it’s my conception of how things should work that’s off, because I’ve met developers who actually enjoyed guessing at library APIs and said they don’t like reading documentation. I hoped they were the reckless fringe minority. Maybe they are actually the majority?

I worked so much faster in Rails. The community made that possible by writing well about how their libraries were meant to be used. And if anyone’s response is “well you should read your open source dependencies’s code anyway,” many times I did have to jump into the code of Ruby libraries and it was a lot easier to read the codebase when the library APIs were well documented, providing a context for understanding. I miss Ruby and Rails.

I've been doing Javascript for a long time and have rarely run into issues with a lack of documentation. Maybe in projects with like 10 stars on Github ran by a single developer but in all of the major Node projects, you're going to have ample documentation and support for implementing said libraries. Just my take.
I've found most JS libraries are as the parent described, low coverage, garbage basic examples. Maybe this isn't the case on major huge libraries, but for your every day library, it's like there's a rule where you have to write the worst docs that still look pretty and all there at first glance, but totally useless and frustrating time and time again. The docs usually feel smug in the way they make it seems so easy and then they don't tell you how to do anything useful, like you are the one in the wrong for trying to use it for a real example or that you are an idiot because you can't just infer how everything would work without docs and examples. You have to learn from StackOverflow issues to understand how to actually do anything. That's my view. Maybe in general people just don't remember anything with good docs, and only the bad examples.

I feel like my ambitions for doing anything quickly are destroyed time and time again after finding a library to help me do it easily and fast the docs are the same old garbage. And these are the top starred libraries for their purpose. "How can this common thing to do on JS not have a huge, widely used and well document library that has existed for years?". It still blows my mind how after years and millions of people using it, so many libraries still have the worst docs.

Ever used Sequelize?
Haha! That’s the one that immediately came to mind. What a dumpster fire.
My question is why Node docs on nodejs.org don't have search
Exactly the same - the community around Rails is what makes it shine. The resources, the tooling (so many well maintained gems out there in the Ruby-sphere, even if a lot of them being Rails-oriented makes other frameworks second class citizens).

Railscasts and GoRails are some of the best resources out there - and without wanting to stan Chris too much, if you're looking for an easy to way to deploy Rails apps, I'm a very happy customer of Hatchbox [0] and Jumpstart Pro [1]. Should really get around to a GoRails subscription at this point...

[0] https://www.hatchbox.io/ (I feel like I sell this in every HN post about Rails, but it's a great tool and he deserves as many customers as possible)

[1] https://jumpstartrails.com/

> It's definitely noticeable when you try to learn a newer framework with a much smaller community and less opinions. You could end up Googling for what you might think is a common thing to solve only to find zero answers in sight

I have felt this exact way when I'm Googling for problems running Rails in modern cloud environments. It seems like there are loads of problems that are largely unsolved in the community at large when you want to go beyond Heroku and stand your app up in containers against cloud components using best practices. As a Rails newbie it has been downright painful and there have been many cases where I wish I was still writing a language like C# or Java where containers and modern cloud architectures have been embraced instead of shunned.

For a sample of one, I've run rails in containers for years without problems. Is your problem the containerization, or trying to split a rails app into microservices?

I've also split a rails application into separate services, but if you really want the MICROservices approach, then you're going to lose most of the advantages of rails.

As someone who learned Rails for the first time last year (previously worked on C++, C#, and Python projects), I concur. I find that most of the SO posts/other discussion of Rails stuff tends to be older, usually pre-2015, and that can be painful when dealing with any technologies that have substantially changed in the past 5+ years.
Almost every modern Rails app runs containerized. Heroku is containerized! What are you having trouble with?
that seems beyond the scope of rails itself. why would you want to complicate deployment as a newbie? what problems are you facing that containerization specifically solves for you, rather than deploying to a (virtual) server directly? and why not heroku to start?
Can't speak for GP, but in my case I had to learn Rails in an environment where the previous devs were no longer available and the whole app was developed on EC2 instances by a different team. Later, the company decided that containerization was the Next Big Thing and we needed to port the app or else we'd have either no platform to run on or no job. I would have loved to do the simple "just run it on Heroku" thing but sometimes that is just not possible due to external pressures. A lot of the success of Rails is due to its "my way or the highway" methodology where you either conform to the vision of DHH or you can get lost, but the downsides of this priciple are obvious when real life won't conform to his vision.
What about rails doesn’t “just work” in a containerized platform?
I'm a Rails newbie, not a software newbie. I was brought in as an engineer with no Rails experience but deep Cloud experience to help break a large complex monolith and yes, we're running into the same "DHH's way or the highway" quagmire that infests the Rails world, as mentioned in a sister comment.
When learning something new, it's usually best not to fight against the stream. After you understand it well, then your efforts to bring it into your old way of doing things will be more fruitful.
Large complex is usually just a bad architectural choice or misunderstanding your business requirements
If anyone has any tips or documentation that might help with regards to Rails containerization, I'm interested in knowing as well.
What specifically are you running into? I may have trouble seeing any gaps in documentation because I’ve been running rails in a containzerized environment for years and it seems to just work
I'm still in the planning stages of migrating rails from ec2 to ecs.

I asked because parent comment said he/she was running into problems. But if your experience is smooth sailing so far then that's great.

I 100% agree that Rails is in a good place as a framework, and that that is largely because of a very active and engaging community and devs who take criticisms and opinions in consideration.

I also think that it is generally easy to find answers to things by Googling them and finding blog entries or stackoverflow answers. But honestly, the Rails documentation is absolutely terrible. Be it apidock.com/rails or api.rubyonrails.org, it's just way too sparse. It's funny because the Ruby documentation is great.

FWIW, when i toyed a bit with Rails (gotta pick it up again, seriously) i used Heroku but quickly migrated over to a Dokku instance ran on my local NAS.

Getting Dokku running on something like Digital Ocean should be easy as pie...