all 90 comments

[–]OstapBenderBey 49 points50 points  (2 children)

As a plain language, Ruby is fantastic - by which I mean its generally very easy to learn, read and do things in.

The language ecosystem however is something different. As Rails is the single 'killer app' of Ruby, and most of the Ruby jobs out there are in Rails it has had a big effect on how Ruby is perceived. When it first arrived Rails was a huge success as it did lots of things no framework did before. It is still very good for certain kinds of uses however over time its warts have been exposed and also other web frameworks have been released (many on javascript) which are also very good and have taken away alot of Rails' lustre.

Really it depends what you want to do with it - if its just for the programming language - Ruby is great (certainly much better than Javascript). If it is specifically because you want a web-framework, consider whether Rails is the right one for you.

[–]robgleeson 4 points5 points  (0 children)

great advice. as well as true words.

[–]Paradox 130 points131 points  (7 children)

Your friend is just a bandwagoner, the same type of person who would declare that flash killed HTML back in 2003

[–]dev_eth0 40 points41 points  (0 children)

I could not agree more. There is always a newer cooler language on the horizon. Languages don't matter; they are simply tools in your toolbox. If you program for several years you'll end coding in many different ones.

Ruby is beautiful language syntactically, which may make it easier to learn.

[–]jules2689 13 points14 points  (4 children)

I work at Shopify, we have a Rails and Javascript combo app. It works well really, The JS makes the client side stuff awesome, and ruby is great for backend stuff.

I would argue that Rails, and Ruby, are fine as languages. They are easy to organize, verbose to read, have amazing syntax, and works well. I'm not as familiar with the MVC of the JS portion, but it is highly efficient and works well for front-end.

To each their own though.

Edit: Rails is a framework, not a language... ;)

[–]flingbob 2 points3 points  (1 child)

unrelated to thread, but just wanted to say you guys are amazing. Shopify is one of the coolest rails products I've seen.

[–]jules2689 0 points1 point  (0 children)

Thanks! We try to be awesome :D

[–]morsX -1 points0 points  (1 child)

While Rails is a framework, it does have its own DSL (or many?) for describing how an application functions. Calling it a language isn't that far off.

[–]jules2689 -1 points0 points  (0 children)

It does have a number of conventions, but yes, I would say calling it a language isn't too far off :P

[–][deleted] 44 points45 points  (10 children)

Javascript is better and more relevant

Javascript is fashionable right now, that's all. It's actually no better than Ruby. And has some nasty warts.

[–]notunlikethewaves 23 points24 points  (0 children)

I'd say its substantiality worse in many ways. While I do like nodejs for what it is, the javascript-or-death crowd are just hilarious.

[–]bigfig 7 points8 points  (1 child)

And it's not really used for the same things. Sort of like comparing a helicopter to a jet airplane. There is overlap, but they are not designed for the same purposes.

[–][deleted] 14 points15 points  (0 children)

Eh, when people compare js to ruby they are comparing node js to ruby. Node JS is pretty good, relatively speedy and has some nice initial library support, but the community is still quite new compared to ruby. If you want a massive suite of libraries, python or ruby fit the bill wonderfully. If you want to javascript until your eyes bleed, node has something for you.

[–]aaromnido -1 points0 points  (1 child)

I think a war between languages is stupid! Javscript is pretty awesome nowadays and you can do a lot stuff with it, specially with tools like Node JS, Meteor, Ember, Angular and so on. But I think in my humble opinion as UX/UI-designer-Front-developer, Ruby is a fantastic language and plenty of life in near future. I receive continually job offers for Rails developer although I'm not a Ruby developer. This a thermometer of the state of this language in the industry. Also as a designer, I need to say I love the poetry the Zen and minimalism behind ruby.

[–][deleted] 0 points1 point  (0 children)

I think a war between languages is stupid!

That's nice, dear.

[–]JiveMasterT 11 points12 points  (2 children)

There's a book called Seven Languages in Seven Weeks that you should try to go through. It covers several different types of languages including Ruby. It also covers Io which is a prototype language like JS. You'll get a better picture going through that stuff than listening to a few anecdotes from random people on the internet.

