Need direction regarding programming.....
by Sean Brady · in General Discussion · 03/25/2011 (8:31 pm) · 19 replies
I am almost finished learning C++ and then just need to go on with it and become more efficient and capable. While also returning to torquescript with better understanding. I am also learning BASIC through (blitzplus,darkbasic) which is enjoyable.
Just curious, would learning java after this followed by c be the next move to take? Having as much control as possible is my intention. Would I be wasting my time moving over to java & c?
My goal is to be ready for software(desktop applications) and games programming.
Thank you for time.
Just curious, would learning java after this followed by c be the next move to take? Having as much control as possible is my intention. Would I be wasting my time moving over to java & c?
My goal is to be ready for software(desktop applications) and games programming.
Thank you for time.
About the author
Professional mouth!, getting projects complete is the only problem.
#2
C languages: C -> C++ -> C#
Script languages: Lua -> Javascript -> Pyton
03/25/2011 (10:54 pm)
You can honestly learn whatever you want. If you are on a quest to learn all the languages, then pick what seems most fun to learn next. If you are looking for adventure, move to LOLCODE next. Now, if I was in your place and wanted to pursue game development for desktop applications my path would be:C languages: C -> C++ -> C#
Script languages: Lua -> Javascript -> Pyton
#3
C# would definitely be a nice alternative. Java is good but I would have avoided it if possible. Just covering the oop languages as they seem to be the way to go. I want to make 2d and 3d games. Overall I just want to be ready to tackle what I have to in terms of software... I prefer procedural programming over oop though. Mainly targeting pc at the moment, will expand when sufficient in developing for one platform first then progress. Have to walk before I can run....
Thank you for advice. Much appreciated.
@Michael Perry
I wouldn't mind having the time to learn all languages ;) at moment though I need languages that will allow me to get more control over game (and possibly alter the engine if need be - only if I choose to use an engine). Speed and efficiency is key. I love BASIC (with darkbasic and blitzplus) but in my all or nothing attitude I know the best move I can make is keep learning. I think I will tackle LOLCODE after finishing what needs to be done. It will be kept as a treat in waiting.....
Thank you for path reference and advice: Helps out alot as gives me the appropriate direction. I will be using it as reference.
------------------------------------------------------
Honestly I started learning C++ for a possible software development job which didn't come to fruition but once the introduction to the world of programming progressed to a particular level, I was hooked. Finding it hard alright as I am an artistic person not scientific/maths person but have to get through it. Will definitely be worth it. Thanks again and take care. :)
03/26/2011 (3:14 am)
@Joseph ThomasC# would definitely be a nice alternative. Java is good but I would have avoided it if possible. Just covering the oop languages as they seem to be the way to go. I want to make 2d and 3d games. Overall I just want to be ready to tackle what I have to in terms of software... I prefer procedural programming over oop though. Mainly targeting pc at the moment, will expand when sufficient in developing for one platform first then progress. Have to walk before I can run....
Thank you for advice. Much appreciated.
@Michael Perry
I wouldn't mind having the time to learn all languages ;) at moment though I need languages that will allow me to get more control over game (and possibly alter the engine if need be - only if I choose to use an engine). Speed and efficiency is key. I love BASIC (with darkbasic and blitzplus) but in my all or nothing attitude I know the best move I can make is keep learning. I think I will tackle LOLCODE after finishing what needs to be done. It will be kept as a treat in waiting.....
Thank you for path reference and advice: Helps out alot as gives me the appropriate direction. I will be using it as reference.
------------------------------------------------------
Honestly I started learning C++ for a possible software development job which didn't come to fruition but once the introduction to the world of programming progressed to a particular level, I was hooked. Finding it hard alright as I am an artistic person not scientific/maths person but have to get through it. Will definitely be worth it. Thanks again and take care. :)
#4
Rather than read about C++ and maybe do a couple example programs then move to another programming language .... You are probably far better off trying to build something in C++... It's not like riding a bike. If you don't use it you WILL LOSE IT.
Besides, you never really know it until you've used it extensively.
also, once you know 1 programming language well, you know them all (basically).
03/26/2011 (7:01 am)
@Sean - I think you might be taking the wrong approach here, just a little bit.Rather than read about C++ and maybe do a couple example programs then move to another programming language .... You are probably far better off trying to build something in C++... It's not like riding a bike. If you don't use it you WILL LOSE IT.
Besides, you never really know it until you've used it extensively.
also, once you know 1 programming language well, you know them all (basically).
#5
Thank you for reply and points.
Have been practicing alright, it's only the way the information gets in my head. Will keep it up....
03/26/2011 (9:20 am)
@ChrisThank you for reply and points.
Have been practicing alright, it's only the way the information gets in my head. Will keep it up....
#6
If you are targeting PC at the moment, and you want to learn something other than C++, I would suggest C#.
If you are looking for an adventure, and something that is critical to game development, I would recommend taking a look at the book "Design Patterns: Elements of Reusable Object-Oriented Software". The topics covered in this book are always covered in an interview some how http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1301190097&sr=8-1
03/26/2011 (6:42 pm)
@Sean Brady:If you are targeting PC at the moment, and you want to learn something other than C++, I would suggest C#.
If you are looking for an adventure, and something that is critical to game development, I would recommend taking a look at the book "Design Patterns: Elements of Reusable Object-Oriented Software". The topics covered in this book are always covered in an interview some how http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1301190097&sr=8-1
#7
This. Definitely this.
No you're not. The learning never stops - that's why I love my job! :-)
03/26/2011 (7:11 pm)
Quote:I would recommend taking a look at the book "Design Patterns: Elements of Reusable Object-Oriented Software"
This. Definitely this.
Quote:I am almost finished learning C++
No you're not. The learning never stops - that's why I love my job! :-)
#8
Why C# first? At moment I am getting through and practicing the fundamentals of C++. Is C# better to start with? I have three final topics left to cover in book I am learning from;( polymorphism,macros,using winAPI). If c# is best thing I will definitely switch over and come back to C++ after.
Cheers for book reference, will get stuck into that...
@Sherman
what I meant by this was 'covering the fundamentals' lesson by lesson then the real learning :) starts....
03/26/2011 (7:41 pm)
@JosephWhy C# first? At moment I am getting through and practicing the fundamentals of C++. Is C# better to start with? I have three final topics left to cover in book I am learning from;( polymorphism,macros,using winAPI). If c# is best thing I will definitely switch over and come back to C++ after.
Cheers for book reference, will get stuck into that...
@Sherman
Quote:No you're not. The learning never stops - that's why I love my job! :-)
what I meant by this was 'covering the fundamentals' lesson by lesson then the real learning :) starts....
#9
EDIT: Added this:
First enjoyable and beneficial thing I did recently, get to grips with C++
Next enjoyable and beneficial thing I did recently, get to grips with C#(currently still learning but loving it).
03/27/2011 (8:34 am)
Getting stuck into C#..... thanks again.EDIT: Added this:
First enjoyable and beneficial thing I did recently, get to grips with C++
Next enjoyable and beneficial thing I did recently, get to grips with C#(currently still learning but loving it).
#10
03/28/2011 (7:02 am)
You could also try Effective C++ and More Effective C++. They are both great books that will help you a lot.
#11
ADDED: just discovered I really love studying any kind of mathematics, formulas and algorithms in code. Taking them getting them working and experimenting. It's kind of weird as I couldn't grasp mathematics in school but coding has spark my interest in it thankfully.
03/28/2011 (7:03 am)
Wil do... ;)ADDED: just discovered I really love studying any kind of mathematics, formulas and algorithms in code. Taking them getting them working and experimenting. It's kind of weird as I couldn't grasp mathematics in school but coding has spark my interest in it thankfully.
#12
Well, not C# as the first language you should learn, I still recommend doing as much C++ as you can. Then if you would like to move onto another language, and you are keeping with PC in mind, I would recommend C#.
If you were looking into learning C#, and you are not going to be using xna, I would recommend SlimDX. I have heard great things about it.
03/28/2011 (3:31 pm)
@SeanWell, not C# as the first language you should learn, I still recommend doing as much C++ as you can. Then if you would like to move onto another language, and you are keeping with PC in mind, I would recommend C#.
If you were looking into learning C#, and you are not going to be using xna, I would recommend SlimDX. I have heard great things about it.
#13
I think I gave c# a shot because I have a tendency to go for what is said to be avoided initially or just skip steps for the heck of it out of curiousity but I could learn it down the line. I have to go back to c++ because it's the one to know... C# was a nice break from the head melt of c++ but once I keep going at it I will be fine. I really need to learn C as well though but since C++ is the hardest to grasp out of three, (I am further in c++ than either C or C#) may as well stick with it. I found picking up c# was alot easier in truth. Stands to reason due to its composition though.
Confession: I do like messing with simple & quick game development options the odd time as it gives me inspiration (through seeing something happening visually) as the console can be quite disheartening after a while ;). I am sure someone can relate.
Thanks for knock in the right direction. Am I right in my assumption that C++ is a behemoth until you get used to it? (at moment I know I need to learn it but I used to do what I could do to avoid it - only in last two to three days - as I found it confusing but have to trundle on).
---------------
Very first language actually java made two games(back in 2005) was not a fan, then bit of html didnt feel like programming, actionscript made a couple of games (not a fan),javascript for dx studio (interesting but never went back) then moved on to C4 engine with a bit of winging it with C++ before even learnt anything about it really. Compiled engine and then integrated physx into it, tutorials were kind outdated and code needed changing so had to guess alot of time. Got compiled though.
I don't think that stands for anything but this endeavour of learning C++ is my first real drop in development rather than art and design. It has been a wakeup call to say the least. Love it though.
---------------
Apologies for 'I' everywhere, a little self absorbed...
03/28/2011 (4:24 pm)
@JosephI think I gave c# a shot because I have a tendency to go for what is said to be avoided initially or just skip steps for the heck of it out of curiousity but I could learn it down the line. I have to go back to c++ because it's the one to know... C# was a nice break from the head melt of c++ but once I keep going at it I will be fine. I really need to learn C as well though but since C++ is the hardest to grasp out of three, (I am further in c++ than either C or C#) may as well stick with it. I found picking up c# was alot easier in truth. Stands to reason due to its composition though.
Confession: I do like messing with simple & quick game development options the odd time as it gives me inspiration (through seeing something happening visually) as the console can be quite disheartening after a while ;). I am sure someone can relate.
Thanks for knock in the right direction. Am I right in my assumption that C++ is a behemoth until you get used to it? (at moment I know I need to learn it but I used to do what I could do to avoid it - only in last two to three days - as I found it confusing but have to trundle on).
---------------
Very first language actually java made two games(back in 2005) was not a fan, then bit of html didnt feel like programming, actionscript made a couple of games (not a fan),javascript for dx studio (interesting but never went back) then moved on to C4 engine with a bit of winging it with C++ before even learnt anything about it really. Compiled engine and then integrated physx into it, tutorials were kind outdated and code needed changing so had to guess alot of time. Got compiled though.
I don't think that stands for anything but this endeavour of learning C++ is my first real drop in development rather than art and design. It has been a wakeup call to say the least. Love it though.
---------------
Apologies for 'I' everywhere, a little self absorbed...
#14
I don't mean you any offence when I say this but I'm pretty sure I know exactly where you're at and how you feel and I have a bit of advice for you.
You need to stop thinking about the possibilities and the potentials and the unknowns. Stop thinking about HOW to become a programmer and just program.
Stop asking everyone else about it. Stop asking yourself about it. Just start doing it. It doesn't matter if you don't know everything. It doesn't matter if you get stuck and can't figure out a problem. Just pick something you want to make and make it.
If it's an indie game you want to make then don't look for people to work with. Don't ask others for their opinions. Just pick a game idea that interests you and prototype it. Do it in C++ instead of TorqueScript. Don't stop until you're finished. Just decide on your path and walk it. Noone can tell you waht that is. Noone's opinion honestly matters. You know where you want to go so stop mapping it out, just go.
And if you need any help post a thread in the forums. We will help you.
Sorry for the long winded post. I just know how you feel. I've been there. The only solution is to stop deliberating and take action. :)
03/29/2011 (5:17 am)
Sean. I've been reading your blogs (1 blog I guess) and your forum posts and your replies to people posting to your forum posts.I don't mean you any offence when I say this but I'm pretty sure I know exactly where you're at and how you feel and I have a bit of advice for you.
You need to stop thinking about the possibilities and the potentials and the unknowns. Stop thinking about HOW to become a programmer and just program.
Stop asking everyone else about it. Stop asking yourself about it. Just start doing it. It doesn't matter if you don't know everything. It doesn't matter if you get stuck and can't figure out a problem. Just pick something you want to make and make it.
If it's an indie game you want to make then don't look for people to work with. Don't ask others for their opinions. Just pick a game idea that interests you and prototype it. Do it in C++ instead of TorqueScript. Don't stop until you're finished. Just decide on your path and walk it. Noone can tell you waht that is. Noone's opinion honestly matters. You know where you want to go so stop mapping it out, just go.
And if you need any help post a thread in the forums. We will help you.
Sorry for the long winded post. I just know how you feel. I've been there. The only solution is to stop deliberating and take action. :)
#15
Programming is mostly about the application programming interfaces (APIs) for your desired platform. Torque engines need you to learn more than simply the script; you also need to know about the function calls already built into it. If you're making a desktop app in C++, you'd be silly not to use something like Qt or wxWidgets to make the job easier. If you're writing games or game engines, you have DirectX and OpenGL to deal with, or perhaps a 3D engine like Ogre, Irrlicht etc. On top of that you have sound APIs like OpenAL and FMOD for different levels of abstraction.
Pick a few non-script languages to learn, and learn as many script languages as necessary. Both C++ and C# will get you far. At least understand them enough to know what you're doing when adding other people's patches (you'll know when). Lua, Python, AngelScript have all been used as game extension script languages, with Python having been most frequently used server-side out of the three. They're all useful with their own benefits for some purposes.
C++ has some dirty portions. But not all people use every feature of the language. Some are opposed to overloading, for instance. Dirty, filthy overloading, where a simple variable comparison has unexpected side-effects. The aforementioned APIs often try to hide or make unnecessary some of the uglier parts of the language. You'll want to know the entire C subset of C++, a little about templates, and what app frameworks can help you build a GUI app faster. A good start is to think of a simple program you need and research what you need to build it.
03/29/2011 (7:21 am)
The general training of programmers goes: Make stuff. Make stuff work. Work to make stuff.Programming is mostly about the application programming interfaces (APIs) for your desired platform. Torque engines need you to learn more than simply the script; you also need to know about the function calls already built into it. If you're making a desktop app in C++, you'd be silly not to use something like Qt or wxWidgets to make the job easier. If you're writing games or game engines, you have DirectX and OpenGL to deal with, or perhaps a 3D engine like Ogre, Irrlicht etc. On top of that you have sound APIs like OpenAL and FMOD for different levels of abstraction.
Pick a few non-script languages to learn, and learn as many script languages as necessary. Both C++ and C# will get you far. At least understand them enough to know what you're doing when adding other people's patches (you'll know when). Lua, Python, AngelScript have all been used as game extension script languages, with Python having been most frequently used server-side out of the three. They're all useful with their own benefits for some purposes.
C++ has some dirty portions. But not all people use every feature of the language. Some are opposed to overloading, for instance. Dirty, filthy overloading, where a simple variable comparison has unexpected side-effects. The aforementioned APIs often try to hide or make unnecessary some of the uglier parts of the language. You'll want to know the entire C subset of C++, a little about templates, and what app frameworks can help you build a GUI app faster. A good start is to think of a simple program you need and research what you need to build it.
#17
03/30/2011 (10:19 pm)
....
#18
03/31/2011 (3:44 pm)
I have alot to learn thankfully.
#19
04/08/2011 (9:57 am)
Really loving programming, going to expand on it and explore additional avenues to games. Just keep learning and make anything. Cheers :)
Associate Joseph Thomas
What are you considering to be "finished learning C++"? Without knowing the specifics, I bet there is plenty more left to learn.