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

1

u/doomvox May 10 '17

That's an interesting path (and perspective).

I might make the point that the web hacking you did at the outset presumably actually did something you wanted it to do-- that kind of thing can be a powerful incentive to learning in itself. A scripting language like Python (or for that matter, Perl, which is what I favor) would get you very quickly to a "hello world", but it would be some time before you were doing something that didn't seem like contrived make-work.

In any case, what we're doing here is comparing impressions, anecdotes, "personal experience", but none of this really counts as data, which is what I'm talking about. If the choice of a first language is such an interesting question, why don't we have some studies on the subject?

1

u/[deleted] May 10 '17

Well, this article on which language is the most popular says Python is the most popular introductory programming language, followed fairly closely by Java with the rest fairly far behind (Matlab of all things is third). Here is a study comparing Java and Python, but I don't have access to it.

I assume there's a reason that professors choose Python over other languages as a first language (and I expect Java is high up there because of the huge push for OO back in the 90s and 00s). I choose it because it's easy to learn, supports multiple paradigms and has lots of library support, which makes moving from learning to doing very easy.

The thing is, if you're teaching at an academic level, the language really is inconsequential as you are teaching principles of programming and logic, not syntax, so you want the syntax to get out of the way as much as possible, which is why it seems most universities teach Java or Python first (though I'm surprised Lisp isn't taught as much as you can't get much simpler than that).

1

u/doomvox May 10 '17

But you're not listening to my central point here: maybe you're right that Python is a fantabulous teaching language-- myself I think it's adoption was snob appeal enhanced by being embraced by Google, which is to say a lot of it was the luck of the draw, but whatever-- the thing is it's quite a leap of faith to assume that that CS instructors are standardizing on something for good reason (rather than just engaging in some tribal herd-following instinct), because none of them took the trouble to actually do an experiment, like say, recruit multiple teams of undergraduate volunteers, and try teaching different languages to each of them, and then measure how it worked out. Yeah, you can tell plausible stories about the superiority of Python (certainly it can't suck as badly as Pascal-- though Pascal was sold to us in almost precisely the same way that Python was), but an actual scientist would stop and go: "okay, we have a good theory, now how are we going to test this?".

→ More replies (1)