Page 1 of 2

My plan for learning to program

Posted: Fri Oct 03, 2008 10:02 pm
by JaxDragon
This probrably won't interest the more experienced users, but I am really bored and this may interest some newer programmers.

First off, decide what kind of programs you want to make
There are 3 major ones that most people talk about
1)GUI Applications(level editors, text editors, etc.)
2)Game applications(should be self explanatory)
3)Hacking applications(applications made to mess with a program, or just make people mad)

If you chose GUI applications, heres how I think you should start
1)Learn a simple language like perl
2)Advance your language database to C/++
3)Google what framework you need to make the GUI's, as they all differ from operating system to operating system

If you chose game programming, heres how I think you should start
1)Learn C/++, the reason being, you will use this the most often, and it is good to start off in a good object-oriented rythum, otherwise you would have gotten the hang of a simple language, which will probrably mean a harder transition
2a)Learn a game oriented BASIC language, this will get you started into actual game programming.
2b)Learn Python and pygame
3)Learn a C++ game framework of your choice, each OS can have different frameworks

If you chose "hacking" programming, heres how I think you should start
1)Learn C++
2)Learn assembly
3)Learn about TCP/UDP sockets
4)Realise that it requires years of college in network safety, give up, and switch to game programming or GUI programming

Here are links to various tutorials that should help you get started:

SDL Tutorials:
http://www.lazyfoo.net

C++ Tutorials:
http://www.youtube.com/watch?v=Ad0wuvnMUSg, then continue with his series

And the best resource of all...
http://www.google.com

I hope this guide helps people!

Re: My plan for learning to game program

Posted: Fri Oct 03, 2008 11:02 pm
by Arce
Nice, finally somebody capable of learning themselves. ;P

So which path you going to take? (assuming you're actually new and not just posting this as a kind of tutorial for nubz, which is fine. xD)

Re: My plan for learning to game program

Posted: Sat Oct 04, 2008 12:47 pm
by JaxDragon
I myself have taken the path of the game developer. I have learned C++, and am working on BlitzBasic. I was foolish and tried to jump right in to graphical C++ API's and was given a ticket to an epic fail. Thats why I suggest you get the hang of something like blitz before moving on to SDL or something.

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 4:50 am
by dejai
Why not learn a language such as python and ease into a program such as pygame which allows you to develop games with python. Also python would come in handy for many years to come long after you learned C++ as a scripting language among its many other important functions. Not to mention it would be cross compatible across operating systems and would give you more freedom of choice over what you develop should you mature as a programmer and seek a different sector of the programming industry or wish to broaden your horizons. Also Pygame uses SDL anyway so you would still be familiar with the environment and how it works when you switch over to C++. Which would be a great way to ease into development don't you think!

Links:

I took the liberty of grabbing some links for you:
http://www.python.org/ This comes with a lot of information on python and some tutorials on how to get started and download python.
http://www.pygame.org Find information about how to make games with python here.

Books / Ebooks:

At this point I would recommend buying yourself a nice book on python but take the following ebooks as a great way to get started and further your knowledge:
Dive into Python
http://diveintopython.org/toc/index.html This is a great book for someone that wants to get into programming fast, but be warned its a bit rough around the edges and may not be the best for a first time programmer you will want to look for a book stating Learn to PROGRAM with python and not Learn to program in python there is a key difference and if its your first language some would recommended a Sams 24 hours or 21 day book. Or an O'Reily the ones with the animals on front.

How to Think Like a Computer Scientist Learning with Python
http://openbookproject.net//thinkCSpy/ Is another great ebook source and it seems to be in depth maybe for beginners as long as you know your stuff about computers. Check it out this may also be for you.

Thinking in Python
http://www.mindview.net/Books/TIPython This is a great book also available in hard copy which is a good book to read once you have grasped the fundamentals of the language. Through Sams or O'Reily.


Now I am not criticizing your plan I am just providing an alternative that may work out better in the future for you. In the end do what you want but please respect that I went to the trouble of trying to help you out.


Examples of PYGames:
ImageImageImageImageImageImage
Note that a lot of hard work went into these projects.

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 2:13 pm
by eatcomics
That is some good advice. I took the same aproch as you, try c++, fail with the graphics, switch to blitz, be happy...

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 2:52 pm
by JaxDragon
Python is a good language, and easy to learn. Open source is the way to go. It's just that most python/pygame programs, don't have as much flexibity as C++ programs do. But I will edit my post and encourage to learn Pygame, as it is good to go from C++ to Blitz to Pygame. Python together with C++, with python as a scipting language, holds a lot of power.


BTW, You forgot the BEST pygame game of all, FRETS ON FIRE

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 5:51 pm
by sparda
Python and Pygame are an excellent starter combo! I'm familiar with it and I can tell you that
there are a few examples (that come with pygame) in which BlitzBasic code is ported. I can
remember a graphic swizzle that was ported to Python from Blitz and it was pretty awesome.
I definitely recommend it as a supplement to any Blitz coder, as its not difficult to learn at all.

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 7:52 pm
by dejai
I however cannot talk from experience I learned C++ straight out and I am going to tell you now its possible however the learning curve is much larger than other languages and its much harder to make games right with C++ as apposed to python or another language. For your first programming language I would not recommend blitz basic, though it may give you quick results it may promote sloppy programming (I am only saying this in terms of the basic language itself you can rebut if you know the language). Also learning to program is different from learning a language. All programming languages have things in common and its the theory behind this that you really have to grasp. Anyway whatever you choose make sure you understand what the code your writing means and how it produces its results.

P.S When you open a source file and see you know almost nothing about how the code inside or how it works you should be happy because it means there is a lot of room for you to improve. Unless of course its that old text box used in Gyrovorbis engine I suppose no one will ever know what the hell that did.

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 8:32 pm
by MarauderIIC
dejai wrote:P.S When you open a source file and see you know almost nothing about how the code inside or how it works you should be happy because it means there is a lot of room for you to improve. Unless of course its that old text box used in Gyrovorbis engine I suppose no one will ever know what the hell that did.
The same thing twice. Sometimes three times. I should know, I fixed it =)

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 11:01 pm
by Falco Girgis
I wrote that shit when I was 16! I was young, virgin, and naive!

Re: My plan for learning to program

Posted: Sun Oct 05, 2008 11:32 pm
by MarauderIIC
That's no excuse! :)

Re: My plan for learning to program

Posted: Mon Oct 06, 2008 2:06 pm
by dandymcgee
:oops: *Runs off to attempt to fix his messy source code* <- Why I work alone.

Re: My plan for learning to program

Posted: Mon Oct 06, 2008 4:04 pm
by JaxDragon
Lol @
dandymcgee wrote::oops: *Runs off to attempt to fix his messy source code* <- Why I work alone.

Re: My plan for learning to program

Posted: Tue Oct 07, 2008 8:50 am
by ismetteren
Is c++ really the way to go for GUI applications? what about c#?? It is alot easier to actully make some GUI with that.

Re: My plan for learning to program

Posted: Tue Oct 07, 2008 9:00 am
by Falco Girgis
Actually, to be completely honest, I'd say C++ is not the way to go for GUI applications. You would have such an easier time with a higher level language like C#, Java, VB, or scripting languages like Python, Perl, etc.

...But if you're planning to use the knowledge/experience that you gain from making a level editor and apply it to your actual game development, maybe you would be better off with C/++.