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 trialBryan Sattler
6,408 PointsFuture of Ruby
Hi all,
So I'm thinking of focusing on Ruby but I'm hearing some conflicting opinions. Some are saying that it is best to focus on Django, Scala and Node.js.
Before I devote a lot of time to Ruby I wanted to get some opinions. I'd like to focus on what will make me most competitive in the marketplace (other than obviously having to know PHP).
Thanks!
8 Answers
Victor Miclovich
9,108 PointsLearn a couple of frameworks; You can start with Sinatra (after doing some bit of ruby foundations), then scale up towards Ruby on Rails; play with some nodejs (and integrate with RoR). This journey into deep code, involves lots of ups-and-downs in the process.
I love Python, I also love Ruby; but being a polyglot helps you decide what tool is best for the job. If you do want to start exploring other languages, you can take a look at Python some more, play with microframeworks like Flask or Bottle and then hack some django apps later.
Another up and coming language is Clojure, with a growing community. Happy hacking.
Troy McConaghy
1,272 PointsIf a programming language comes into wide use for any amount of time, then it will probably never die, and anyone who is an expert in that language will have opportunities to use that language for a long time.
For example, Fortran and COBOL were among the first high-level programming languages invented (in the 1950s) and they're still in wide use today (albeit not for web development). PHP may seem "old" but most of the WordPress and Drupal server code is written in PHP, so PHP will never go away either.
Thanks to Ruby on Rails, Ruby has come into wide use for making web apps, so it will never die out. If you become an expert in it, you'll have plenty of opportunities for a long time.
Bryan Sattler
6,408 PointsCool to see you're a believer too!
Suli S
1,475 PointsI have a friend who works at Microsoft and specifically with the asp.net team. He told me that Microsoft will introduce many many things next year and they are keeping improving the framework.
I'm not sure about he was telling me, what do you think of asp.net anyway?
Victor Miclovich
9,108 PointsChoose the "right poison" for the Job; you will probably notice this amongst many tech circles, we always argue about the best tool or framework for a job; this boils down to cultic tendencies. ASP is awesome; however, I personally prefer to work with UNIX tools (i.e. python, ruby, ruby on rails, django, etc.), that route. However, other folks are ok with Microsoft technologies.
I love the support behind open source communities and the fact that you can bootstrap systems without having to pay a dime (Microsoft).
Choose the right CULT :-)
Bryan Sattler
6,408 PointsThank you Victor! That is an awesome explanation.
I really want to become a great web app developer so I'm glad that I can get insight like this.
Victor Miclovich
9,108 Points:-) you're welcome dude; just keep looking at different stuff and over time, you'll become a sage and the sky is definitely the limit when you start working on app ideas or a startup ;-) cheers and all the best.
Troy McConaghy
1,272 PointsIt seems to me that you should first decide what you want to do. Then find out what languages are used to do that.
For example, if you want to write operating system software (e.g. drivers), then Ruby is a terrible choice. If you want to write scientific software, then again, Ruby is a terrible choice. High-end 3D video games? Not with Ruby.
Ruby is popular among web developers, for server-side code, mostly thanks to Ruby on Rails. Ruby is certainly not the only option though: PHP, Python, .NET languages, and even JavaScript (node.js) all have their fervent supporters when it comes to writing server code for the web. They all work fine. They all have their happy communities.
Bryan Sattler
6,408 PointsThanks Troy!
I'm mostly interested in building web apps and websites, not OS software or 3D video games.
My question was more so focused on how valuable Ruby is to learn compared to other languages. I'm trying to create a plan for what I should learn first and specialize. Since learning a language requires a lot of effort I want to be sure that invest my time wisely in what will make me marketable for the longest period of time.
What do you think?
Paul Graham
1,396 PointsRuby is probably the least popular of the major web languages but the usage of it is widespread enough to definitely still consider it a major language. Once you get less popular than Ruby, you drop off a cliff. I see no reason it won't continue to be popular as it's wonderful.
My guess is that JS on the server is going to dwarf Ruby in a few years. Until then, PHP and Python are the most common languages so if you're looking for a job quickly, those are probably the way to go. PHP has more than 3x job listings on Craigslist right now than Ruby, Python, and Perl combined. It's not going anywhere anytime soon and as much as it's been denigrated in the past, recent versions have improved it dramatically.
Ruby is certainly a good choice and you should learn some stuff about it anyway simply to be able to use the Ruby toolset which is excellent. I write very little Ruby on the server but there are still RubyGems I use every single day.
But to address your last statement: "Since learning a language requires a lot of effort I want to be sure that invest my time wisely in what will make me marketable for the longest period of time." The answer is JavaScript. JavaScript will own everything soon on both server and client. Learn everything you can about JS and then learn some more.
Bryan Sattler
6,408 PointsThank you Paul! That was a great answer and very helpful in making a decision.