• 56 results
  • 1
  • 2

This topic is locked from further discussion.

Avatar image for octobermagic
octobermagic

524

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#1 octobermagic
Member since 2009 • 524 Posts

Hi guys. I recently had an urge to teach myself C++. I was wondering though, seeing as I love video games im thinking I might want to try and teacch myself videogame programming. Anyone out there have any knowledge of C++? Do you think it would be wise to jump straight into videogame programming or learn C++ first then work towards videogame programming?

Avatar image for mingmao3046
mingmao3046

2683

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#2 mingmao3046
Member since 2011 • 2683 Posts
uh if you mean 3d games like call of duty or something, those are incredibly immense programming projects that take a high level of skill. If your programming you should start with the basics or else you wont be able to follow what is happening
Avatar image for NiKva
NiKva

8181

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#3 NiKva
Member since 2010 • 8181 Posts
You'll need to first know C++ and other programming languages before making a video game :P
Avatar image for XaosII
XaosII

16705

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#4 XaosII
Member since 2003 • 16705 Posts

I would recommend starting with Flash and ActionScript.

C++ can be daunting for most people, let alone game development, which tends to have a very different paradigm compared to traditional programming. Having said that, there are C++ game programming books/tutorials for complete beginners.

I would still start wth Flash.

Avatar image for British_Azimio
British_Azimio

2459

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#5 British_Azimio
Member since 2007 • 2459 Posts
Personally, I urge you to learn C, not C++.
Avatar image for XaosII
XaosII

16705

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#6 XaosII
Member since 2003 • 16705 Posts

Personally, I urge you to learn C, not C++.British_Azimio

For self learning? Well, hell, why not go for Assembly?

Avatar image for RadecSupreme
RadecSupreme

4824

Forum Posts

0

Wiki Points

0

Followers

Reviews: 8

User Lists: 0

#7 RadecSupreme
Member since 2009 • 4824 Posts

You must learn C++ and it's basics. Creating games is a more complicated process which requires experience and large quantum of knowledge of the language you decide to use. Start with the basics of C++ and learn to make small basic programs then go up in the ladder. Also expand knowledge of languages by learning some Java, BASIC, and Flash when you feel ready.

Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#8 way2funny
Member since 2003 • 4570 Posts

I think you should learn the programming basics first. Make sure you know about pointers, objects, data structures and all that good stuff. Doesnt really matter what language you use, the basics apply to every language. I wouldnt really suggest C++ as a beginner, Id do something really high level like java or low level like C first then go up or down the ladder of abstractions.

Avatar image for British_Azimio
British_Azimio

2459

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#9 British_Azimio
Member since 2007 • 2459 Posts

[QUOTE="British_Azimio"]Personally, I urge you to learn C, not C++.XaosII

For self learning? Well, hell, why not go for Assembly?

There actually have been people who did the unorthodox thing and went from assembly to progressively higher languages. Definitely not something that would be feasible for the vast majority, though.
Avatar image for Gallego
Gallego

19446

Forum Posts

0

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

#10 Gallego
Member since 2003 • 19446 Posts
good game programming tutorials for beginners into it http://lazyfoo.net/SDL_tutorials/index.php It focuses in 2D but you gotta start slow :) Make sure you brush up on some math as well.
Avatar image for MannyDelgado
MannyDelgado

1187

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#11 MannyDelgado
Member since 2011 • 1187 Posts

C++ is a big, complicated language - if it's your first, you'd be better off trying something like C or Python. Probably C since you'll then be better-placed to learn C++.

Avatar image for Nick3306
Nick3306

3429

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#12 Nick3306
Member since 2007 • 3429 Posts
Just like everything, you have to start from the beginning. C++ is a very hard language to learn as your first programming language. If you want to take on the challenge go for it. But I would recommend you start with python. It is much easier to learn and will help you progress more than getting frustrated at C++.
Avatar image for Gen007
Gen007

11006

Forum Posts

0

Wiki Points

0

Followers

Reviews: 4

User Lists: 0

#13 Gen007
Member since 2006 • 11006 Posts

Everyone always says don't start with C++ but i did and was fine besides it is the industry standard when it comes to games so id def get started on it asap if that's your goal. That, java and C are probably the 3 most used coding languages and that have a ton of similarities between them so learn one of those and it usually isn't so hard to go and learn the rest. Also for now i would just focus on learning the language and doing simple stuff. Game programming is like a quantum leap and you will almost certainly not be ready for that for quite some time.