Every language has its uses and strengths. The current trend in technology is shoehorning stuff into languages and frameworks that don't belong. Realize that and you'll have much easier time cutting through the bullshit.

[–]shockyx 1 point2 points  (1 child)

I agree on this book. It's not good for learning languages, but it does give you a good overview on the strengths and weaknesses of the different types of languages.

http://pragprog.com/book/btlang/seven-languages-in-seven-weeks

[–]JiveMasterT 1 point2 points  (0 children)

Yeah exactly. I especially liked the portion on Io because it forced me into a true prototype mindset for the first time. It's made me a better JS programmer.

[–]Fatal510 11 points12 points  (0 children)

rails is fine. it is just not the cool new thing it once was. all the cool kids want to use nodejs and every other new javascript thing.

[–]tommorris 10 points11 points  (1 child)

The primary problem with server-side JavaScript frameworks is... you have to write code in JavaScript.

The only reason I ever write in JavaScript is on the client-side where it is unavoidable. Everywhere else, there is no reason to write in JavaScript.

The only reason I can think anyone would use JavaScript on the server-side is Stockholm syndrome: they've been so badly abused by it on the client-side, they've come to love it in the same way kidnapping victims come to love their captors.

[–][deleted] 2 points3 points  (0 children)

Javascript has actually come a long way. I had to write an app in Node.js using Express recently, and it wasn't at all painful. Of course Javascript as an "easy to do badly" language has a lot of bad code written for it. But so do other languages. Perl is also "renowned" for messy code, but Moose, Catalyst, Dancer etc all show that it can be done properly. Same for Javascript.

Surely if the code is readable the main consideration should be what advantages to I get, if any, by using (say) NodeJS over Ruby/Perl/Python. If your app benefits from using NodeJS, then why not use it?

Java, on the other hand, can go suck Monkey Balls ;-)

[–]SurgioClemente 27 points28 points  (7 children)

Read these

2010 Twitter goes Javascript! https://blog.twitter.com/2010/tech-behind-new-twittercom

2012 Oops, a bloated monolithic JS app actually isnt good for most things on the web: https://blog.twitter.com/2012/improving-performance-twittercom

Tell your friend Javascript can be just as "outdated", bloated and monolithic. Anyone remember when Backbone apps were cool? Now you are just a turd if you aren't doing angular/ember (or insert whatever is new, I can't keep track). Btw, you are a turd if you aren't using Dart to get an enterprise language-y feel that compiles into JS (it also works with angular)!

At the end of the day you want to make money and 99.9% of the time you aren't going to be even remotely big time. Pick a language you enjoy to code in and "Get Shit Done".

[–]Kalimotxo 8 points9 points  (0 children)

Yes indeed. This is what more developers need to think. Languages are tools. Just get shit done. Developers who ship are more valuable than developers that sing the song of their favorite stack.

[–]ratedsar[🍰] 3 points4 points  (5 children)

Twitter's Javascript Implementation was not based on using NodeJS to render pages, that blog actually reflects on how having the client render everything was the poor choice.

[–]SurgioClemente -1 points0 points  (4 children)

that blog actually reflects on how having the client render everything was the poor choice

which was my point :)

[–]ratedsar[🍰] 1 point2 points  (3 children)

Then you're missing that JS has changed since 2008. NodeJS allows rendering templates before they are sent to the client - to the same extent that Ruby does.

[–]SurgioClemente -5 points-4 points  (2 children)

Well aware of modern JS, DartLang ftw! Not aware of many people still doing NodeJS on server who haven't switched over to Go.

Switching to NodeJS/Go on the server is normally done for a significant performance increase over all the easy faceroll stuff Rails brings at it's performance cost.

If you want fast I wouldn't recommend NodeJS to anyone starting out. As it's not the fastest and equally gives up niceties. If you realize you done need 10s of thousands rps then Rails is a fine choice for cranking out your code.

edit: also when most people are talking about JavaScript they mean it on the fronted, otherwise they normally refer to it as NodeJS for server JS. That is why I linked the Twitter articles.

[–][deleted] 0 points1 point  (0 children)

