Absolute beginner...!

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

Recommended Posts

Hi all. Basically i'm hoping to work in games development in the future, at college at the moment and will be starting a computer science degree next september. Now basically, i started learning Python, but the more I read on the net the more unsure I am of whether to carry on with this, start learning C# or just jump straight into C++.

Anyone have a clue? pass it this way please =)

Thanks!

Share on other sites
Python is a really good starting point, so I can really recommend you continue what you're doing now
Looking into C# and/or Java would also be a good idea if you're eventually planning on moving to C++, since these are all C-derivatives with a good amount of common concepts

C++ is not a good candidate for starting out since you'll have to keep a lot of things in mind which keep you away from the actual programming part; these things are taken care of for you by higher level languages like the ones mentioned above, so you can completely focus on learning general programming concepts

I hope this helps, and good luck ;)

Share on other sites
'C++ is not a good candidate for starting out since you'll have to keep a lot of things in mind which keep you away from the actual programming part' yeah i read somewhere that starting with C++ is like starting to learn maths with advanced calculus, that's why i started with python. Just so many different views it gets confusing!

Thank you for the help, i'll carry on as I am =)

Share on other sites

Hi all. Basically i'm hoping to work in games development in the future, at college at the moment and will be starting a computer science degree next september. Now basically, i started learning Python, but the more I read on the net the more unsure I am of whether to carry on with this, start learning C# or just jump straight into C++.

Anyone have a clue? pass it this way please =)

Thanks!

Read this guide. It should answer all of your initial questions and more.

I generally would suggest C# over C++, but if you get started with C#, you aren't going to want to switch!

Share on other sites
I agree with that has been said, don't know what you heard about python, i have no experience with it either but i do think it's a very good language. You know they used python as one of the main tools to created eve online and civilization 4 right?

Anyway, if your really starting out, and want to change language learn some c#, download XNA 4.0 and behold awesomeness.

Share on other sites
@ Serapth
Thanks =) that helped some! Just one thing, the guide says that C# is best implemented on MS, I run a Linux OS, will it cause major issues or just a little extra work ?

@ Menyo thanks for the help =)

Share on other sites
Comparing c++ to calculus is not a good analogy. Calculus is hard to learn because it avoids what's going on behind the scenes to model systems through abstract techniques. C++ is hard to learn because you have to know what is actually going on behind the scenes (something you should want to know anyway, as a programmer).

Share on other sites

@ Serapth
Thanks =) that helped some! Just one thing, the guide says that C# is best implemented on MS, I run a Linux OS, will it cause major issues or just a little extra work ?

@ Menyo thanks for the help =)

On linux you can work with the mono framework for developing in C#; there are differences between mono and the .NET framework of course, but it shouldn't cause any trouble I suppose

Share on other sites
[/quote]

On linux you can work with the mono framework for developing in C#; there are differences between mono and the .NET framework of course, but it shouldn't cause any trouble I suppose
[/quote]

Ok thanks again!

Share on other sites
C++ is not a good candidate for starting out since you'll have to keep a lot of things in mind which keep you away from the actual programming part[/quote]
Don't believe this. You only need to know very very little c++ or any language for that matter, to actually write a game. At the core all you need to know is how to make and manipulate variables. The first 20-30 pages of a c++ book is all you need to know really to make anything. Game development is not c++, common misconception in my opinion. Not enough material covers game development.

Share on other sites

Don't believe this. You only need to know very very little c++ or any language for that matter, to actually write a game. At the core all you need to know is how to make and manipulate variables. The first 20-30 pages of a c++ book is all you need to know really to make anything. Game development is not c++, common misconception in my opinion. Not enough material covers game development.

False.

The first 20-30 pages of a C++ book is all you need to know to write incredibly buggy, fragile, non-portable, unmaintainable, and largely undefined-behavior-reliant software.

Please do not do the community the disservice of perpetuating the myth that C++ can be used effectively without properly understanding a huge swath of its nuances and subtleties.

Share on other sites

C++ is not a good candidate for starting out since you'll have to keep a lot of things in mind which keep you away from the actual programming part

Don't believe this. You only need to know very very little c++ or any language for that matter, to actually write a game. At the core all you need to know is how to make and manipulate variables. The first 20-30 pages of a c++ book is all you need to know really to make anything. Game development is not c++, common misconception in my opinion. Not enough material covers game development.
[/quote]

Have you ever even actually used C++?

Share on other sites

Hi all. Basically i'm hoping to work in games development in the future, at college at the moment and will be starting a computer science degree next september. Now basically, i started learning Python, but the more I read on the net the more unsure I am of whether to carry on with this, start learning C# or just jump straight into C++.