Avatar image for Kinthalis
Kinthalis

5503

Forum Posts

0

Wiki Points

0

Followers

Reviews: 5

User Lists: 0

#14 Kinthalis
Member since 2002 • 5503 Posts

I don't know why poeple are suggesting C.

Look, programming at a grunt level, requires reading through about 4 books of a programming language, lots of websites and online tutorials, and lots, and lots of practice. You gotta program. A LOT to learn programming. That kind of dedication will net you enough skill to possibly pass a certificaiton test or two and maybe land a job as an entry level programmer.

If you want to do more than that, architect large programs, become an expert at some process/design level, do serious software engineering you'll need years of practicla experience in a challenging programming position and/or a 4 or 6 year degree in programming from a decent university.

There are many examples of indie devs at a self-taught level of programming making successful games though - it's just that that's probably not the type of programmer working on say the AI for the next Unreal Engine - atleast not without years of experience and hard work.

I'm not tryint to desuade you from persuing this. Not at all, just know that a proper educaiotn will take you farther, but a self-taught path is a viable, if longer road.

All that being said, I sould strongly suggest you start with C# for the following reasons:

1. It's a direclty marketable skill. .Net programmers are everywhere in the industry.

2. Microsoft supports a game programming API bult around .net and C# which can let you create windows (PC) and xbox games.

3. It's a fairly great languge to start with because it is accessible, it's got huge communities online with tons of tutorials and other online help, and yet it can be highly optimized.

From there is failrly easy to move on to C++.

Avatar image for geraldwillkill
geraldwillkill

1134

Forum Posts

0

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

#15 geraldwillkill
Member since 2005 • 1134 Posts

I first started with C++ and it seemed easy but the concept of pointers through me off. I would first suggest you learn something like python or C# or java. But yeah just like everyone is saying game programming is not easy. Most games have 10+ programmers and the hard part is coordination between everyone.

Avatar image for wis3boi
wis3boi

32507

Forum Posts

0

Wiki Points

0

Followers

Reviews: 2

User Lists: 0

#16 wis3boi
Member since 2005 • 32507 Posts

start with something like java, python, etc to learn programming. C++ isn't taught to CS students until later years of their college life, I wouldn't suggest diving straight into a high level language

Avatar image for octobermagic
octobermagic

524

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#17 octobermagic
Member since 2009 • 524 Posts

[QUOTE="XaosII"]

[QUOTE="British_Azimio"]Personally, I urge you to learn C, not C++.British_Azimio

For self learning? Well, hell, why not go for Assembly?

There actually have been people who did the unorthodox thing and went from assembly to progressively higher languages. Definitely not something that would be feasible for the vast majority, though.

So C is easier to learn than C++? I want to get a good foothold on programming. Something thats easy to learn at your own pace. Reason I was thinking of C++ is that I hear it is so popular and most programs/games are coded with C++. Guess i'll go with C though and work my way up from there.

Avatar image for Nick3306
Nick3306

3429

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#18 Nick3306
Member since 2007 • 3429 Posts

start with something like java, python, etc to learn programming. C++ isn't taught to CS students until later years of their college life, I wouldn't suggest diving straight into a high level language

wis3boi

This is false. My first 2 CS classes at the university of michigan was C++. I wouldn't say it is a good choice but schools out there do teach it early on, or in my case, first.

Avatar image for PernicioEnigma
PernicioEnigma

6662

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#19 PernicioEnigma
Member since 2010 • 6662 Posts
Sure, but your first games will be more along the lines of guessing a randomly generated number, not a FPS or anything like that...
Avatar image for PernicioEnigma
PernicioEnigma

6662

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#20 PernicioEnigma
Member since 2010 • 6662 Posts

I first started with C++ and it seemed easy but the concept of pointers through me off. I would first suggest you learn something like python or C# or java. But yeah just like everyone is saying game programming is not easy. Most games have 10+ programmers and the hard part is coordination between everyone.

geraldwillkill
What's so difficult about pointers? Sure, in some instances they can be confusing, but the idea of them is simple - they're a type of variable that holds the memory address to a data type specified in the pointers declaration, and to access the data stored at that memory address you must deference the pointer. Of course there are technicalities you must be aware of when using pointers, such as not returning a pointer from a function where the address of that pointer was allocated data from a variable declaration in the function, but if you keep in mind what a pointer really is it's not hard to keep on top of it.
Avatar image for octobermagic
octobermagic