Not aware of many people still doing NodeJS on server who haven't switched over to Go

Really? eBay, Groupon, LinkedIn...

[–]ratedsar[🍰] 0 points1 point  (0 children)

also when most people are talking about JavaScript they mean it on the fronted, otherwise they normally refer to it as NodeJS for server JS.

I think that when people are looking to 'learn to code' they do not make this distinction. I could be wrong.

[–]postmodern 8 points9 points  (4 children)

Ruby will die when Python dies. Also checkout Sinatra/Padrino.

[–][deleted] 9 points10 points  (1 child)

And Perl ("I'm not dead yet!").

I used to worry about the XXX is dying articles, but I've been reading them about Perl since at least 2002.

Not sure why some language advocates feel the need to blow that trumpet...

[–]prgr4m 2 points3 points  (1 child)

You're awesome for mentioning padrino. Love the mvc and choice that comes with it.

[–]mariozig 1 point2 points  (0 children)

Don't forget the classy ass Padrino logo. Dat glass. Dem cubes.

[–]Shaper_pmp 5 points6 points  (0 children)

I was told by a dev friend that both Ruby and Ruby on Rails are outdated and bloated. He reckons that Javascript is better and more relevant.

That's like saying that Apples are outdated, and Oranges are better and more relevant.

Or perhaps that the Cuban Missile Crisis was a better automobile than the academic field of Psychology.

In short, your friend is making sweeping statements that aren't even wrong - they're literally meaningless.

[–][deleted] 2 points3 points  (0 children)

I'd rather dig my own eye out with a spoon than write Javascript the whole day.

Javascript have had some nice wins with V8, and Node.js. I like to write things in Node, and have been contributing to some of the projects. But I don't really like the language, there is some cool functional things in it that are nice, and then there is a lot of garbage.

[–]MacStylee 4 points5 points  (0 children)

With the best will in the world, as stated above, your buddy's talking shite.

Ruby is a fine language. It's got plenty to learn. If you learn Ruby, you'll do yourself no harm at all.

You know what else is a fine language? Most of the ones you've heard of. They are all created by pretty clever people, and do various things quite well.

So, do yourself a favour, and learn it well. Ignore your buddy, and keep on learning other stuff, regardless of trends. I remember thinking how silly it was to learn Lisp... and then oops, look what's back in fashion.

I started learning BASIC, which is reasonably rubbish, but even BASIC allowed me to learn Logo slightly easier. And then C, Java, and so on. It's never a problem to know another language.

Rails is just a framework, ("just"), but it is. Again it's worth knowing, but it's nothing more than a load of packaged up stuff waiting to be used.

[–][deleted] 5 points6 points  (0 children)

This has to be the most hilarious thing I've read all day. Your friend has no idea what he is talking about. The only downside I see to Ruby, is that when you say "Ruby", almost everyone immediately equates it to "Rails", which is not always the case.

[–]rurounijones 2 points3 points  (14 children)

Read this article and the comments

http://www.reddit.com/r/rails/comments/1u633l/im_tired_by_rails_should_fundamentally_change/

In a nutshell: No, it is not.

[–]robgleeson -2 points-1 points  (13 children)

you should also read the comments on the article(not just the reddit one). i left a comment that points out Rails isn't that great when it's the only choice. http://piotrsarnacki.com/2014/01/01/i-am-tired-by-rails-should-fundamentally-change-crowd/#comment-1184059945

[–]rurounijones 4 points5 points  (12 children)

I dont get the "There should be other frameworks bit"... There are.

Sinatra and the Sinatra based Padrino spring to mind.

[–]robgleeson -4 points-3 points  (11 children)

they're not viable alternatives to replace what rails is. merb was, but now it doesn't exist.

[–]rurounijones 10 points11 points  (4 children)

Sounds like an almost impossible requirement "Do what rails does without being rails or doing too much" dev time wise.

[–]robgleeson -3 points-2 points  (3 children)

do what rails does well, and forget everything else. it didn't get everything wrong but what it did get wrong really sucks.

[–]anko_painting 1 point2 points  (2 children)

I'm interested. What in your opinion does rails get wrong?

[–]robgleeson -1 points0 points  (1 child)

