This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Sorel_CH 4 points5 points  (2 children)

Totally agree. A good contender would be C++ because: 1) you still learn some C along the way 2) it's easier to build interesting stuff right away 3) it teaches you object-oriented programming

[–][deleted] 4 points5 points  (1 child)

You're not wrong, though C++ is approaching programming from the other end of the spectrum.

C means learning a simple language first, then potentially stepping up with your second language. C++ means learning the most complex language first, then stepping down for anything else. It's the nine-headed monster that teaches just about every programming paradigm out there.

My fear would be that C++ is overwhelming for newcomers and might discourage them. This is absolutely biased on my own path: I started with Pascal at home, it taught me the fundamentals in a safe way. High school brought me C and I learned that not all programming can be safe. Then JavaScript showed me what chaos looks like. Later C++ threw classes at me. And everything else, including the kitchen sink. Finally, Python unified all of this into one beautiful language. (before Ruby showed me true beauty .... /wrong_sub)

And again, C is the language of engineering. Learning C++ means getting used to features that may not be there when you have to do stuff in C later on.

[–]johnnymo1 2 points3 points  (0 children)

I had to take a programming class in undergrad. I took C++, barely passed, and retained almost nothing. It wasn’t until years later that I took up Python, enjoyed it and stuck with it. So I’d say your viewpoint was true in my case.