Hacker News new | ask | show | jobs
by kenjackson 5528 days ago
Wow, the advice on Quora is really poor here. Here's the second highest response (in part):

6.TOP TECHNICAL CHOICE: Look at Javascript / Coffeescript. Why? Technology Trends: What are the most 'future friendly' web application frameworks to select in 2011? ... Javascript is easier to learn than Ruby or Python and runs on significantly more platforms that matter, ...

WTF? They're completely different kinds of language technologies with very different canonical uses. After spending a bit of time reading I'm convinced that most of the people there haven't actually written any code and only read PG's essays.

1 comments

I don't think it's such bad advice. Javascript and Ruby/Python have a lot in common underneath their surface differences and with server-side Javascript on the rise their problem domains are becoming increasingly similar.

Javascript also has the advantage that you don't need anything more than a browser to start learning it and that you can easily visualize what you're doing. It's not my favorite language but I think it's a good first choice.

It's a great first choice, but Javascript on the server is extremely rare, despite the popularity of some very useful frameworks. Anyone giving advice to someone who is quitting a job and learning programming certainly isn't suggesting server-side JS and if they are they are almost certain to be explicit about it, since few resources will mention it.

I think this persons advice will lead them immediately into a point of confusion as they will think that Ruby/Python are actual alternatives to JS. So if this person has some frustrations with JS are they then going to say, well I guess I'll try to get Ruby working in the client... hmm... Ruby in the client doesn't seem to work here. That guy said that Ruby isn't supported on as many platforms so maybe if I change browsers/OS I can get it to work. Hmmm... that doesn't work either. Oh, it turns out that canonically they're used for completely different things!

Ruby and Python are certainly good first choices, but I don't think that Javascript is a bad choice. It may be rare on the server-side today but with the momentum it's building I think it may be a lot more common by the time a beginner is ready to write something non-trivial.

Any working dev is going to have to learn Javascript sooner or later so you may as well start with it, IMO.

I don't really like the endless discussion about what languages are suitable for beginners or not. I think PG's advice is spot on: pick something a programmer friend that is willing to answer the occasional question recommends.

As to JavaScript as a first language: it might be popular, but (like Visual Basic) it is prone to misuse and doesn't force (or even teach) good habits to a new programmer in the way that e.g. Python does. Also, the quality of advice in regard to JavaScript varies a lot and so do the example snippets you find online. JavaScript is a nice language (unlike Visual Basic ;), but you need a background in programming before you can use it well. That being said: go for it if you're roommate is a JavaScript buff.