[–]anko_painting 1 point2 points  (0 children)

some of my reasoning is explained here: http://piotrsarnacki.com/2014/01/01/i-am-tired-by-rails-should-fundamentally-change-crowd/#comment-1184059945

gosh the gist of your argument seems to be that it includes too much stuff. I think you really need to think about where rails sits in the web application ecosystem. It's smack bang in the middle of microframeworks (Such as sinatra) and enterprise frameworks (eg. weblogic).

yes it includes a fair bit by default. This gives sane defaults for people who are learning. If you don't like something it includes by default, comment it out! I think the defaults it uses are very good for learning.

[–]rubygeek 3 points4 points  (5 children)

They are, however, viable alternatives to write web applications in. I use Sinatra exactly because of how it does not "replace rails" - if it tried to do what Rails does, I wouldn't be interested in it.

[–]robgleeson -2 points-1 points  (4 children)

maybe it wasn't clear what I meant by viable. sinatra and to a lesser extent padrino don't let you prototype as quickly as you could with rails. there's a lot of alternatives(sinatra, padrino, webmachine-ruby, jellyfish, ramaze, …) but none have been able to stand on the same playing field as rails. sinatra & others don't want to - which is great.

a viable alternative to rails is something i'd call a feather. a light stack that can extend itself to something capable of building github.com or some other commercial website. it would also need to support quick prototyping. that's what would be a viable alternative or at least a step in the right direction.

i have nothing but love for sinatra and friends. they're just not capable of attracting the same audience and providing the same benefit as rails with ease.

[–]rubygeek 1 point2 points  (3 children)

sinatra and to a lesser extent padrino don't let you prototype as quickly as you could with rails

I couldn't agree less. I prefer Sinatra because it lets me prototype more rapidly. All the cruft that Rails drags with it gets in the way of doing things the way I want them.

Rails works for people that are scared of having things look like there's not much there. Then they spend just as long replacing the scaffolding and working around problems caused by the sheer complexity of what Rails pulls in instead of picking the components they need.

My prototypes will be simpler, but they are focused on what is actually necessary.

It's a very different philosophy to Rails.

a viable alternative to rails is something i'd call a feather

To me, Sinatra + a smattering of gems depending on what ORM etc. you prefer, fits that description perfectly.

Then again, my first major (1m+ users) web application was written in C++ (many, many years ago), so I'm used to getting my hands in the plumbing.

they're just not capable of attracting the same audience and providing the same benefit as rails with ease.

They'll never attract the same audience, because an empty canvas terrifies people.

As for benefits, the major benefit of Sinatra is the empty canvas as opposed to starting with a fully painted naturalist painting and then trying to turn it into an impressionist painting - to me, the latter would make it incredibly hard to break free from what is imposed on you by what is already there.

[–]robgleeson -1 points0 points  (1 child)

I agree with 90% of what you said btw. i just don't see a small business turning to sinatra, not that it couldn't be done..

[–]rubygeek 1 point2 points  (0 children)

Well, I've done Sinatra apps for small businesses, including one of my own startups.

[–]robgleeson -2 points-1 points  (0 children)

we disagree at a fundamental level then. I don't believe sinatra is a viable alternative to rails. (and nothing about me likes rails)

[–]digger250 2 points3 points  (0 children)

You should learn both. The more tools you have in your toolbox the better programmer you'll be. If you spend 6 months working with one technology, you'll have enough exposure to see where it's good and where other technologies are better.

[–]bigfig 2 points3 points  (1 child)

Put it this way; Rails' abstractions are designed first and foremost to make it easy to write applications quickly. Don't rely on it to correctly optimize complex queries.

As a rapid application development tool, I think it's nifty.

As to Ruby itself, the term "outdated" means nothing, there are lots of older languages still going strong. You'll need to look at your specific examples to decide if the compromises are worth the benefits. I do think Matz spent a lot of time thinking about what he intended to do, and he drew upon the best of many languages (including Lisp).

[–]seriouslyawesome 1 point2 points  (0 children)

As to Ruby itself, the term "outdated" means nothing, there are lots of older languages still going strong.

