Application programming is a good place to start programming if you enjoy building substantial programs. For example, you could create a simple game application. Application programming is more difficult to start off with, but it can be much more powerful in the right hands. While knowledge on web development can only be used to create programs that run in the web browser, applications run straight on the computer. Additionally, mobile development (to be discussed later) is very closely related to application programming. Many of the same techniques apply, you just need to know slightly different libraries.
However, there are drawbacks, mainly in the level of difficulty. Web development has a much lower learning curve. You can begin creating web sites very quickly. The same cannot be said about application programming, however. Even a simple game requires lots of knowledge. For example, a game might require OpenGL in order to draw the game graphics on the screen. In order to do that, you need knowledge of the OpenGL library and how it works. You’ll need to integrate the graphics portion of your game with the game mechanics code. Integrating sound into the game is another library. And 3D graphics get even more complex.
Not to say that all application programming is extremely difficult, however. Applications are written for a variety of fields besides games. However, instead of thinking about graphics, you generally have to know algorithms and data structures. A checkbook application would need a database to store the accounts and transactions, for example. A text editor needs to work with files and different content encodings.
If you want to program mobile applications, learning application programming is a great place to start off. The two main mobile platforms are iOS and Android. iOS uses a programming language called Objective-C, which is related to C++. Android uses the Java language. Both C++ and Java are important, closely related programming languages used to build applications, so learning application programming will give you a great leg up if you want to begin mobile work. And it’s not just the libraries, but the methods that are similar. While web development is oriented around the web browser, mobile development is built for what is essentially a shrunk-down computer.
All in all, application programming can be tough at times, but it is very rewarding when you’re able to look at the program you coded entirely on your own. Once you understand computer science concepts, you’re able to create just about anything.