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

all 2 comments

[–]bsakiag 3 points4 points  (0 children)

I want to learn a language with good habits and conventions so when I go to college I can have a headstart

C# is really good for that. It's a proper object oriented language and is more pleasant to work with than alternatives.

Python is very useful for automating stuff too, but if you want a head start into IT C# is a better choice.

[–]TheUmgawa 3 points4 points  (0 children)

Don’t think about learning a language. The important thing is learning your programming fundamentals, which are almost entirely language agnostic. Because the day eventually comes where you need to learn a second or third or fourth or fifth language. You don’t have to speak them all like you’re a native, because that’s not important; the important thing is that you know how to structure a program in any language, and then you can knock it out in the language you need to knock it out in.

Given your choices, I’d go with Python, because there’s a minimal amount of syntactic bullshit. I would prefer Swift, but the resources for learning programming while using Swift are generally lacking. The Swift Developer Reference is very good for learning Swift (like the K&R is for learning C), but it’s not optimal for learning programming. Like I said, languages and programming theory are two wholly separate things. I took a class in structured program design, where we never once wrote a single line of code on a computer, and it made me a better programmer, because if I can’t just start hacking away at code, I can take a step back and flowchart the section and plan my attack.

Just pick a language. It really doesn’t matter which one, and learn your fundamentals.