Anyone have a clue? pass it this way please =)

Thanks!

The language doesn't matter so much, just make a game. Even if it's a simple "guess the number type game." Then build from there. The important thing is to just do something, rather than worry about doing it "The one, right way." One you know how to make a games, the language won't matter so much.

Share on other sites

C++ is not a good candidate for starting out since you'll have to keep a lot of things in mind which keep you away from the actual programming part

Don't believe this. You only need to know very very little c++ or any language for that matter, to actually write a game. At the core all you need to know is how to make and manipulate variables. The first 20-30 pages of a c++ book is all you need to know really to make anything. Game development is not c++, common misconception in my opinion. Not enough material covers game development.
[/quote]

If game making was as easy as, A=B ++ and B = C then C = ++(A) and I got an MMORPG on my hands, then by gah companies have been doing it wrong for years.

What about pointers, address, garbage collections, functions, api, hooks, drawing, math, formulas, modules, direct3d, directx for that matter, model manipulations, instances, networking, controllers, options, SDL, XNA... that must all be variable manipulations also.

Share on other sites
No I said to make a game you don't need to know much C++ at all. You hardly need to know the ins/outs of any language to code a game. If he wants to be a professional c++ developer in games or elsewhere, then of course what I said would make me look dumb. I said to make games, you strictly can do it in any language without knowing more than a bit of the language. That doesn't mean your code will be buggy. Writing buggy code is writing buggy code, doesn't matter how sophisticated the design or algorithm is.

If game making was as easy as, A=B ++ and B = C then C = ++(A) and I got an MMORPG on my hands, then by gah companies have been doing it wrong for years.[/quote]
Well no, but if this person wants to start writing games, he doesn't need to read advanced c++ for software engineering, rather just start learning to make games and focus on the games. Learning c++ at a professional level usually takes some college or serious dedication at looking at boring code. The focus at a beginner level should not be "I want to get hired to make an MMO at Arena Net in 6 months after reading a book". It should be to take baby steps and apply those to making small games. Again I said "at the core" thats all he needs to worry about at this point.

What about pointers, address, garbage collections, functions, api, hooks, drawing, math, formulas, modules, direct3d, directx for that matter, model manipulations, instances, networking, controllers, options, SDL, XNA... that must all be variable manipulations also. [/quote]
You can make a game without pointers. Key word can, at least to start with. You are going to write crap code to begin with, we all did at some point. How can you know how to write good code without experience. I remember my first text based game, all 1 cpp file, no pointers, tons of if statements to check what room I was in. I don't even think I had implemented a Class yet at that point.

Thats my opinion, hes never coded, and your telling him he needs to immediately know and focus on becoming a master at c++. You need to start somewhere. The original poster asked about c++ and someone said: "C++ is too advanced" , it can be if you want to be advanced at c++. Everyone portrays the other myth that c++ is immediately impossible to learn as soon as I open up page 1 of a c++ book. Thats all I'm saying. I know you contribute a lot to this community but your talking about this guy writing perfect flawless software without ever having written a single line of code?

One you know how to make a games, the language won't matter so much.[/quote]
This guy has the idea. Learn how coding works, pick any language you want.

Share on other sites

Hi all. Basically i'm hoping to work in games development in the future, at college at the moment and will be starting a computer science degree next september. Now basically, i started learning Python, but the more I read on the net the more unsure I am of whether to carry on with this, start learning C# or just jump straight into C++.

Anyone have a clue? pass it this way please =)

Thanks!

As a compSci major, you are going to realize that the question you are asking is moot. You are going to be learning a computational science with programming principles. The language you choose will matter little. If you just want to learn programming oriented towards the game industry, then DigiPen and FullSail will do just that. Don't waste your time with Diff-EQs, Fields and Waves, or Data Algorithms . If you are asking what language you pick up to hone your programming skills. Any of them and just start, learn how to work in a code base (Doom 3 soon to be release if not already c/c++). Developers will look for specific skill c++, direct X, GL ect ect.. sets when they interview. But they will want to see most of all how technically minded you are. Good luck, I hope that helps. Just start coding.

Share on other sites
Hi, wow massive debate! thats why i was so lost in it all in the first place =D yeah i'm just going to crack on with it and learn C# for now, once i get the hang of that i'll look at C++ thanks for all the advice it helped a lot =) !

Share on other sites

Hi, wow massive debate! thats why i was so lost in it all in the first place =D yeah i'm just going to crack on with it and learn C# for now, once i get the hang of that i'll look at C++ thanks for all the advice it helped a lot =) !

