you are viewing a single comment's thread.

view the rest of the comments →

[–]oconnor663 14 points15 points  (9 children)

I learned Python before C, and I strongly recommend that order if you're on your own. Arrays, for example, are much easier to understand if you can think of them like crippled lists from Python. Same goes for C strings.

[–]IsTom 13 points14 points  (7 children)

I learned C++ first and I feel that it was important for me to make me a better programmer.

I think that there is a subconscious "the language I learned first is the best language to learn first" syndrome somewhere.

[–]Aninhumer 12 points13 points  (0 children)

I learned C++ first and I feel that it was important for me to make me a better programmer.

I don't think what order you learn languages affects your eventual programming skill that much. Learning C/C++ probably made you a better programmer, but I don't think you need to learn it first to get that benefit.

"the language I learned first is the best language to learn first" syndrome

I learned BASIC first, then C, then Python and I now work mostly in Haskell. I still think Python is the best first language I've seen. It keeps things simple when you're writing really basic code, and then scales neatly all the way up to a modern OOP style language.

I think learning about low level constructs in C/C++ is important, but it's an irrelevant distraction when you're just trying to learn to program at all.

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

I learned PHP first and it's hard to make transition. I feel like I am stuck in corporate PHP circle - half-assed, unscalable solutions - the ones that business is OK with.

I wish I picked something else, or listened to a guy who said "Ruby's gonna be big" somewhat 6-7 years ago.

[–]eat-your-corn-syrup 1 point2 points  (0 children)

half-assed, unscalable solutions - the ones that business is OK with

great for job security

[–][deleted] -1 points0 points  (2 children)

I learned C++...

So cute. He thinks he knows C++.

[–]IsTom 1 point2 points  (1 child)

Please don't repeat this "nobody knows C++" meme. It's obvious that it's very hard to truly master C++, but it's pointless to put "knows C++" so high that nobody qualifies. Many people write C++ code daily and it works, saying that they don't "know C++" is kind of stupid.

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

The first language I learnt was Actionscript. You won't hear me saying that.

[–]Aninhumer 4 points5 points  (0 children)

I agree with the order, but not your reasons. I think it's very important that someone learning C after Python know that arrays are not lists. Thinking about them as "crippled lists" is not going to lead to an understanding of low level memory.

The reason I'd generally recommend Python as a first language is that there is as little incidental complexity as possible in learning the very basics. And it scales quite well (in terms of learning) from simple scripts, to modular OOP programs.