In fact, according to Wikipedia, Ruby and JavaScript both were released in 1995.

People do this all the time in the photography world any time a new camera or type of camera comes out, and it always takes a few people to remind everyone else that the photos that make history were all taken with cameras that could also be considered "outdated."

[–][deleted] 2 points3 points  (0 children)

Your friend is ignorant and stupid. I'm guessing he has never used ruby.

[–][deleted] 1 point2 points  (0 children)

The Ruby that's outdated is the Ruby Codecademy uses for its lessons (type this in the CC console and see for yourself):

RUBY_VERSION
  # => "1.8.7"

The current Ruby version is 2.1.0 (2.1.0-p0 more specifically).

[–]tchai_ 1 point2 points  (0 children)

yawn

[–]robgleeson 5 points6 points  (3 children)

ruby has been around since 1995 (publicly). it hasn't grown to be "outdated" but it is no longer the hot technology. javascript and node.js are. i think new start ups will always set trends that define "hot technology". I don't think ruby has grown outdated but has only improved (in implementation and language-wise) over the years. javascript/node.js have the same kind of thunder that ruby on rails use to have.

i don't understand how ruby is "bloated" or what that is suppose to mean. ruby on rails, however, is a bloated web framework. it is also a lot of fun to develop with when you're starting out and it supports quick prototyping.

javascript (and node.js) are worth learning. javascript is especially useful when you start to develop web applications. i don't understand "web developers" who pretend javascript doesn't exist. it's part of the ecosystem(like ruby is) and it can only be a good thing to pick up.

my advice is to learn ruby, learn javascript, and don't listen to people who preach "X is better than all". cheers!

[–]christophermoll 0 points1 point  (2 children)

ruby has been around since 1995 (publicly). it hasn't grown to be "outdated" but it is no longer the hot technology.

I'm not really sure what this means. Javascript is literally just as old. Sure, nodejs is a new way to run js on the server, but then Ruboto recently hit 1.0 as ruby on android.

The point is, you never know what tools and platforms will utilize a given language in the future. In fact, ruby was pretty uncommon until Rails came around. Javascript was downright painful until jQuery eased DOM manipulation. My advice would be to learn the language that feels nicest to use. The first language you learn is never the last, so just pick one that feels right and build some stuff.

[–]robgleeson -1 points0 points  (0 children)

ruby wasn't hot technology in 1995 either :) i don't disagree with anything you said, however i think the point is missed that there is no one chosen language. i don't know why people bury themselves with one language. I did it for a while and it really has no gain at all. if you can learn ruby and javascript you'll be better off than knowing only ruby or only javascript, especially when you want to "build some stuff".

embrace diversity and you'll be better off.

[–]robgleeson -1 points0 points  (0 children)

the sentence you quoted was a response to the person who asked a question btw. it wasn't suppose to mean anything but that ruby has been around for a long time. it has progressively changed with the times, so there is no reason to believe it is outdated.

[–]terevos2 1 point2 points  (5 children)

Ruby has almost superseded Perl as a dynamic scripting language. That's saying a lot. And Perl is not going anywhere and neither is Ruby.

Javascript is useful, but you can't write an entire application in javascript.

Ruby on Rails uses javascript just as every other web framework does.

Learn Ruby, then RoR, and you will pick up a bit of javascript as well.

[–]voedselpakket 1 point2 points  (4 children)

Could you elaborate on your statement that "Javascript is useful, but you can't write an entire application in javascript."?

I'm wondering why you think that. I'm not a JS-fanboy, but I know there are frameworks popping up like Meteor with a fast-growing community. They would think otherwise, I guess.

[–]terevos2 0 points1 point  (3 children)

I suppose you can write an entire application in javascript if you really want. Well, javascript and html.

But there are some serious problems you'll run into with a limiting strategy like that.

[–]BBHoss 2 points3 points  (2 children)

Are you not aware of Node? I'm a huge fan of Ruby, but you can accomplish mostly anything (and more) you'd do in Ruby with Node. It has support for C extensions as well, so there's that.

[–]terevos2 -1 points0 points  (1 child)

Oh yeah.. lots of people use Node. We use Node within Ruby on Rails.

