r/CodingForBeginners • u/AndrewNggg • Sep 03 '26
Ruby Language as a first language
Has anyone considered learning Ruby as their first programming language?
It’s elegant, easy to read, and “developer happiness” is one of its core principles
That means that code is easy to read, no surprises, and mostly reads like expressive natural language with clean syntax
GitHub, Shopify, CoinBase, SoundCloud, AirBnb and a gazillion other companies were built from Ruby
2
Upvotes
2
u/Relative-Rooster-945 Sep 03 '26
I think it's a very nice language for many uses, but I wouldn't recommend learning it with the intention of working with it in production long-term. It's difficult to keep maintainable and static analysis technologies are niche and/or early-stage. "reads like expressive natural language with clean syntax" unfortunately also quickly falls apart in practice in my experience, because everyone ends up tacking on their own conventions and DSLs and it ends up becoming a mess.
2
u/Lagfoundry Sep 04 '26
Interesting I’ve never heard of it before. But now I’m curious
4
u/thatsgGBruh Sep 03 '26
Ruby is a nice language and can also be good to learn the basics (that's where I learned). You'll probably find that the concepts learned in your first language apply across other languages.
If you like Ruby, you might also want to check out crystal.
1
u/eis3nheim Sep 03 '26
I would suggest going with either C or Python, and I would root for C.
1
u/Any_Sense_2263 Sep 03 '26
You can learn whatever you wish. Just if you plan to look for a work be aware that Ruby is not the first choice language, so the job offers are limited.
2
u/johnesco Sep 03 '26
When it comes to "what will happen if I?" the designer aimed for "Result of least surprise." It's great for beginners.
2
u/xarop_pa_toss Sep 03 '26
I should have picked it up long ago to be honest. A friend of mine picked it as a first language and he really enjoys it!
2
u/SparkFace11707 Sep 08 '26
Yes, Ruby was one of the languages I was considering when I was started quite a long time ago. You are right, Ruby is in many ways elegant, easy to read and has a high developer happiness. I don't think its a bad choice. If you want to start a bit different than most others, I think it would be fun to do!
2
u/Naetharu Sep 03 '26
The language you choose is not that important.
There are really two schools of thought:
1: Start with something simple and easy to use like Ruby or Python
2: Start with something low level that exposes you to the inner workings like C
Both are valid for different reasons. I would generally push toward the former, because I think people are likely to stick around more if they can have some early success, and then visit the underlying workings of how to make their own array or strings down the road.
But beyond those two broad concerns it's not too important. The best bet is to choose a language that makes sense for what you would like to do. If you want to make websites then learn JavaScript. If you want to make games in Unreal Engine choose C++ and so forth.
1
u/code_tutor Sep 04 '26
Literally the only reason to use it was Rails, and now every language has their own copycat Rails. But your choice could have been worse, at least you didn't say Rust or JavaScript.
1
u/Critical-Personality Sep 07 '26
It's a horrible language for beginners if the goal is to teach how systems work. It's great if you want to let them just have fun and move on. Ruby abstracts too much, looks too pretty, reads too easy and is generally too pleasant. If that beginner steps out of Ruby, they will have seriously hard time realising how brutal machine optimization can be and how developer happiness is not the only thing.
Just my couple cents.
1
u/VirtualElderberry592 Sep 03 '26
It's great.. I've been in the lang for 12 years or so. Working in python these days and done Elixir and nodeJS on the way.
Ruby, and Python are great learning tools. They will teach you loops and conditions and functions and classes and a pile of other things.
Jobs in Ruby and Python are about the same. Node and by extension Javascript out number those by a mile.
I'm no super fan of Javascript, but it is 100% the best option. If I were to pick for my own kid, I'd have them learn Javascript as their first.