524

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#21 octobermagic
Member since 2009 • 524 Posts

Thanks for all the imput guys. All this talk really puts things into prospective. Guess I was was getting alittle carried away there with the videogame programming. Think I will start with C like some of the posts are suggesting. However some people mentioned Phthon. Is that a popular language or just easy to get into?

Avatar image for Gen007
Gen007

11006

Forum Posts

0

Wiki Points

0

Followers

Reviews: 4

User Lists: 0

#22 Gen007
Member since 2006 • 11006 Posts

[QUOTE="wis3boi"]

start with something like java, python, etc to learn programming. C++ isn't taught to CS students until later years of their college life, I wouldn't suggest diving straight into a high level language

Nick3306

This is false. My first 2 CS classes at the university of michigan was C++. I wouldn't say it is a good choice but schools out there do teach it early on, or in my case, first.

yup when i was a freshman and i took my first cs class we were using C++. I mean its really not as bad as people make it out to be the key is to start out very simple and make sure you you have a firm grip on the finer aspects of the language.

Avatar image for MlauTheDaft
MlauTheDaft

5189

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#23 MlauTheDaft
Member since 2011 • 5189 Posts

I don't know why poeple are suggesting C.

Look, programming at a grunt level, requires reading through about 4 books of a programming language, lots of websites and online tutorials, and lots, and lots of practice. You gotta program. A LOT to learn programming. That kind of dedication will net you enough skill to possibly pass a certificaiton test or two and maybe land a job as an entry level programmer.

If you want to do more than that, architect large programs, become an expert at some process/design level, do serious software engineering you'll need years of practicla experience in a challenging programming position and/or a 4 or 6 year degree in programming from a decent university.

There are many examples of indie devs at a self-taught level of programming making successful games though - it's just that that's probably not the type of programmer working on say the AI for the next Unreal Engine - atleast not without years of experience and hard work.

I'm not tryint to desuade you from persuing this. Not at all, just know that a proper educaiotn will take you farther, but a self-taught path is a viable, if longer road.

All that being said, I sould strongly suggest you start with C# for the following reasons:

1. It's a direclty marketable skill. .Net programmers are everywhere in the industry.

2. Microsoft supports a game programming API bult around .net and C# which can let you create windows (PC) and xbox games.

3. It's a fairly great languge to start with because it is accessible, it's got huge communities online with tons of tutorials and other online help, and yet it can be highly optimized.

From there is failrly easy to move on to C++.

Kinthalis

Pretty much this.

Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#24 way2funny
Member since 2003 • 4570 Posts

[QUOTE="Kinthalis"]

I don't know why poeple are suggesting C.

Look, programming at a grunt level, requires reading through about 4 books of a programming language, lots of websites and online tutorials, and lots, and lots of practice. You gotta program. A LOT to learn programming. That kind of dedication will net you enough skill to possibly pass a certificaiton test or two and maybe land a job as an entry level programmer.

If you want to do more than that, architect large programs, become an expert at some process/design level, do serious software engineering you'll need years of practicla experience in a challenging programming position and/or a 4 or 6 year degree in programming from a decent university.

There are many examples of indie devs at a self-taught level of programming making successful games though - it's just that that's probably not the type of programmer working on say the AI for the next Unreal Engine - atleast not without years of experience and hard work.

I'm not tryint to desuade you from persuing this. Not at all, just know that a proper educaiotn will take you farther, but a self-taught path is a viable, if longer road.

All that being said, I sould strongly suggest you start with C# for the following reasons:

1. It's a direclty marketable skill. .Net programmers are everywhere in the industry.

2. Microsoft supports a game programming API bult around .net and C# which can let you create windows (PC) and xbox games.

3. It's a fairly great languge to start with because it is accessible, it's got huge communities online with tons of tutorials and other online help, and yet it can be highly optimized.

From there is failrly easy to move on to C++.

MlauTheDaft

Pretty much this.

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Avatar image for jun_aka_pekto
jun_aka_pekto

25255

Forum Posts

0

Wiki Points

0

Followers

Reviews: 1

User Lists: 0

#25 jun_aka_pekto
Member since 2010 • 25255 Posts

You'll need to first know C++ and other programming languages before making a video game :PNiKva