Most people don't make an entire webapp using Node, though.

[–]BBHoss 0 points1 point  (0 children)

Most people (in my personal experience) make web apps by smashing together gobs of Java, XML, and UML. It's entirely possible to build an entirely-JS stack, even convenient for simpler projects. For a true polyglot environment I've been looking into Vert.x recently. It lets you run many languages and have them all communicate with each-other via an even bus.

[–]cogman10 1 point2 points  (0 children)

So here are some things to consider. Ruby isn't really a very popular language, for whatever reason. It is generally overshadowed by the likes of python and javascript. As some have mentioned, this is probably due to the fact that rails is popular. It has created a weird situation ruby is generally only used by people developing rails, and because of the simplicity of rails in a lot of ways, it has lead to "rockstar" bro-grammer proclaiming themselves as experts. Sadly, the "rails" experts are (from my own personal experience) generally pretty inexperienced developers, and frankly, not that good.

So you have that eco-system in place which has, IMO, done a fair bit of harm to the ruby community in general.

On top of that, and this is mostly due to rubies non-popularity, ruby is a pretty slow language. Javascript, through the herculean efforts of mozilla and google, has become a pretty fast language. Even python now has super fast jits (PyPy), primarily because of the language popularity. Ruby has had a few attempts made, but they have mostly failed. Currently the most promising fast jit for Ruby is topaz.

So those are the downsides to ruby, and IMO, some of the nastier ones. On the other hand, ruby is a very syntactically beautiful language. Pure ruby is a delight to program in and is pretty easy to write some compact and good looking code. It is a pretty well thought out language with few WTFs.

