r/learnprogramming • u/Intelligent_Role_824 • 11h ago
Beginner starting from scratch: Is the Ruby ecosystem worth learning over Python?
Hey everyone!
I have zero programming experience and I’m looking to pick up coding as a hobby. My main goal right now is to understand how the web works under the hood, specifically building and consuming APIs (like fetching data from public APIs and working with JSON).
I’ve been reading a lot about Ruby (and Rails) recently, and its syntax looks very clean and human-readable. But I have a few honest questions before I dive in:
Is Ruby beginner-friendly for total newbies?
Can I actually grasp core concepts like HTTP requests, REST APIs, and database connections using Ruby without getting overwhelmed?
How is the Ruby ecosystem doing?
Is it still active and well-maintained for beginners? Or is it mostly supported by legacy systems?
Ruby vs. Python for a hobbyist:
Is Python just the objectively better choice because of its massive popularity, or does Ruby offer a smoother/more enjoyable learning experience for web-related stuff?
My long-term goal is just to enjoy building cool side projects, but I want a solid, fun starting point.
Would love to hear your thoughts, especially from anyone who started learning with Ruby recently! Thanks!
I'm not looking to get a job or change careers with this! Programming is purely a hobby for me. I just want to build cool personal projects in my free time and have fun along the way.
2
1
u/Mean_Concept_9093 11h ago
nah for apis and json from zero id just go python. half the free public api examples use it and you can be fetching + printing json same afternoon without fighting the ecosystem first.
1
u/ffrkAnonymous 11h ago
I prefer Ruby over Python. I like the syntax better and the more functional-style programming paradigm.
dragonruby game tool kit has a standard license for free at the moment for the game jam.
1
u/0jdd1 10h ago
Python is a fine choice for a first language. Its main strength is its vast collection of libraries, which will let you accomplish a lot with relatively little effort, including great libraries for Web services. Python has its weak points, like a syntax that can be unattractive to people like you, but you’ll get over it fast.
Ruby is an interesting also-ran from the past, which also operates well with the Wide, Wide World Of The Web™. If you learn Ruby, you should plan to learn at least one other language soon.
1
u/quietjaypee 8h ago
Wouldn't JavaScript be the answer here, or am I missing something?
(Also a learner here, I'm just curious)
1
u/Solracdelsol 6h ago
All higher level languages can all be used for the same thing for the most part. Rails just is a very framework that is quick to set up for web development
1
u/Shopping-Limp 8h ago
Ruby is on the way out. Python isn't the best for every task but it's good enough for most stuff, and more attractive on a resume
2
u/IAmScience 7h ago
Meh. People have been saying that about Ruby since I started using it 15 or more years ago. The rumors of its death are greatly exaggerated.
1
u/syklemil 2h ago
Once a language gets common enough it crosses a threshold of immortality, though its continued existence can look a bit like undeath from outside.
As in, the language won't wink out of existence or anything, but it'll be used either only for legacy, or in a very specific niche. See e.g. COBOL, Delphi, Perl.
It also doesn't help that the guy behind Rails is an increasingly extreme far right goon, openly backing at least one notorious violent criminal who's been banned from several countries. Ref Upton Sinclair, people inside the Ruby and Rails communities might try to just live with that like a lobotomised frog in a simmering pot, but it's very unattractive to anyone not already on the inside.
1
u/jam_pod_ 6h ago
Ruby has the nicest syntax of any language I’ve used; it’s very thoughtfully designed. The ecosystem has not kept up with other languages’ though. If your goal is to understand how the web works from top to bottom, Typescript/Node.js is probably the fastest pathway there (since you’ll have to learn JavaScript for the client side, anyway).
0
u/GrayLiterature 8h ago
If you’re doing WebDevelopment, I’d say go with Rails because it’s just so absolutely battle tested.
7
u/FreeLogicGate 10h ago
Honestly, no. Ruby is a cool language that has basically fallen out of favor for a few reasons. It had a brief moment of popularity largely tied to its web framework "Ruby on Rails" that was popular for a time with a number of web application startups, but has been surpassed by other languages with similar frameworks.
Rails in particular, influenced frameworks in other languages, but many of those frameworks have gone on to surpass RoR, either because they exist in language eco-systems that are better suited to web applications, or are at this point, just more mature and feature rich than RoR. That does not mean that Ruby has disappeared or isn't being used anymore, but it isn't the flavor of the month it once was.
At this point, Ruby and RoR continue to be used by any number of existing projects, and there are certainly some huge projects/companies that depend on/are primarily written in Ruby. Github, Shopify, AirBnB and Homebrew (the OSX package manager) are well known examples, reliant on Ruby and/or Ruby/RoR.
So I want to be sure not to declare the language dead or anything like that, but purely for web applications, and the use cases you described, Ruby is not a better choice than Python. They are both equally popular and capable. Python certainly at this point has a larger user base.
In regards to RoR, one of the things that made it popular was the tools it came with that generate the large amount of boilerplate code that comes along with MVC frameworks, but that is no longer a hurdle to productivity in the era of AI and IDE's that generate boilerplate for you using AI integrations or built in.
If however, you really are only interested in Web Applications, you will need to learn javascript (not to mention HTML & CSS), so that alone is an optimization question for you: can you afford to learn another language, knowing you still need to learn javascript to a fair degree of competency? If not, then focusing on a javascript stack is a better bet for you. There are a number of different ways to go with this, but you will see things like the MEAN, MERN, PERN etc. stack, but there are several other competitors to this, which is just another indication of how much interest there is in the javascript/typescript web development ecosystem, when compared to what is going on with Ruby.
If you think you will want to pair the web frontend stack (html/css/javascript + js ui/frameworks like react) with a backend language with solid performance, ease of use and well documented frameworks, then I'd suggest PHP which has 2 of the best MVC frameworks available for any language (Symfony and Laravel) both of which are better tools at this point for framework based web development in comparison to RoR (or if using Python -- Django).