• Advertisement
Sign in to follow this  

Did I make a good decision?

This topic is 4273 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have decided to start my first "real" programming language. I want to learn to write programs and later go on into game development. I didn't want to start with C++ since I have heard it was not worth starting out with it, but later I will go into this. I have decided to start with Python because it is object-oriented and pretty easy. Is this a good decision? Thank you for you feedback.

Share this post


Link to post
Share on other sites
Advertisement
I don't see what's wrong with just diving into C++. You might find that you've wasted your time learning irrelevant skills in Python if your goal is C++. I don't have any experience with Python, so I can't help you in making that choice, but I like C++.

Share this post


Link to post
Share on other sites
If you're not planning to work professionally in the industry as game programmer, python is an excellent choice.

I would elaborate the pros and cons of starting with python vs starting with C++ but I'm not entitled to my opinion because it's wrong.

Share this post


Link to post
Share on other sites
I think its a good decision, as you get to spend more time focusing on solving problems and writing algorithms than worrying about the low level problems that using C++ can bring.

I still don't really know Python all that well and started with C++, but Python is certaintly as good a language as any to begin with.

Good luck! :)

Share this post


Link to post
Share on other sites
Programming is a skill which is transferrable. It doesn't really matter what language you're using, it's how you use it that makes the difference. That said, I've heard good things about Python and have been meaning to take a look at it myself. :)

Share this post


Link to post
Share on other sites
Quote:
Original post by EriCartman13
I have decided to start my first "real" programming language. I want to learn to write programs and later go on into game development. I didn't want to start with C++ since I have heard it was not worth starting out with it, but later I will go into this. I have decided to start with Python because it is object-oriented and pretty easy. Is this a good decision? Thank you for you feedback.

Well, I've heard that Python is a great language to start with; I'm not quite sure, however, if I agree with this statement.

I don't know what's right for you, nor could I possibly tell you what the right decision is. I can, however, tell you two things: first of all, learning Python first is definitely not a bad decision, per se. Secondly, I can tell you what I did; here's the sequence of languages that I learned:

  • C
  • C++
  • Java
  • Python
  • Perl

I threw in some other languages and libraries all over the place, but that was basically how it went down. It worked for me, but may not necessarily be right for you.

No matter what you do, however, if you show perserverence, you'll be just fine.

Share this post


Link to post
Share on other sites
Quote:
Original post by Tesl
I think its a good decision, as you get to spend more time focusing on solving problems and writing algorithms than worrying about the low level problems that using C++ can bring.

I still don't really know Python all that well and started with C++, but Python is certaintly as good a language as any to begin with.

Good luck! :)


What else would you recommend other than Python?

Share this post


Link to post
Share on other sites
Quote:
Original post by EriCartman13
Quote:
Original post by Tesl
I think its a good decision, as you get to spend more time focusing on solving problems and writing algorithms than worrying about the low level problems that using C++ can bring.

I still don't really know Python all that well and started with C++, but Python is certaintly as good a language as any to begin with.

Good luck! :)


What else would you recommend other than Python?


Im surprised that no-one has mentioned C# yet so let me do the honor.
C# would be a very nice starting language as well.

Share this post


Link to post
Share on other sites
Python is a very good choice.

In the future, you may find other languages useful (such as C++), but that doesn't mean it's a good idea to start with them now. If you can learn the tricks of programming and the concepts in a nice, gentle language like Python, you'll have a vastly easier time learning the nuances of a dirty, complicated language like C++ when the time comes.

If you're interested in a transitional language between the two, C# is a good way to go.

Share this post


Link to post
Share on other sites
Quote:
Original post by ApochPiQ
Python is a very good choice.

In the future, you may find other languages useful (such as C++), but that doesn't mean it's a good idea to start with them now. If you can learn the tricks of programming and the concepts in a nice, gentle language like Python, you'll have a vastly easier time learning the nuances of a dirty, complicated language like C++ when the time comes.

Python is a fine choice.