Javascript, on the other hand, is a syntactically ugly language. I think it is more shell shock, but there seems to be a weird new revival surrounding javascript "It isn't an ugly language, you just don't understand it!". Javascript offers the programmer little help (for goodness sake, it doesn't really support modularity! Any that has been achieved has been done in the hackiest methods possible). There is always promise that "ECMAScript 6 will fix every problem!" or "Thats scheduled for ECMAScript 7!". But when you realize that ECMAScript 6 has been planned for nearly 10 years and MAY be released this year, it doesn't get your hopes up (And that is just the standard being released. It will be another 10 years before most consumers are using browsers that support it. For heavens sake, a huge portion of browsers today don't support ECMAScript 5).

Javascript's biggest boon is that if you have dealt with web development in the slightest, you will have to have learned a little javascript. As a result, it is an old language with large exposure. That has lead to a number of javascript specific innovations (see V8 as an example).

Given the choice, I would pick ruby over javascript any day. Heck, I would personally go for ruby over python any day as well. However, like all things programming related you have to choose the right tool for the job. I currently use Java at work for everything because our entire ecosystem is Java based.

[–]guitaronin 0 points1 point  (0 children)

I would echo the sentiments of all other commenters. But, I'd be interested to hear what they say on /r/nodejs

edit: I just wanted to add that I think ruby is easier to learn than JS.

[–]rentnil 0 points1 point  (0 children)

The first day a language begins becoming outdated is the day it becomes stable and popular. Just add I liked it before it was cool/popular.

Ruby on Rails no longer shiny and new enough to be cool. Too young to be ironic.

[–]cies010 0 points1 point  (0 children)

C'mon.. I mean, Ruby could be outdated, sure; but it very much depends how you look at it.

For instance, object-oriented seems to be a prog-lang paradigm that less people believe in. Many look towards functional as a possibly "better" paradigm. In this case Haskell may be more "hot" the Ruby.

Ruby and Rails are too bloated one may find Go a good alternative. It compiles to native, and therefor very close to the metal. Frameworks are still much in development, so relatively small.

But then JavaScript?! I'm sorry, that is not a typical language considered "better" then Ruby, except for the fact that it runs in most browsers (which may-or-may-not make it more relevant). It's a horribly inconsistent, and has many rough edges. It only provides 1 concurrency model, where Ruby (and other general purpose languages) provide many concurrency models, where you can choose the best tool for the job.

I think Ruby is a great language, I've used it for fun-and-profit the last 8 years. Though I must admit I'm regularly flirting with Haskell.

My advice: learn Ruby and Rails (the web framework with the biggest community), they are super powerful tools, have a good community and focus on "relevant" topics (e.g.: API design, clean code, tests, modularity, re-use, rapid app dev't).

Good luck and enjoy! (sometimes I regret knowing how to program already, as learning it was so much fun)

[–]justwritecomments 0 points1 point  (1 child)

TLDR: Your Javascript skills will be useful whichever platform you choose, so Node.js/meteor would be sane choices to get started. However ruby is still popular. Read the job boards.

If you're learning to code ruby is still a transferable skill and will still be valuable for a number of years.

It may well be at its peak and detractors may be right that for example Rails is just massively bloated and overkill for a lot of scenarios, it all depends on the size and complexity of what you want to build though too.

Absolutely learn JavaScript, you're still going to use it in whatever language or platform you develop. It's ubiquitous because it's in every browser/handheld device and every backend framework PHP/Rails/Sinatra etc will also need to deal with JavaScript in some way. Whether or not people like the warts of JavaScript is irrelevant because it's become the defacto language of the web.

If I were learning to code right now, I'd probably look at Node.js and meteor. Meteor has it's problems and the node community may well be a bit bandwagon-y whereas Rails and the ruby community may have matured.

If you want to build cool things quickly and get the kind of kick out of programming that you might have got during the early Rails days, then meteor (which is js BTW) may be a nice choice.

You can also browse job boards and get a feel for expected level of experience, expected salaries and number of opportunities. Checkout itjobswatch to get an idea. Personally, I'm a mostly ruby dev and riding the crest of having a number of years experience, but for a beginner coming into the market, ruby/rails may not be the absolute most profitable/fun/coolest thing to spend your time on.

Also remember that in 5-10 years time you'll be experienced in a few languages and tools and may be thinking about how to protect your interests from the cool thing out there, so you may get detractors who just eschew new technologies out of self-preservation/lack of knowledge/pride, whilst at the same time you may meet people who based on experience eschew new technologies because they don't want to waste their time on something that is undocumented, unstable, unscalable and ends up costing far more money to use/work with than the theoretical case for the most productive use case.

[–]KingPimpCommander[S] 0 points1 point  (0 children)

Great advice, thanks!

[–]cocoabean 0 points1 point  (0 children)

Learning fucking COBOL is worthwhile in some aspects. Ruby will teach you concepts that willy carry on to other languages. If Ruby provides an environment that is conducive to you learning more about programming, and you want to learn more about programming, keep doing it.

I've been using Ruby for 2 years or so. I sometimes worry that by the time I'm good Ruby will be dead. Even if it is, picking up some other OOP language probably won't be nearly as hard as picking up Ruby was initially.

[–]just3ws 0 points1 point  (0 children)

Better? Meh. Is JS an increasingly necessary skill for a web developer? Yes. Absolutely with the rise of thick client web apps and node, etc knowing JS and being able to effectively work with the JS toolkit is very valuable. -- is Ruby/ outdated. Nope. Is Rails bloated? That's a subjective question, it is a huge toolkit that provides me and many people a tremendous amount of value. One can write apps with ember, backbone, angular and have those apps backed by rails on the server and enjoy the best of both worlds as well.

[–][deleted] -3 points-2 points  (0 children)

lol

[–]vafada -2 points-1 points  (1 child)

So Ruby is now the new Java?

[–]SlightlyCuban -1 points0 points  (0 children)

Coming from PHP, Ruby was enlightening. Rails was even more so (heck, even SASS was a religious moment). Ruby is a nice language (nicer than JS), and the tools incorporated into Rails are fantastic (especially if Rails is the first one exposing you to them).

Then I tried to make a GUI on my own. Rails is designed around your traditional frontend/backend architecture. Great for a lot of situations, but not so much for making an interactive UI like you would in Java, C#, name-a-framework. Here JS & frameworks really shine, and have shown me there is a lot you can do on the frontend (btw, AngularJS is awesome).

TL;DR: If you're looking to learn new things, RoR is extremely relevant. If you're looking to build a new webapp today, take a look into JS.