One of the questions that seems to come up on these forums over and over is something like this: "How can i get into programming on the psp?" I am writing this to (hopefully) answer those questions in general, plus give you a few resources that I hope will help.
You should learn to program on the PC before learning how to program on the PSP.
For those of you who are just getting into programming this is very important. Learning to program on the PSP is like learning math and starting with calculus - it will make things much more complicated than they need to be. A major part of learning how to program is developing so-called "good programming practices". These things must be learned if you plan on being any kind of decent programmer. Developing good programming practices is one of the most (if not the most) important aspects of learning programming, and their development will be greatly hindered if you attempt to learn on the PSP versus PC.
So before you get started cracking away at PSP programming, why not take the time to develop your skills as a programmer on the PC first. Trust us, you will be glad that you did in the end
While you can write programs in many languages for the PSP, real PSP programming is done in C.
If you are just learning how to program in general, or if you are interested in programming for the PSP, you should definitely study the C language. C is a great language to learn programming with. It's a general purpose language, the compilers and development environments are relatively easy to set up, and many aspects of the language carry over into other languages. It's also completely free. There are also tons of books and online resources for learning C. Overall it's great for beginning programmers.
Sure, you can code PSP programs in other languages, but C is at the heart of the PSP. On top of that, it's the only language "officially" supported by the pspsdk or "PSP software development kit". But as we said before, it is very important to develop good programming practices on PC before attempting to program for the PSP.
You can learn to program in windows, but experienced individuals usually suggest Linux.
While we all have our preferences when it comes to operating systems, many experienced programmers will suggest you learn to program in Linux. While this is not 100% necessary, there are definite advantages to Linux.
Windows has a bad habit of teaching things that can only be done in Windows. For example, there are certain libraries available in Windows that will cause the program to become incompatible with any other operating system besides Windows. These libraries are not present in Linux. Everything you encounter in Linux will carry over to all other operating systems. That being said you can learn proper programming in Windows, just make sure that your teaching resource covers "pure" programming and is not operating system specific.
When it comes to PSP programming, Linux is king. Nearly all tools for PSP programming were developed in Linux, therefore they work best in Linux. Of course it's not impossible to program for PSP in Windows, but working in Linux definitely helps
All these things aside, the most important thing when it comes to learning is that you are comfortable with your environment. If you are comfortable with Windows then feel free to stick with Windows, the same goes for Linux. If you would like an interesting challenge you could attempt to tackle both at the same time. Again its all up to you
tl;dr:
- Learn to program well on PC first before even considering programming on the PSP
- The C programming language is a great language for beginner programmers, especially those interested in PSP programming
- Learning to program in Windows is fine, but many people suggest Linux
Intro to Programming Using C - a wonderful tutorial written by m0skit0
C Programming Tutorials - from http://www.cprogramming.com
Distro Watch - a comparison of the 10 most popular Linux distros
Linux Distro Chooser - a quiz to help you choose the right Linux distro for you
MinGW - Minimalist GNU for Windows - a wonderful compiler for c & c++ (among other languages)
GCC - the best compiler collection for Linux
Eclipse IDE - a great development environment for Windows & Linux
Installing the PSPSDK (Linux or Windows) - a tutorial written by yours truly
Advertising