Personally I think you should stick with Python. C# is a good choice, but some people may find it initially complicated, much like C or C++ (without the low-level stuff, of course).

And yes, skills you learn in Python will transfer to other programming languages. You're not limited to learning one language and sticking with it for the rest of your life. You're also not limited in using just one language for a project, so keep that in mind. The language you start with isn't as much of a concern as just starting with something.

Share this post


Link to post
Share on other sites
I'm beginning with Python as well and am enjoying it thoroughly :) For me it is much less complicated than C++ and it I feel like I am making good progress which in turn keeps me motivated to continue on.

The thing that I personally feel is a downside of learning Python is that there isn't as much of a wealth of tutorials and things like that as there is for C++ so I would suggest getting a book. Personally I love Python programming for the Absolute beginner by Michael Dawson.

It assumes no previous knowledge and is very easy to understand.

Anyway, Good luck with any language you chose!

Share this post


Link to post
Share on other sites
A couple months earlier I had tried starting out with C++ and it was just too hard. It made me stop trying because I just couldn't figure some of the stuff out. I have been using Python for a few days and it is much easier to understand some of the concepts. Thanks for the feedback.

Share this post


Link to post
Share on other sites
Yes, you have(as others have stated) made a good decision. Python is a very nice, simple language, and yet it is not 'handicapped' strongly. Its syntax is similiar to C++'s, but has less minor details and naunces to remeber. This means that you can use alot of your Python knowledge when you move onto C++(assuming you do, which most people do eventually).

And knowing Python could be usefull in the games industry if you change you mind; Python is used as a scripting language for a good number of games.

Edit: OOPS! Didn't realize that the thread was pretty much done... sorry about that! Best of luck learning Python.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
C# is a much better language to pick than Python. (If you dont want to go to C++ directly)

Share this post


Link to post
Share on other sites
Quote:
Original post by EriCartman13
A couple months earlier I had tried starting out with C++ and it was just too hard. It made me stop trying because I just couldn't figure some of the stuff out. I have been using Python for a few days and it is much easier to understand some of the concepts. Thanks for the feedback.


if you find it easier and you're making progress, stick with it for a while. you'll find it much easier to learn other languages like c++ once you grasp the basics of programming.

i've also heard good things about pygame.

Share this post


Link to post
Share on other sites
I see no reason not to learn python first.

We use python as a flag on resumes for new hires. Since most universities don't teach it, the people who know python probably taught themselves and hence are self starters and do programming for the love of it, well thats the theory anyway:)

Cheers
Chris

Share this post


Link to post
Share on other sites
If you want to learn how to program, the best advice is to learn more than one language. So, in that light starting with Python is just as good as any other language.

Different people will give you different advice regarding which programming language to start with, simply because they're influenced by their own personal tastes and experiences. But if your first goal is to simply learn how to program, the only requirements you really have for a languague is that it shouldn't be too arcane, there should exist some usable tools (compilers/interpreters) for it, and you should be able to get you hands on some good resources (be it books or online tutorials - with the former being the most suitable choice).

Also with that in mind Python is an excellent choice.

If you really want to talk about different programming languages and how to choose between them; let me reiterate what I hinted at in the beginning: if you really want to excel in programming, make sure you try out different programming paradigms.

For example:

You might want to learn a dynamic programming language, like Python or Ruby.
You might want to learn a scripting language, like Python, Perl or Ruby.
You might want to learn a procedural language, like C.
You might want to learn an object-oriented language, like C#, Java, or C++.
You might want to learn a multi-paradigm language, like C++.
You might want to learn a functional language, like Standard ML or OCaml.

I'm not saying that you need to learn and master six langauges in order to be a good programmer, but you do need to be at least aqauinted with the different ways of programming that are currently in use (in both academia and in commercial settings).

Oh, and good luck [smile]

Share this post


Link to post
Share on other sites
That is the case with the school I am going attend, Chollida :P. Although I was actually dissapointed that they don't offer Python, but Oh well, I suppose i'll be signing up for intro to programming and then C++ to advanced C++ and just be teaching myself Python over the summer.


