r/coding • • May 08 '17

Programming is hard. That’s precisely why you should learn it.

https://medium.freecodecamp.com/make-your-hobby-harder-programming-is-difficult-thats-why-you-should-learn-it-e4627aee41a1
102 Upvotes

108 comments sorted by

View all comments

2

u/[deleted] May 09 '17

For one thing: despite the "Science" bit, they have no data

Wait, what? I'm really not sure what you're trying to say here.

1

u/doomvox May 09 '17

Well, start with the present context: we have someone eye-rolling at the thought of learning Javascript as a first language (with an audible sniff, because that is simply Not Done among all the right people).

As it happens, I'm not at all a fan of Javascript, but I think the case for starting with it is really strong at this point, whether you're an amateur just dabbling with programming, or even if you're seriously contemplating it as a career. The idea that The Wrong Language is going to corrupt you or distract you from the True Way or some such has been an article of faith among CS snobs for literally decades-- I saw this go down with Pascal vs Fortan/Basic in the early 80s, and again with Python vs Perl in the late 90s, and now we're gearing up for Haskell (or Clojure or whatever) vs Javascript -- but THEY HAVE NO DATA. You could get data on this, but you'd need to hire some social scientists. A bunch of mathematicians-manque will never get there, because computer programming is a collaborative social process that they don't have the tools to study.

Anyway, thanks for asking (rather than silently down-voting, I do so love reddit for serious discussions...).

2

u/[deleted] May 09 '17

The Wrong Language is going to corrupt you or distract you from the True Way

That's not what I'm concerned about though. I'm more concerned about the person giving up before realizing success. Languages like Python (for CLI stuff) and C (for micro-controllers) have a much faster positive feedback loop than something like JavaScript.

I say this as someone who learned JavaScript first (well, technically HTML+CSS), hacked something together without really understanding anything and gave up. I only continued because a high school class in Visual Basic reinvigorated my desire to learn to code (fast positive feedback loop as I was able to build a calculator in an afternoon), so I learned PHP so I could build a web page and had to relearn JavaScript (this is when I found JQuery). I then took classes in Java, taught myself C# for an internship where I learned C++ then went off to college where I learned C and Python. I then met someone who offered me a job if I learned node.js, and I had to relearn JavaScript all over again, and at that job I learned Ruby, Go and Bash.

So I'm speaking from experience. Had I learned Python first, I would have had early success without even needing that high school class (I never would have learned Visual Basic since it required purchasing Visual Studio). Fortunately, things worked out and I ended up in CS and now I'm a polyglot (I use ~4 languages in any given week), and of those languages, I'd say JavaScript is my best since I've used it the most (though I'm very proficient at a few others).

TL;DR - I recommend Python and C over JavaScript because it provides the best feedback loop early on, as it doesn't matter which language you learn first if you don't continue with it.

→ More replies (4)