I forgot to point out that it probably doesn't matter what language you select, your professors are going to pick something else and make you learn that. You're going to show up to class and your professor is going to be all "You have to use this IDE to write in this language and you have to submit your solution in this format named this way with these kinds of comments in this online dropbox" and you're going to be all "what is ko-bohl?"

Share on other sites
Yea I meant to actually mention that, look up what school you are going to or planning to go to and just learn whatever they teach to get ahead on your school work.

Share on other sites
I suggest you to start with C/C++. Most people say that C\C++ is "the hard way" but i think that the object oriented language like Java and C# are more difficult(to start) for a beginner.

If you learn C++ then youll know almost 3/4 of languages(and you can VERY easily switch to languages like Java/C# and many others). But if you start with C# then .. i don't think youll want to switch to C++.

Share on other sites

I suggest you to start with C/C++. Most people say that C\C++ is "the hard way" but i think that the object oriented language like Java and C# are more difficult(to start) for a beginner.

If you learn C++ then youll know almost 3/4 of languages(and you can VERY easily switch to languages like Java/C# and many others). But if you start with C# then .. i don't think youll want to switch to C++.

You do realize that C++ is primarily an object-oriented language, right?

Share on other sites

I suggest you to start with C/C++. Most people say that C\C++ is "the hard way" but i think that the object oriented language like Java and C# are more difficult(to start) for a beginner.

If you learn C++ then youll know almost 3/4 of languages(and you can VERY easily switch to languages like Java/C# and many others). But if you start with C# then .. i don't think youll want to switch to C++.

Just no.

The point isn't that "C++ is hard" (which it is) and not to learn it, the point is that learning programming and C++ as your first language is hard and that it's better to go with a more robust and less bobby-trapped language. Beginning C++ proper (that is, not going to cprogramming.com and thinking that's the end all be all) is just as hard, if not many times harder, than picking up C#, Python, Java, Boo or any other variant of these languages...

Share on other sites

I suggest you to start with C/C++. Most people say that C\C++ is "the hard way" but i think that the object oriented language like Java and C# are more difficult(to start) for a beginner.

If you learn C++ then youll know almost 3/4 of languages(and you can VERY easily switch to languages like Java/C# and many others). But if you start with C# then .. i don't think youll want to switch to C++.

=) yeah after posting that i changed my mind....again! im gonna start learning with C++, got a book that's aimed at teaching actual programming not just the language so that should help me get on my way! thanks again everyone for all the help =)

Share on other sites

[quote name='Kanghu' timestamp='1320868046' post='4882247']
I suggest you to start with C/C++. Most people say that C\C++ is "the hard way" but i think that the object oriented language like Java and C# are more difficult(to start) for a beginner.

If you learn C++ then youll know almost 3/4 of languages(and you can VERY easily switch to languages like Java/C# and many others). But if you start with C# then .. i don't think youll want to switch to C++.

Just no.

The point isn't that "C++ is hard" (which it is) and not to learn it, the point is that learning programming and C++ as your first language is hard and that it's better to go with a more robust and less bobby-trapped language. Beginning C++ proper (that is, not going to cprogramming.com and thinking that's the end all be all) is just as hard, if not many times harder, than picking up C#, Python, Java, Boo or any other variant of these languages...
[/quote]

argh >< again with the confusion! well i just dont know and i have this book so i may aswell crack on and start learning to program rather than stewing over which language or I'm never going to get anywhere =) thanks though!

Share on other sites

argh >< again with the confusion! well i just dont know and i have this book so i may aswell crack on and start learning to program rather than stewing over which language or I'm never going to get anywhere =) thanks though!

Please, for your own sake, listen to those who know what they're talking about
Yes, you will probably be able to write working code when you start out with C++; working code, not good code, or maybe not even code which does what you intended it to do

Once you get into the world of memory leaks, dangling pointers, stack/heap corruption, etc. without knowing what's causing them or how to possibly solve them you won't know what hit you
You see, C++ doesn't protect the programmer from him- or herself, if you want to go out of bounds in an array for example, C++ will let you do just that without complaining. As a result of this you'll get memory corruption, and because the compiler probably did not inform you about any errors you made you'll be stuck since you've now got this weird and cryptic error message without seeing any cause for it (as a beginner programmer that is)
Trust me, even for programmers who already know how to program in a language like C# or Java these are common pitfalls, they only have the benefit that they know what they're doing when it comes to the programming aspect, so they can check their code to see whether any mistakes were made
If you're still learning how to program, and if you have to deal with the stuff mentioned above you'll be up for tons and tons of frustration, so please learn how to actually program first before you move on to C++, you'll have a much more pleasant and productive experience