It's hard enough trying to program simple C++ stuff that runs in a Windows Command Prompt.:lol:

Programming is one of my weak points though.

Edit:

Oh. Good luck. May you be much better at programming than I am.

Avatar image for MlauTheDaft
MlauTheDaft

5189

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#26 MlauTheDaft
Member since 2011 • 5189 Posts

[QUOTE="MlauTheDaft"]

[QUOTE="Kinthalis"]

I don't know why poeple are suggesting C.

Look, programming at a grunt level, requires reading through about 4 books of a programming language, lots of websites and online tutorials, and lots, and lots of practice. You gotta program. A LOT to learn programming. That kind of dedication will net you enough skill to possibly pass a certificaiton test or two and maybe land a job as an entry level programmer.

If you want to do more than that, architect large programs, become an expert at some process/design level, do serious software engineering you'll need years of practicla experience in a challenging programming position and/or a 4 or 6 year degree in programming from a decent university.

There are many examples of indie devs at a self-taught level of programming making successful games though - it's just that that's probably not the type of programmer working on say the AI for the next Unreal Engine - atleast not without years of experience and hard work.

I'm not tryint to desuade you from persuing this. Not at all, just know that a proper educaiotn will take you farther, but a self-taught path is a viable, if longer road.

All that being said, I sould strongly suggest you start with C# for the following reasons:

1. It's a direclty marketable skill. .Net programmers are everywhere in the industry.

2. Microsoft supports a game programming API bult around .net and C# which can let you create windows (PC) and xbox games.

3. It's a fairly great languge to start with because it is accessible, it's got huge communities online with tons of tutorials and other online help, and yet it can be highly optimized.

From there is failrly easy to move on to C++.

way2funny

Pretty much this.

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Indeed, which is why C# is a good place to start.

Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#27 way2funny
Member since 2003 • 4570 Posts

[QUOTE="way2funny"]

[QUOTE="MlauTheDaft"]

Pretty much this.

MlauTheDaft

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Indeed, which is why C# is a good place to start.

Yeah, either start high, or low, but definately not in the middle.

Avatar image for octobermagic
octobermagic

524

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#28 octobermagic
Member since 2009 • 524 Posts

[QUOTE="MlauTheDaft"]

[QUOTE="way2funny"]

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

way2funny

Indeed, which is why C# is a good place to start.

Yeah, either start high, or low, but definately not in the middle.

What is C#? I assume its not C? Sorry for being noobish

Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#29 way2funny
Member since 2003 • 4570 Posts

[QUOTE="way2funny"]

[QUOTE="MlauTheDaft"]

Indeed, which is why C# is a good place to start.

octobermagic

Yeah, either start high, or low, but definately not in the middle.

What is C#? I assume its not C? Sorry for being noobish

C# is like java. Its microsoft's version of a java-like high level language where you dont have to really worry about memory management.

Avatar image for octobermagic
octobermagic

524

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#30 octobermagic
Member since 2009 • 524 Posts

[QUOTE="octobermagic"]

[QUOTE="way2funny"]

Yeah, either start high, or low, but definately not in the middle.

way2funny

What is C#? I assume its not C? Sorry for being noobish

C# is like java. Its microsoft's version of a java-like high level language where you dont have to really worry about memory management.

Not .net right?

Avatar image for MlauTheDaft
MlauTheDaft

5189

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#31 MlauTheDaft
Member since 2011 • 5189 Posts

[QUOTE="way2funny"]

[QUOTE="octobermagic"]

What is C#? I assume its not C? Sorry for being noobish

octobermagic

C# is like java. Its microsoft's version of a java-like high level language where you dont have to really worry about memory management.

Not .net right?

It's .NET and probably the easiest way to get into (C) programming.

Avatar image for cain006
cain006

8625

Forum Posts

0

Wiki Points

0

Followers

Reviews: 38

User Lists: 0

#32 cain006
Member since 2008 • 8625 Posts

start with something like java, python, etc to learn programming. C++ isn't taught to CS students until later years of their college life, I wouldn't suggest diving straight into a high level language

wis3boi

I'm studying electrical engineering, I took a C++ class my second quarter of freshman year. I didn't find it too difficult, but the book we had was really good and we didn't move too fast.

Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#33 way2funny
Member since 2003 • 4570 Posts

[QUOTE="way2funny"]

[QUOTE="octobermagic"]

