Here is a short overview and history of C.
The purpose of C is to precisely define a series of operations that a computer can perform to accomplish a task. Most of these operations involve manipulating numbers and text, but anything that the computer can physically do can be programmed in C.
Computers have no intelligence- they have to be told exactly what to do and this is defined by the programming language you use. Once programmed they can repeat the steps as many times as you wish at very high speed. Modern PCs are so fast they can count to a billion in a second or two.
What can a C program do?Typical programming tasks includes putting data into a database or pulling it out, displaying high speed graphics in a game or video, controlling electronic devices attached to the PC or even playing music and/or sound effects. You can even write software to generate music or help you compose.
Is C the best programming language?Some computer languages were written for a specific purpose. Java was originally devised to control toasters, C for programming Operating Systems, Pascal to teach good programming techniques but C was intended to be more like a high level assembly language which could be used to port applications to different computer systems.
There are some tasks that can be done in C but not very easily, for example designing GUI screens for applications. Other languages like Visual Basic, Delphi and more recently C# have GUI design elements built in to them and so are better suited for this type of task. Also some scripting languages that provide extra programmability to applications like MS Word and even Photoshop tend to be done in variants of Basic, not C.
You can find out more about the other computer languages and how they stack up against C.
Which computers have C?This is better stated as which computers don't have C! The answer- almost none, after 30 years of use it is everywhere. It is particularly useful im embedded systems with limited amounts of RAM and ROM. There are C compilers for just about every type of operating system. Find out more about Operating Systems.
How do I get started with C?First you need a C compiler. There are many commercial and free ones available. The list below has instructions for downloading and installing the compilers. Both are completely free and include an IDE to make life easier for you to edit, compile and debug your applications.
- Download and Install Microsoft's Visual C++ 2005 Express Edition
- Download and Install Open Watcom C/C++ Compiler
How do I begin writing C applications?C code is written using a text editor. This can be notepad or an IDE like those supplied with the three compilers listed above. You write a computer program as a series of instructions (called statements) in a notation that looks a little like mathematical formulas.
This is saved out in a text file and then compiled and linked to generate machine code which you then can run. Every application you use on a computer will have been written and compiled like this, and many of them will be wriiten in C. Read more about compilers and how they work. You can't usually get hold of the original source code unless it was open source.
int c=0; float b= c*3.4+10;
Is there plenty of C Open Source?Because it is so widespread, much open source software has been written in C. Unlike commercial applications, where the source code is owned by a business and never made available, open source code can be viewed and used by anyone. It's an excellent way to learn coding techniques. You can see many examples in the C Code Library
Could I get a programming job?Certainly. There are many C jobs out there and an immense body of code exists that will need updating, maintaining and occasionally rewriting. The top three most popular programming languages according to the quarterly Tiobe.com survey, are Java, C and C++.
You could write your own games but you'll need to be artistic or have an artist friend. You'll also need music and sound effects. Find out more about game development. Games like Quake 2 and 3 were written in C and the code is available free online for you to study and learn from it.
Perhaps a professional 9-5 career would suit you better- read about a professional career or perhaps consider entering the world of software engineering writing software to control nuclear reactors, aircraft, space rockets or for other safety critical areas.