A Quick View From C/C++ to C#

There are many programming languages to program a computer. The most popular and basic ones are Basic, C, C++, Pascal, Java, COBOL, and Assembler. Machine language is a collection of instructions that controls the computer's hardware. Many programming languages are compiled and some programming languages are interpreted. Compilers translate the entire program into machine language before executing any of the instructions while interpreters proceed through a program by translating and then executing single or small groups of instructions such as line by line or statement by statement.

Actually, both compilers and interpreters are computer programs. That means C and C++ are computer programs that accept the inputs and generate an output. They accept source code as inputs and generate object code as an output.

C and C++: A Short Overview

C is the most popular structured programming language. It was invented and implemented by Dennis Ritchie. C builds on BCBL and B, that was developed by Martin Richards and Ken Thompson.

C grew with a book named The C Programming Language by Brian Kernighan and Dennis Ritchie (Prentice-Hall, 1978). The most important year is 1983 for the C programming language. In 1983, a committee was organized to create ANSI standards for C. This standardization process took six years. The first standards were finally adopted in late 1989. Also, 1990 and 1996 are important years for the ANSI standards of C. The most recent standard for C was released. This book includes the full ANSI 99 C standard for C Programming Language.

C is used by programmers to design and develop any kind of programming. You can write source code for a system task or high level GUI design with C. Also, you can create your own source library with C. Even after many years, C has not lost its popularity. Today many programmers use C to generate their source code for various programming tasks.

Bjarne Stroustrup created C++ in the 1980s. C++ is based upon C and is a superset of it. C++ is the most popular object oriented programming language with C power. Its first name was C with Classes. C++ offers programmers more power. Object Oriented Programming (classes) is the primary addition to C provided by C++. Another important addition is generic programming.

C++ has now been standardized with ANSI and ISO committees. The final draft international standards of C++ were released in late 1997 and the actual international standards were adopted in mid 1998.

As I said before, this book is written to be compliant with ANSI/ISO C and C++. You can compile and run source codes of this book (You can find all codes and examples in the book's CD) with any ANSI/ISO standard C and C++ compiler tools.

C#: Another Short Overview

C# is a strong, modern, object-oriented and type-safe programming language. Also, C# provides the simplicity of Visual Basic with the power of C++. C# probably will prove to be the most important new programming language since the advent of Java. C# brings together Visual Basic simplicity, Java specification and the power of C++. At this point, I should say Borland at an earlier date developed products such as Delphi and C++ Builder that have offered some of the benefits of C#. But neither of these products has achieved the popularity of VB or C++.

The problem for C and C++ programmers was a rapid development combined with the power to access all the functionality of the underlying platform. Programmers want an environment that is completely in sync with emerging web standards and one that provides easy integration with existing applications. Also, C and C++ developers would like the ability to code at a low level when and if the need arises.

Under this light, the Microsoft solution to this problem is a language called C#. Basically, C# is the premier language being promoted by Microsoft for the .NET Platform. C# has been created by Anders Heljsberg, famous for creating the Turbo Pascal Compiler and the leader of the team that designed Delphi, and Scott Wiltamuth from Microsoft working with Microsoft's Visual J++ team.

The .NET framework's Common Language Runtime (CLR) is very similar to the Java Virtual Machine (JVM), in terms of garbage collection, security, just in time compilation (JIT). However, the fundamental difference arises from the variance in perception of the Sun's Java design team headed by James Gosling and that of Microsoft's C# designers spearheaded by Anders Hejlsberg (Microsoft transfered him from Borland).

The Common Language Runtime (CLR) is the runtime environment of the .NET framework, that manages the execution of code and provides services. The Common Language Runtime (CLR) is also proposed for ECMA standardization. However, The ECMA documents refer to the CLR as Common Language Infrastructure (CLI). It has five components. [Editor's note: The CLR is an implementation of the CLI standard, they are not the same thing.]

Use of C# requires the Common Language Infrastructure or its equivalent. That means C# is neither Java nor VB (nor C++ Builder). It is a new programming language. Microsoft decided to develop an Object Oriented and Web compatible programming language derived from C, C++ and Java. The result is C# and C# is stronger, more advantageous and easier to use than the others.