The C programming language just about qualifies as a high level language in my book. What's a high level programming language? A high level programminglanguage is one which provides a rich set of keywords (and/or icons) and language constructs allowing you to construct complex programs with a minimum of difficulty. Often high level programming languages resemble english although this is not always the case (e.g. Ladder programming languages used in PLC's). Ther are lots of high level languages ranging from ADA to Zed. C is a widely used programming language for a number of reasons:
1) Its been around for a long time
2) It is the "standard" programming language on
Unix systems.
3) It is a high level language that lets you do
some very low level things such a fiddling with individual bits.
4) Most microprocessor manufacturers release a C
compiler for their processors soon after or along-side their assemblers.
Its not all plain sailing for C however. Its syntax can be a little odd at times, its pointer handling can be very confusing and it can be difficult to structure large programs using it. Nevertheless, C is here to stay for a while at least. In recent years its syntax has been expanded to cater for object oriented programming giving us C++, and more recently, Microsoft has announced a new variation called C# (C-sharp) which attempts to combine the benefits of C++ (fast execution speed) with java ("safe" programs).
C programs must be compiled before they can be executed on a target
system. The programmer (carefully) types out the source file (something.c),
saves it and passes it through a C compiler. The compiler produces
an object file (a mix between executable code and symbolic labels).
This object file is then combined with (linked) with other object files
and useful libraries to produce a final executable program. This
is very different from an interpreted program which is effectively compiled,
line by line, each time it is run. As you may guess, compiled programs
can run a lot faster than interpreted ones (although this is changing,
especially in the case of Java)
.
We will concentrate our efforts here on plain old C and we will begin
with everyone's first C program: Hello World.