- Blind mode tutorial
lichess.org
Donate

What Coding Language should I start with?

C++ is a low level compiled language, which means that it is super hard to pick up as a beginner! I'm sorta biased, but I really like 61a.org. It's a college level class meant for CS majors by berkeley, but anyone can take it. It teaches python, and you can take it at your own pace. Just remember: syntax doesn't matter, the logic and the structures do, so whatever language you choose to learn first, it won't really matter!

If you don't take the course listed above, one of the most important things you learn is that, to learn anything(especially CS!) you need to look at both the big picture as a results and, most importantly, split things up into simpler concepts that you understand.

Happy Coding!!!!

(

C++ is a low level compiled language, which means that it is super hard to pick up as a beginner! I'm sorta biased, but I really like 61a.org. It's a college level class meant for CS majors by berkeley, but anyone can take it. It teaches python, and you can take it at your own pace. Just remember: syntax doesn't matter, the logic and the structures do, so whatever language you choose to learn first, it won't really matter! If you don't take the course listed above, one of the most important things you learn is that, to learn anything(especially CS!) you need to look at both the big picture as a results and, most importantly, split things up into simpler concepts that you understand. Happy Coding!!!! (

C++ is a confusing cesspool only used because it can be compiled effeciently.

C++ is a confusing cesspool only used because it can be compiled effeciently.

scripted languages are better suited for beginners, even java is sus

scripted languages are better suited for beginners, even java is sus

so I went back and read somme of the forum posts saying C++ is the best language to learn, and here's my rebuttal:

While C++ might give you a "deeper understanding" of computers and coding and learning it makes it really easy to learn other languages, C++ is hard. VERY hard for beginners. Starting with something like python where you can dip your toes in is way better than starting by performing a double flip into the deep end. Python also gives a sense of achievement to beginners, as building small games and trying new things QUICKLY is easy in python. Python being slower makes no difference. A beginner 12 year old is not going to be writing Stockfish any time soon(though hopefully you will! :)) Most beginners make smaller games such as blackjack, RPGs, etc. These run quickly on python as they don't have much functionality (tho I do admit they are pretty fun to play) With the usecase of a beginner, python is the way to go.

so I went back and read somme of the forum posts saying C++ is the best language to learn, and here's my rebuttal: While C++ might give you a "deeper understanding" of computers and coding and learning it makes it really easy to learn other languages, C++ is hard. VERY hard for beginners. Starting with something like python where you can dip your toes in is way better than starting by performing a double flip into the deep end. Python also gives a sense of achievement to beginners, as building small games and trying new things QUICKLY is easy in python. Python being slower makes no difference. A beginner 12 year old is not going to be writing Stockfish any time soon(though hopefully you will! :)) Most beginners make smaller games such as blackjack, RPGs, etc. These run quickly on python as they don't have much functionality (tho I do admit they are pretty fun to play) With the usecase of a beginner, python is the way to go.

Yhep, its true C++ gives better understanding. Thats exactly why its bad to start. Its like someone new to chess starting by learning checkmate with knight and bishop, because it helps to coordinate the pieces.
Speaking from experience, from someone who went to a college programming course with no prior coding experince, I think no matter what, it has to be a high level language, you want to not worry about the details, even if it means losing a little performance. As i said before, i think python is the way to go. Java and JavaScript are OK. But i would stay away from C and C++ for now, pointers for begginers = disaster.
Also, #22 said something very important so I will reinforce: Most important thing is to learn how to decompose a difficult problem into many easy ones, because this is what no one can tell you how to do. After you have a simplified problem, writing the code is easy, syntax is documented everywhere.

Yhep, its true C++ gives better understanding. Thats exactly why its bad to start. Its like someone new to chess starting by learning checkmate with knight and bishop, because it helps to coordinate the pieces. Speaking from experience, from someone who went to a college programming course with no prior coding experince, I think no matter what, it has to be a high level language, you want to not worry about the details, even if it means losing a little performance. As i said before, i think python is the way to go. Java and JavaScript are OK. But i would stay away from C and C++ for now, pointers for begginers = disaster. Also, #22 said something very important so I will reinforce: Most important thing is to learn how to decompose a difficult problem into many easy ones, because this is what no one can tell you how to do. After you have a simplified problem, writing the code is easy, syntax is documented everywhere.

@lp24 #28: I think we agree upon the fact that someone cannot really become a good programmer without knowing what's going on under the hood, correct?

How would you be able to decide whether you need a vector, a list, a map or a dictionary to store your data; similarly, how would you choose between a for-loop and an iterator? Why wouldn't you be interested in understanding why the type of variables you choose have an impact on the overall performance of your code?

You can do all the above by picking a language that allows you to understand and control the aspects of the program that have an impact on the performance.

I daresay: even if the OP picks Python, he would be much better off if he peeked under the hood every once in a while.

@lp24 #28: I think we agree upon the fact that someone cannot really become a good programmer without knowing what's going on under the hood, correct? How would you be able to decide whether you need a vector, a list, a map or a dictionary to store your data; similarly, how would you choose between a for-loop and an iterator? Why wouldn't you be interested in understanding why the type of variables you choose have an impact on the overall performance of your code? You can do all the above by picking a language that allows you to understand and control the aspects of the program that have an impact on the performance. I daresay: even if the OP picks Python, he would be much better off if he peeked under the hood every once in a while.

This topic has been archived and can no longer be replied to.