The number of programming languages today, and the volume of programming information available online, is truly staggering. If you are looking to learn computer programming from ground zero, knowing very little, you must be more than a little bit overwhelmed.
Perhaps you have a goal of someday writing applications for the iPhone, or creating the next great windows application for managing a personal budget. Maybe you are tired of having a dead-end job and want to upgrade your skillset.
Regardless of your motivation, you have to start somewhere.
That ‘somewhere’, is the computer programming language C. C has stuck around for many years for a reason – it’s a good language.
For the beginner to programming concepts, C is the best of both worlds – it is a ‘small’ language, meaning there aren’t a zillion things to learn, and yet it is also very powerful and can be used for major applications.
The beginner needs to learn fundamental programming concepts:
- control structures
- program structure – how to break a project into meaningful pieces
What the beginner doesn’t need to get bogged down with are the more advanced object-oriented concepts, such as inheritance and function overloading. What sounds easier to you: looping, or inheritance? Yeah I thought so.
The ‘simple’ concepts you will learn in C must all be understood anyway before you move on (if you desire) to the more advanced languages such as C++.
A very important point to grasp is that programming is more than just learning the language – it is also learning how to architect solutions. By that, I mean learning how to break a (potentially) large and complex software design task into pieces that make sense. Breaking a problem into building block pieces is more art than science, and can better be learned when you are working with a relatively ‘simple’ language like C – you avoid getting caught up in the complexities of the language.
Part of learning programming is also learning to “think like a programmer”. Sign up at my website listed in my signature, and let’s get teaching you to be a programmer.