Picking a Language For a Beginner

Started by
6 comments, last by lain_lain@live.com 12 years, 2 months ago
I am a beginner when it comes to programming, and I read this article to figure out how to help me get started. After reading, I decided I would try to learn Python first and then learn C++ later on. I made the mistake of telling my friend, who is not a programmer, what I planned on doing and he told me I should dive right into learning C++. He also said I shouldn't try to learn more than one language. Now, I don't know much about programming, so before I started learning anything I figured I should get the opinion of people who are actually programming.

So should I go ahead with my original plan and learn Python first, or should I do what my friend suggested and dive right into C++?

Game Music Life


Because Game Music Is Life

Advertisement
I don't think you should start with C++, as that is one of the hardest languages, and it you'll have to build everything from the ground up if you want to make a game. Try C# with XNA 4.0 instead. :)
You should focus on learning to program. Programming is not tied to any one particular language, and hence you can learn the concepts, paradigms, algorithms and the data structures in pretty much any language you want.

This also means that since you are focusing on learning to PROGRAM you should pick a programming language that is suitable for learning. C++ is not that language. Python isn't a bad choice to start with though, nor is C# or Java.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

Go with Python, it's more easy and fun to learn for a beginner and it has its own game engine PyGame http://pygame.org/news.html . You can always learn C++ when you grasp some key conceps of programming itself.
Furthermore, your friends suggestion of "not learning more than one language" is BS. In fact, as a programmer, you will want to learn as many languages as you can because each languages has its own pros and cons, and thus one language is inevitably better suited than others for different tasks.
Co-founder/Lead Programmer
Bonafide Software, L.L.C.
Fairmont, WV 26554 US

Furthermore, your friends suggestion of "not learning more than one language" is BS. In fact, as a programmer, you will want to learn as many languages as you can because each languages has its own pros and cons, and thus one language is inevitably better suited than others for different tasks.

Quoted for truth.

However, if your friend meant "you don't want to learn too many languages at the same time" he'd have a good point. Stick with Python, give it at least 6 months and once you feel you've got a really good grip on it, use it to make a small-to-medium sized project that's of interest to you. Afterward, by all means pick up an additional language like C# or C++, and stick with that language for awhile. Then learn another language... each new language, if they are different enough from each other, will teach you new things and force you to think in new ways.

[quote name='jonbonazza' timestamp='1328415983' post='4909729']
Furthermore, your friends suggestion of "not learning more than one language" is BS. In fact, as a programmer, you will want to learn as many languages as you can because each languages has its own pros and cons, and thus one language is inevitably better suited than others for different tasks.

Quoted for truth.

However, if your friend meant "you don't want to learn too many languages at the same time" he'd have a good point. Stick with Python, give it at least 6 months and once you feel you've got a really good grip on it, use it to make a small-to-medium sized project that's of interest to you. Afterward, by all means pick up an additional language like C# or C++, and stick with that language for awhile. Then learn another language... each new language, if they are different enough from each other, will teach you new things and force you to think in new ways.
[/quote]
Speaking from my own experience I've found that when I tried to learn more than one language at a time I would constantly mix them up making it more frustrating in completing programs in either language. At least that's how it was when I was first starting out.
Nowadays, it's no problem for me since I have experience programming in many languages I"m able to switch between them without much of a mix up but it's only because I've used each language for so long as am very familiar with the keywords, syntax for each language.
And picking up new languages is way easier after you are experienced since you are familiar with all the common idioms used i.e. for, while, switch loops, etc. Procedural vs Function, dynamic vs strongly typed, etc.
If I was just starting out all of this would be too much and way too confusing sad.png

Anyways, can't go wrong with Python but so many ways to go wrong with C++
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Thanks everybody. I will just follow my first plan and go ahead and concentrate on learning Python. I never had a thought in my mind about learning all the languages at once because my head would probably spontaneously combust if I tried to do something like that.

@ jonbonazza: Thank you for telling me that. I figured that might have been the case, but like I said before, I don't know much about programming.

@ Servant of the Lord: Hopefully I will have a good grip on it by then.

Game Music Life


Because Game Music Is Life

This topic is closed to new replies.

Advertisement