What is C#? I assume its not C? Sorry for being noobish

octobermagic

C# is like java. Its microsoft's version of a java-like high level language where you dont have to really worry about memory management.

Not .net right?

it is .net

Avatar image for octobermagic
octobermagic

524

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#34 octobermagic
Member since 2009 • 524 Posts

[QUOTE="octobermagic"]

[QUOTE="way2funny"]

C# is like java. Its microsoft's version of a java-like high level language where you dont have to really worry about memory management.

way2funny

Not .net right?

it is .net

Hmmm....and thats considered a beginner language? If so that sounds great.

Avatar image for cain006
cain006

8625

Forum Posts

0

Wiki Points

0

Followers

Reviews: 38

User Lists: 0

#35 cain006
Member since 2008 • 8625 Posts

Anyways TC, I'd recommend you get a book. I found online tutorials crappy compared to a real textbook.

this is the book I used.

Avatar image for Gen007
Gen007

11006

Forum Posts

0

Wiki Points

0

Followers

Reviews: 4

User Lists: 0

#36 Gen007
Member since 2006 • 11006 Posts

Also i dont think anybody mentioned it yet but if you intend to be a video game programmer then another very important aspect you need to build up is your math skills. Video game programming has a ton of it for pretty much everything really. I mean calculus, trig, algebra, linear algebra, geometry and physics its all in there especially if you intend to do 3d games but its even present in 2D games. So if you're math skills aren't up to that lvl then you may want to invest some time into that as well.

Avatar image for stanleycup98
stanleycup98

6144

Forum Posts

0

Wiki Points

0

Followers

Reviews: 6

User Lists: 0

#37 stanleycup98
Member since 2006 • 6144 Posts
.net is a good language to learn, and it is also one of the most important languages to know if you ever want to pursue a career in software development. Personally, my first programming class in high school was C++. When you have a teacher who knows what they are talking about and directing you along slowly, it is pretty easy to learn. But for self-teaching, it definitely isn't a good place to start IMO. But if you can figure out C++, you can figure out C and Java/.net rather easily. My first programming class in college (electrical/computer engineer) was assembly.
Avatar image for Sweetbackhair
Sweetbackhair

2959

Forum Posts

0

Wiki Points

0

Followers

Reviews: 5

User Lists: 0

#38 Sweetbackhair
Member since 2007 • 2959 Posts
Hope you have the time and patience, because this will be a project for you. As for programming C++ is a pretty hard program to get into and teach yourself how to do it, but just look up Youtube videos because some videos are very helpful on learning the basics.
Avatar image for Blue-Sky
Blue-Sky

10381

Forum Posts

0

Wiki Points

0

Followers

Reviews: 6

User Lists: 0

#39 Blue-Sky
Member since 2005 • 10381 Posts

All object oriented programming languages have the same principles though the syntax is different.

I recommend starting with a low level scripting language like Lua to learn the basic principles first:

Declaring a Variable
Outputing text
Running a Loop
Running a Switch statement
Creating a method

Then you can then transfer those same concepts into C++

Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#40 way2funny
Member since 2003 • 4570 Posts

[QUOTE="way2funny"]

[QUOTE="octobermagic"]

Not .net right?

octobermagic

it is .net

Hmmm....and thats considered a beginner language? If so that sounds great.

Its not considered beginner, but its a good place to start. Like ive been saying you either want to start at a high level language like c# or java, or low level like C. All programming basics youll learn are the same throughout all languages, so it wont be a waste of time no matter which one you learn

Avatar image for DanteSuikoden
DanteSuikoden

3427

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#41 DanteSuikoden
Member since 2008 • 3427 Posts

C++ is the first language I learned. It was pretty difficult but bearable. I'd recommend it.

Avatar image for JigglyWiggly_
JigglyWiggly_

24625

Forum Posts

0

Wiki Points

0

Followers

Reviews: 4

User Lists: 0

#42 JigglyWiggly_
Member since 2009 • 24625 Posts

I didn't like programming at first
then i was like
oh wait nm, this is nice

C++ is fine to start with, I started with java.

Java hides a lot of things like pointers, C++ doesn't.

Also have to deal with .h files, etc.

I recommend netbeans for all your programming with cygwin. It's nice to have an IDE.

Or you can just be hardcore and just program in vi, vim, or emacs... or nano if you are crazy

oh and going in with the mentality that you are going to make a game is a bad idea


I actually just recommend just using Linux. It will get you into the programmer mentality much quicker.

Avatar image for jeremiah06
jeremiah06

7217

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#43 jeremiah06
Member since 2004 • 7217 Posts
For video games I'd recommend java in a cellphone environment... or flash... Learn c++ just to grasp the basics... there are free xbox 360 library's for c# you could pick up also... a good game would use several languages though...
Avatar image for jeremiah06
jeremiah06

7217

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#44 jeremiah06
Member since 2004 • 7217 Posts

[QUOTE="MlauTheDaft"]

[QUOTE="Kinthalis"]

I don't know why poeple are suggesting C.

Look, programming at a grunt level, requires reading through about 4 books of a programming language, lots of websites and online tutorials, and lots, and lots of practice. You gotta program. A LOT to learn programming. That kind of dedication will net you enough skill to possibly pass a certificaiton test or two and maybe land a job as an entry level programmer.

If you want to do more than that, architect large programs, become an expert at some process/design level, do serious software engineering you'll need years of practicla experience in a challenging programming position and/or a 4 or 6 year degree in programming from a decent university.

There are many examples of indie devs at a self-taught level of programming making successful games though - it's just that that's probably not the type of programmer working on say the AI for the next Unreal Engine - atleast not without years of experience and hard work.

I'm not tryint to desuade you from persuing this. Not at all, just know that a proper educaiotn will take you farther, but a self-taught path is a viable, if longer road.

All that being said, I sould strongly suggest you start with C# for the following reasons:

1. It's a direclty marketable skill. .Net programmers are everywhere in the industry.

2. Microsoft supports a game programming API bult around .net and C# which can let you create windows (PC) and xbox games.

3. It's a fairly great languge to start with because it is accessible, it's got huge communities online with tons of tutorials and other online help, and yet it can be highly optimized.

From there is failrly easy to move on to C++.

way2funny

Pretty much this.

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Meh... I blew through c++ my freshman year easily... The only thing I ever got less than A+ grades on were recursion... Recursive functions are a major mind-fukk...
Avatar image for way2funny
way2funny

4570

Forum Posts

0

Wiki Points

0

Followers

Reviews: 12

User Lists: 0

#45 way2funny
Member since 2003 • 4570 Posts

[QUOTE="way2funny"]

[QUOTE="MlauTheDaft"]

Pretty much this.

jeremiah06

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Meh... I blew through c++ my freshman year easily... The only thing I ever got less than A+ grades on were recursion... Recursive functions are a major mind-fukk...

0

Did you guys go through both memory management and object oriented programming in depth?

imo its easier for me atleast to seperate memory management, and object oriented programming, then bring them together in c++. Our school did java, c++ then c, but I didnt really get memory management and pointers until our class in C.

Avatar image for m0zart
m0zart

11580

Forum Posts

0

Wiki Points

0

Followers

Reviews: 54

User Lists: 0

#46 m0zart
Member since 2003 • 11580 Posts

Meh... I blew through c++ my freshman year easily... The only thing I ever got less than A+ grades on were recursion... Recursive functions are a major mind-fukk...jeremiah06

Recursion is too important not to master it.

As to the question, I really wish I could answer this concretely. My experience in this was a bit too early in life, and probably a bit too random, to know how someone these days would go about learning the complexity of modern computer programming. I went from Logo to BASIC to Fortran to x86 Assembly to Pascal to C to C++ to Java to C# and now recently Objective C, in the space of about 30 years. The concepts I've learned have been so gradual throughout most of my life that it's hard for me to know how modern students starting out in software development and engineering progress. They have to learn these things at a much faster pace than I had to do, compressed into a much smaller period of time.

However, I do spend a lot of time with other developers as their tech lead or architect, depending on the product line. And I can say that I've seen some trends among developers who start off with a very high level language like Java or C# and then have real issues going to languages that put such a resource burden on the developer, are not object oriented, or require code to diverge to accomodate differences between platforms (both C and C++ fit that bill). Recently a few devs whose experience was in C# and Java had to take an SDK that was written by me in Java and C# and write a functionally equivalent SDK in both C++ and C, to accomodate products that execute in Apache server and within other native programs, and they went way over their estimates because they struggled to deal with translating and dealing with those three aspects that OO VM languages obfuscate. At some point I stepped and gave them some help and pointers to get past some of this (like using so-called "Object-C" patterns to help translate the object oriented code into C), but even then I found them struggling with basic memory management. It took several months to clean up all of the issues related to that, which they didn't really handle properly from the beginning. Even when we cleaned up those issues, I found that much of the code was written for only one or two platforms, not the eight that we actually supported.

So I guess if I were to suggest something, I'd suggest learning to deal with things like that up front. Learning a langauge like C first, then C++, and then Java, would be a path I'd pick rather than going in the reverse.

Granted, I have no evidence that this would help you in your case. It's just how I did it over a much longer period of time, and I never really struggled with the new concepts as they were sort of gradually built upon each other. It's a bit like learning math -- you don't start out learning Calculus, you rather build up to that, and if you can do it over a long period of time (and practice all of the new concepts by putting them to use in your own programs), you can master all of these things and not find yourself struggling with languages that don't do everything for you.

Avatar image for Gen007
Gen007

11006

Forum Posts

0

Wiki Points

0

Followers

Reviews: 4

User Lists: 0

#47 Gen007
Member since 2006 • 11006 Posts

[QUOTE="way2funny"]

[QUOTE="MlauTheDaft"]

Pretty much this.

jeremiah06

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Meh... I blew through c++ my freshman year easily... The only thing I ever got less than A+ grades on were recursion... Recursive functions are a major mind-fukk...

i found them simple. I mean in the end you are just having a function call itself over and over. I guess the thinking behind it can get tricky but then i just think of as traveling up and down a pyramid.

Avatar image for JigglyWiggly_
JigglyWiggly_

24625

Forum Posts

0

Wiki Points

0

Followers

Reviews: 4

User Lists: 0

#48 JigglyWiggly_
Member since 2009 • 24625 Posts

[QUOTE="jeremiah06"][QUOTE="way2funny"]

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

Gen007

Meh... I blew through c++ my freshman year easily... The only thing I ever got less than A+ grades on were recursion... Recursive functions are a major mind-fukk...

i found them simple. I mean in the end you are just having a function call itself over and over. I guess the thinking behind it can get tricky but then i just think of as traveling up and down a pyramid.

Anything can become tricky if you make it complicated enough.
Avatar image for Stesilaus
Stesilaus

4999

Forum Posts

0

Wiki Points

0

Followers

Reviews: 1

User Lists: 0

#49 Stesilaus
Member since 2007 • 4999 Posts

I went from Logo to BASIC to Fortran to x86 Assembly to Pascal to C to C++ to Java to C# and now recently Objective C, in the space of about 30 years.

m0zart

I followed almost exactly the same path, with the exception of the first and last items. (MonoTouch/MonoDevelop has so far allowed me to dabble in iOS development without having to learn Objective C.)

And it's precisely because I followed a similar path that I can readily appreciate your anecdote concerning the value of starting with C/C++ before proceeding to C#, ECMAScript-based languages, etc.

And for the TC: If it's specifically game programming that interests you, then learning the language is really at most half of the job ...

You'll also have to become familiar with an API (application programming interface) that's suitable for game-programming: something like Direct3D or OpenGL. For 3D game-programming, a basic knowledge of matrix math will also be useful, or perhaps even essential. Existing game engines can hide or abstract the APIs and the math to some extent, but it's always a good idea to know what's going on "under the hood".

Don't be discouraged, though: Learning the language and the technology is all part of the fun of becoming a developer!

Avatar image for jeremiah06
jeremiah06

7217

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#50 jeremiah06
Member since 2004 • 7217 Posts

[QUOTE="jeremiah06"][QUOTE="way2funny"]

The reason c++ is hard is because it brings in both pointers (lower level programming) and objects (higher level programming). All the basics are the basics no matter what language you use, but pointers andobjects are the two big ones that differentiate everything. Thats why its best to either start off high (c# / java) because it abstracts pointers where you dont have to worry about memory management, or c, where it doesnt have object oriented features but has all the memory management. c++ has both, which is why if your a beginner you may be overwhelmed with both.

way2funny

Meh... I blew through c++ my freshman year easily... The only thing I ever got less than A+ grades on were recursion... Recursive functions are a major mind-fukk...

i found them simple. I mean in the end you are just having a function call itself over and over. I guess the thinking behind it can get tricky but then i just think of as traveling up and down a pyramid.

I did get it after a while as m0zart said we had to master it as all the object oriented stuff needed at least 1 recursive function...