If you’ve decided you want to learn programming, C is a great place to start. As one of the most widely used programming languages, C will provide a foundation in programming fundamentals that you can apply to other languages like C++, Java, Python and Ruby. The quickest way to learn C Programming is from an expert who can explain some of the more confusing features of the language.
Before you can create and run your first C program, you’ll need to install a C compiler that will take your source code and turn it into machine executable format. You’ll also need an editor to create source code files. Instead of investing in both a compiler and editor, most programming instructors recommend using an IDE (Integrated Development Environment). An IDE is an application that includes a source code editor, a compiler, useful software libraries and tools to help you debug your programs. It allows you to complete all of your programming tasks using the same interface.
As a beginner programmer, you probably want to make the smallest possible investment in a C compiler. Although a variety of free C compilers were available for earlier versions of Windows, some of them may not work well on Windows 7 and Windows 8. Whether you pay for a C compiler or use a free one, you should verify the quality of the compiler and it’s availability for Windows 8 before you start downloading.
What About C++?
When you begin to shop around for a C compiler, you’ll notice that many of Windows 8 compilers say they’re for C++. You should still be able to compile C source files with these compilers, but it pays to verify that a C++ compiler also works for C before you download it. Even if learning C++ is one of your goals, starting out with C will help you prepare you for objected-oriented programming and some of the other more sophisticated concepts that are part of the C++ language. When you’re ready, get a fun introduction to C++ Programming.
Microsoft Visual Studio
Microsoft Visual Studio is considered by many programmers to be the gold standard for Windows programming. The for-pay version of this IDE includes a code editor, a C/C++ compiler, an advanced debugger and programming tools to help you build user interfaces, websites and databases. Visual Studio supports several programming languages besides C and C++, including Basic, C#, F# and Jscript. Microsoft also provides a limited Express version of Visual Studio that can be downloaded free of charge. There are a few different flavors of Visual Studio Express available, including Express for the Web for programming websites, Express for Windows for coding Windows applications and Express for Windows Phone for mobile apps. Code developed in Express is compatible with the other versions of Visual Studio in case you decide to upgrade later to the paid version, making it a practical option for novice C programmers.
This open source, free IDE for C and C++ programming is available on Linux and Mac OSX as well as Windows 8. It was developed in 2006 by Eran Ifrah using the wxWidgets toolkit and other open source tools. CodeLite includes a fully functional debugger that allows you to set breakpoints and step in and out of functions while your program is running–a great way for a beginning programmer to learn how the code works and solve logic programs. C Programming for Beginners explains how to install CodeLite and provides coding examples that take you from basic programming statements to functions, loops and memory allocation.
The C and C++ compilers developed by Digital Mars are known for their fast compile and link times. Both command line and IDE versions are available. The command line versions can be downloaded free from the Digital Mars website along with library source files, HTML documentation, sample code and tutorials. The IDE versions are available for a small fee. Digital Mars is a small independent software company owned by Walter Bright, a software engineer known for developing the D programming language. The Digital Mars C compiler was previously distributed under the names Zorland C and Zortech C. Online support and an active user community are available if you need help.
The Minimalist GNU for Windows compiler is a port of the popular GNU Compiler Collection for Windows. It includes a set of free import libraries and header files that provide access to the Windows API. Since this is open source software that is maintained by a group of volunteers, you may not find as much technical support aimed at a beginning programmer as you will for the other compilers described here, but you will find detailed instructions for downloading the software at MinGW.org.
What to Look for in a Professional-Level Compiler
As you begin to master C, you may decide do some freelance programming. At this point, you’ll need to re-evaluate your compiler and decide if it can be used for professional projects. In addition to considering how easy your current compiler is to use and how quickly it compiles, you should also do some research into the quality of the code it generates, the tools it includes and the availability of support when you need it.
You should also make sure your compiler adheres to industry C language standards in case you decide that your code also needs to run on Mac OSX, Linux or some other platform. If your current compiler falls short in any of these areas, it’s time to get one that allows you to do your best work for your clients. Bjarne Stroustrup, the Danish computer scientist who created C++, has published a useful list of C++ compilers that conform to his standards for the language.
As a professional programmer, you’ll find that software development is an occupation that requires ongoing education. Once you understand the fundamentals of C, you’ll be ready to use complex programming constructs and branch out to other languages. CS107: Programming Paradigms, is a free online version out of a Stanford University that will help you take your programming skills to the next level.