By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - PC Discussion - What is a good programming kit to start with?

Zkuq said:

Personally, I learned Java first because that what was used to teach us programming in university, and I can't say I had any trouble because of the language choice. There's some parts you always need but probably won't understand at first (i.e. the boilerplate needed for methods) , but that's not really a problem for learning. Of course you'll probably end up starting with Python because it's really simple to use and there's probably lots of great learning materials for it (including the MOOC I linked earlier), so this part about Java doesn't matter. Still, I want to emphasize that most languages are more or less equally difficult (or easy) to learn. If you go with C (or C++) though, prepare to spend some extra effort to learn about memory management and pointers. It's not hard, but that's some mandatory extra learning you don't see in most more modern languages.

That's like claiming that it's "more or less equally difficult to learn" driving in a Go-Kart or a formula 1 car, or learning to fly in a tiny plane or a large jumbo jet.

I hear quite a lot of people claiming similar things, but that doesn't make it true. Having you first driving experiences in a small Go-Kart IS easier than learning driving in a formula 1 car. If all programming languages were equally easy to start with, schools/universities etc. could just roll a dice when it comes to choosing an appropriate first language for learning, but some languages are much more popular for teaching as a first programming language than others, because they prove to be better suited for that task.

Sometimes I almost get the impression that some of the people who suggest that every language is equally difficult to learn and recommend languages like C++ or Java as a first language actually kind of want the person they give the recommendation to to fail, in order to feel better about their own achievement. "Strange... I successfully started learning programming with that language, so it's apparently very well possible. Actually, I think it was quite easy - I guess you must simply be a loser/too stupid..."



Around the Network
ArnoldRimmer said:
Zkuq said:

Personally, I learned Java first because that what was used to teach us programming in university, and I can't say I had any trouble because of the language choice. There's some parts you always need but probably won't understand at first (i.e. the boilerplate needed for methods) , but that's not really a problem for learning. Of course you'll probably end up starting with Python because it's really simple to use and there's probably lots of great learning materials for it (including the MOOC I linked earlier), so this part about Java doesn't matter. Still, I want to emphasize that most languages are more or less equally difficult (or easy) to learn. If you go with C (or C++) though, prepare to spend some extra effort to learn about memory management and pointers. It's not hard, but that's some mandatory extra learning you don't see in most more modern languages.

That's like claiming that it's "more or less equally difficult to learn" driving in a Go-Kart or a formula 1 car, or learning to fly in a tiny plane or a large jumbo jet.

I hear quite a lot of people claiming similar things, but that doesn't make it true. Having you first driving experiences in a small Go-Kart IS easier than learning driving in a formula 1 car. If all programming languages were equally easy to start with, schools/universities etc. could just roll a dice when it comes to choosing an appropriate first language for learning, but some languages are much more popular for teaching as a first programming language than others, because they prove to be better suited for that task.

Sometimes I almost get the impression that some of the people who suggest that every language is equally difficult to learn and recommend languages like C++ or Java as a first language actually kind of want the person they give the recommendation to to fail, in order to feel better about their own achievement. "Strange... I successfully started learning programming with that language, so it's apparently very well possible. Actually, I think it was quite easy - I guess you must simply be a loser/too stupid..."

Most programming languages' core functionality is extremely similar. Most programming languages are based on the syntax of C, they support many of C's features, and they have the same imperative programming style. Most languages that you're likely to run into when trying to learn programming also have good development environments/toolchains and a lot of other stuff that makes things easier, such as garbage collection. Obviously there's also differences, but in the end, many of the most important things for learning are there despite your choice of language. The only major differences I can think of right now are REPL and typing. I guess static typing makes it more difficult to get started so that's a point, but at the same time, it's not exactly that difficult.

There are actually a lof of different languages used for teaching programming. Like I said, I was taught using Java, but it was switched to C# the next year, I think. During the course, I don't think anyone had much trouble because of the language. Semicolons were easy to forget at first, I think, but the vast majority of problems were related to programming logic and not the language, I think. Heck, I tried teaching programming in Java to my girlfriend, and while she was terrible at it, the only language-related things she had trouble with were types and semicolons. My brother is currently studying IT in another pretty big learning institution here, and they're using C++. I also see Python and JavaScript suggested often.

Obviously they're not all equally easy to learn, but you don't have to look very far to see that given the proper support for learning, the choice of language doesn't matter very much. Of course if you lack proper support, Python and JavaScript are probably one of the easiest ways to get started, but with proper support, you'd almost have to go looking for a language that makes learning significantly harder. Besides, trying to learn programming without proper support (in the form of good learning materials, for example) is most likely a doomed attempt anyway.