I am headed for community college though, so it isn't a specialized school or anything.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sria
I suppose i'll be signing up for intro to programming and then C++ to advanced C++

...

I am headed for community college though, so it isn't a specialized school or anything.


Word of advice, ask someone who goes to the college who's a good C++ teacher, because there's a lot of really bad C++ teachers out there. There's higher concentrations at community colleges.

Try going to the school's myspace message board and posting there.

Share this post


Link to post
Share on other sites
Thanks Lazy Foo, that's not a bad idea at all.

Share this post


Link to post
Share on other sites
Quote:
Original post by bschneid
I don't see what's wrong with just diving into C++. You might find that you've wasted your time learning irrelevant skills in Python if your goal is C++. I don't have any experience with Python, so I can't help you in making that choice, but I like C++.


Ugh, here we go again.

Ignorance is *not* a valid argument for choosing C++. That might sound overly harsh, but what I mean is, if you only know one of the two languages being compared, then there is no way you are qualified to discuss which one is best. And if you attempt to do so, you will just confuse the newbies who are asking for advice (and also piss me off, although that's my problem more than yours, I guess)
So if ignorance is all you have to base your recommendations on, you might be doing more harm than good for the beginner you're trying to help.

- You will *not* find that "you have wasted your time learning irrelevant skills in Python", even if your goal is C++. Especially not if your goal is C++. You will find that you have learned a lot of programming, which means you can pick up C++ with very little difficulty, and you will find that you're a better programmer than one who only learned C++.
Furthermore, if you start with C++, there's a good chance you'll get frustrated and give up. And then you *have* "wasted your time learning irrelevant skills".

Now, I could rant on for a few more paragraphs, or I could point to this thread and save my breath... [lol]

But to answer the OP's question:
Yes, you've made a good choice. Python is a very popular beginners language. It is also widely used in "real" professional games.

However, beginners always overrate the importance of which langauge to start with. (No offense to anyone on this topic. It's very understandable, and everyone, including me, did the same thing when starting out)
But the key point is that any half decent programmer will learn more than one language anyway. And will quickly find that his skills can be easily transferred from one language to another. With a bit of experience, you can literally pick up a new language in a matter of hours.
And furthermore, every new language you learn broadens your mind, teaches you new ways to solve problems, and that is helpful even in languages you haven't learned yet, or in ones you already "left behind".

So in the long run, it doesn't make a scrap of difference which language you started with. In the short term however, it is a lot more satisfying to start with a language that allows you to get results quickly... [wink]
And Python is great at that. (among other things)

Share this post


Link to post
Share on other sites
Quote:
Original post by Spoonbender
Furthermore, if you start with C++, there's a good chance you'll get frustrated and give up.


I find that doesn't really happen in college classes though. But then again independent study is a whole 'nother story.

Share this post


Link to post
Share on other sites
I think you made an excellent choice. Most of the people who grew up in the 80's and 90's and are coders now, started with a Basic language of some sort and eventually went to C/C++/whatever. Too bad there are no good basic interpreters as readily available as there were then. C++ is a very hard language to start with, you'll soon be into pointers and stuff, which (IMO) you shouldn't be into before you can write simple procedural programs. So learn a simpler language first.

It is also true what was said about professional coders and python above. There are no (or very very little) programming jobs involving python. But when you learn the basics of programming with python, you'll learn C++ (or any other language) a lot faster.

And when it comes to object oriented programming, you should not look into that right away. First write a few simple programs without using classes and when you know basic flow control and procedures/functions, then start looking into OOP. OOP is great but I think that first people should not try it when learning programming.

There are also a few points why python might not be a good choice. First is that it has got typeless variables, which C++/Java havn't. Or compiled (as opposed to interpreted) languages in general. The second fact is that the syntax is very different from C++ and makes C++ coders feel awkward. So I guess it goes the other way too, you might feel awkward when going to C++ eventually. And the last is the amount of available documentation/tutorials. Most python stuff out there seems to be aimed at people who have programmed before.

My advice: stay with python, but be aware that you will have to learn another language some day. And the other language will be very different from python. The same concepts will, however, work with other languages, too. I really dig python myself.

-Riku

Share this post


Link to post
Share on other sites
This all depends exactly HOW confused you were with C++, and how quickly you want to make games. I believe personaly Python is a very suitable language to create practicaly any game you can think of (with the exception of doing the low level engine code in the case of 3d games). I think in the future we will see more and more games relying on languages such as python, so it definitly will not hurt to know it. That being said, depending on how confusing you found C++, and how eager you are to learn C++, I believe C# would be a more adaquate transition (not to mention a slightly more profitable language to know, particularly if you dont fear entering the business sector, where ASP.NET and the .NET runtime is starting to get quite big.

Then again from a purely gaming standpoint I would go with the opposite, choosing python, particularly for more simple inde games (and to be frank I dont think anyone learning is going to be making AAA games anytime soon.

Richard

Share this post


Link to post
Share on other sites
Quote:
Original post by Spoonbender
Ugh, here we go again.

Ignorance is *not* a valid argument for choosing C++. That might sound overly harsh, but what I mean is, if you only know one of the two languages being compared, then there is no way you are qualified to discuss which one is best. And if you attempt to do so, you will just confuse the newbies who are asking for advice (and also piss me off, although that's my problem more than yours, I guess)
So if ignorance is all you have to base your recommendations on, you might be doing more harm than good for the beginner you're trying to help.


I suppose if you'd read my post carefully, you'd notice I admitted that I don't know Python as a disclaimer to my advice, and I also said might because, as I admitted, I don't know Python. What I do know, however, is that I picked up on C++ just fine as a first language, and therefore don't see why anyone else couldn't.


Quote:

- You will *not* find that "you have wasted your time learning irrelevant skills in Python", even if your goal is C++.

Again, I said might...I suppose I meant (and admittedly didn't say) that you might *feel* as though you've wasted time learning skills that are just as easily learned in C++ if it is your ultimate goal.

Quote:
Especially not if your goal is C++. You will find that you have learned a lot of programming, which means you can pick up C++ with very little difficulty, and you will find that you're a better programmer than one who only learned C++.

Is that a guarantee? I certainly hope not. He could find it easier, but it is equally possible that he could find C++ easy to start with. And, as I will say further on in this post, I don't think knowing two languages makes anyone a better programmer. More versatile perhaps, but not *better*.

Quote:

Furthermore, if you start with C++, there's a good chance you'll get frustrated and give up. And then you *have* "wasted your time learning irrelevant skills".

Did you start with C++? If not, then according to your accusations, this makes you ignorant and unadvisable on the topic.

Quote:
But the key point is that any half decent programmer will learn more than one language anyway.

Again, I don't agree. Halfway knowing 10 languages is not as useful as being solid in one. (I admit knowing multiple languages can improve your skills, but it is by no means a measure of success.)

Quote:
So in the long run, it doesn't make a scrap of difference which language you started with.

Then why knock C++?

Quote:
In the short term however, it is a lot more satisfying to start with a language that allows you to get results quickly... [wink]

Finally something we agree on. I think quick results are totally possible with C++, though.

Quote:
Original post by Lazy Foo ...but I'm not entitled to my opinion because it's wrong.

I guess I'm joining your party...

Nothing I said is meant as a personal attack, but I feel the need to defend myself when someone tosses insults about being ignorant at me with insufficient reasoning. (This is especially true when I see SpoonBender repeatedly attacking people offering advice about starting with C++, even though he doesn't offer a solution to the poster's question. And rating me down just because you disagree with my post is really immature, btw.) This post isn't meant as a flame, nor should it be interpreted as one. To each his own...

[Edited by - bschneid on May 7, 2006 7:41:28 PM]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement