Teen Programmers Unite  
 

 

Return to forum top

What should I learn?

Posted by byte11 [send private reply] at February 11, 2002, 04:20:55 AM

I've recently learned C++, and I want to know how to make the jump from general programming to game and network applications. Specifically are there other things I should learn, like assembly, or do I just need a more in-depth knowledge of C?

Posted by vladimir_l [send private reply] at February 11, 2002, 05:29:28 AM

Assembly has no real purpose in game development. Like me you probably need to go deeper into C++ , thats what I am doing now (this very moment), Stroustrups book is always a good companion.One thing I have learned is dont use VC++ , use Borland. And are you fluent in C++ or do you still need to reference to a book ( like me ) sometimes?

-Vlad

Posted by CodeRed [send private reply] at February 11, 2002, 10:50:06 AM

I have both VC++ 6 and Borland 5.02, without either one of them I would have a hard time, they both have pros and cons. How do you go deeper into C++? what do you think would be the most advanced aspect of it? I know all about OO and inheritence, polymorphism (There I go throwing around those big words again, gian) I know about linked lists and pointers and all that, what's next?

Posted by thepeak [send private reply] at February 11, 2002, 11:09:59 AM

Well learning C/C++ depends on the platform you're using, if you wanna do linux programming, well you have a lot of linux programming libs to know, the X libs, the Ncurses lib, the SDL, SVGA, the JPEGlib and hundreds of them, just do a ls /usr/lib and you'll see :P. If you wanna do Win16/32 programming, well there is also a lot of libs to learn, the Win32 API is rich in fuctions and stuff, also you might find useful to learn the DirectX api, and if you think you know it all, well study OpenGl, I dunno! :)
Btw, I'm rather a Java fan than a C/C++ fun, so, what are "linked lists"? hehehehe

Posted by RedX [send private reply] at February 11, 2002, 11:26:20 AM

I sugest to read Code Complete. It covers a lot of material about how the write clear code and to manage a bigger project. It's one of the must-read books.

Spend a lot of time on data structures. Linked lists are usefull, but are generaly too slow to use in a game. Learn how to use the tree structures.

Most important: gain experience. Lots of it.

I disagree about not learning Assembly, You probably wouldn't use it much, but it gives an important view on the internals of a CPU. It's something that is very handy to know when you want an optimal performance. But I wouldn't give it a high priority.
I wouldn't bother about C (Although learning multiple languages is a good thing). C++ can be used as a better C and C has trapholes you don't want to meet in person.

To close, OO isn't the answer to every problem. Learn the other paradigms. (e.g. composition, extreme programming, ...) And look at these as tools, none of these are written down by God, Allah or Superman.

RedX

Posted by vladimir_l [send private reply] at February 11, 2002, 04:25:34 PM

I never said NOT to learn assembly , which is the low level language. I merely meant that it is NO use when making games.
Also Algorithms , they are improtant I found a good book I a mreading now "TY Algorithms" very itresting , lots of algorithms in AL too. Also a thing that I find is intresting is the Number Theory , I never get bored making programs based on it...

-Vlad

Posted by CodeRed [send private reply] at February 12, 2002, 05:24:08 PM

I know the Win32, OpenGL, and DirectX API's well enough to write competent programs, but those aren't part of the language, they're addons. I was asking what the most complex aspect of the language was in (anyones) opinion.

Posted by byte11 [send private reply] at February 12, 2002, 06:45:11 PM

Alright, i'm still on using the reference book with c++, i've been doing more reading than hands on programming lately. So i know about classes and inheritance and data structures and all that, but i'm not up on graphics and that kind of thing. I'd read somewhere that assembly is useful for fast graphics stuff where c++ is too slow, but that might be outdated information. Anyway, I'm taking a computer science class so i'm in a weird situation where i program on macs at school and windows at home, but so far i've been using standard libraries that are the same on both. And sorry about that last thing in my first post, by c i meant c++.

Posted by vladimir_l [send private reply] at February 13, 2002, 04:51:06 AM

Me too I am currently learnin some Graphics .

Posted by RedX [send private reply] at February 13, 2002, 11:23:49 AM

Unless you use one of the older OS' like Dos, you'll never need to worry about writting your own low-level graphics code. These days everybody is using standard APIs for this.
It's true that when Dos was still the standard people wrote their own graphics code in assembly because writting it in C just wasn't fast enough. Now you use DirectX or OpenGL and don't have to know how these handle the details.

In many cases the things that slows your program down, are the data structures (or more precisely using the wrong data structure) or using the wrong standard file I/O functions (these use interrups, and interrups are Slow).
In short: know your data structures, search routines and hardware functions perfectly.

RedX

You must be logged in to post messages and see which you have already read.

Log on
Username:
Password:
Save for later automatic logon

Register as a new user
 
Copyright TPU 2002. See the Credits and About TPU for more information.