Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Ruby , PHP or Python as my first backend language??

Guys im currently taking the front end web development track and im in love with it i`m already more then half way completed and i will be picking a javascript framework afterwards possibly react or angular but anyways i also wanted to deep my nose into the back end to see how things work and actually make my own website and make it dynamic and be able to capture all the input for you seasoned developers what back end language do you recommend ? i heard ruby on rails is very easy and beginner friendly but also heard is obsolete i want something that will eventually help me land a job i cant deside Help me and thanks in advanced !!

2 Answers

Eric M
Eric M
11,545 Points

I wouldn't call Ruby obsolete, it's not COBOL or anything, but the rise of node.js and the ability to use JavaScript as a backend language have certainly slowed its rise. Python has become more and more popular rising in the estimated usage ranks consistently over the past 3 years.

Python and Ruby are superficially similar syntactically and generally utilize frameworks for web work (Django and Flask for Python, Rails for Ruby). Python also has applications in data analytics through libraries like numpy and pandas and is also useful in machine learning.

PHP doesn't have a lot of flexibility outside of web programming and there are some design decisions (or seemingly lack of decisions) that make the language a little inconsistent. I've used PHP, Python, and JavaScript professionally and PHP is the only one I deliberately shy away from, but it's possible to write great code, or terrible code, in any language.

Considering that JavaScript can be used for both front end and back end web development thanks to node.js, and all of the languages that you've mentioned are interpreted languages with roughly similar type systems, you might get more out of learning something very different next. Learning C# or Java would give you a different perspective, and after learning JavaScript and one of those picking up Ruby or Python would be even easier. On the other hand a deep dive into advanced JavaScript and getting great at React and Node would expose you to a lot of concepts in a language where you know the basic syntax. It's certainly worth getting a little beyond intermediate before learning the basics of another language (it will make the learning faster).

Personally I found learning C and having to manually deal with memory to be illuminating, though it was at times frustrating and I wouldn't recommend it for a second language. Maybe as a 4th or 5th though, it will really give you insight into what software is doing under the hood!

Here's Bjarne Stroustrup (the creator of C++ and a much smarter person than me) talking about what programming languages he thinks you should learn

Doesn't matter. Pick ONE and master the heck out of it. You'll have no problem finding work after that. And once you are a master, you'll have zero problems finding another job in say PHP if you lose one PHP job.