getting started with C++

Hello friends, as mentioned previously here that this time I will be writing about C++ programming, I am going to start it from this post and now on. In this post I will start with the history of C++ language and later on I will let you know how to get started with C++ programming.

Brief history of C++

The C++ programming language has a history going back to 1979, when Bjarne Stroustrup was doing work for his Ph.D. thesis. One of the languages Stroustrup had the opportunity to work with was a language called Simula, which as the name implies is a language primarily designed for simulations. The Simula 67 language – which was the variant that Stroustrup worked with – is regarded as the first language to support the object-oriented programming paradigm. Stroustrup found that this paradigm was very useful for software development, however the Simula language was far too slow for practical use.

Shortly thereafter, he began work on “C with Classes”, which as the name implies was meant to be a superset of the C language. His goal was to add object-oriented programming into the C language, which was and still is a language well-respected for its portability without sacrificing speed or low-level functionality. His language included classes, basic inheritance,inliningdefault function arguments, and strong type checking in addition to all the features of the C language.

The first C with Classes compiler was called Cfront, which was derived from a C compiler called CPre. It was a program designed to translate C with Classes code to ordinary C. A rather interesting point worth noting is that Cfront was written mostly in C with Classes, making it a self-hosting compiler (a compiler that can compile itself). Cfront would later be abandoned in 1993 after it became difficult to integrate new features into it, namely C++ exceptions. Nonetheless, Cfront made a huge impact on the implementations of future compilers and on the Unix operating system.

In 1983, the name of the language was changed from C with Classes to C++. The ++ operator in the C language is an operator for incrementing a variable, which gives some insight into how Stroustrup regarded the language. Many new features were added around this time, the most notable of which are virtual functionsfunction overloading, references with the & symbol, the const keyword, and single-line comments using two forward slashes (which is a feature taken from the language BCPL).

In 1985, Stroustrup’s reference to the language entitled The C++ Programming Language was published. That same year, C++ was implemented as a comercial product. The language was not officially standardized yet, making the book a very important reference. The language was updated again in 1989 to include protected and static members, as well as inheritance from several classes.

In 1990, The Annotated C++ Reference Manual was released. The same year, Borland’s Turbo C++ compiler would be released as a commercial product. Turbo C++ added a plethora of additional libraries which would have a considerable impact on C++’s development. Although Turbo C++’s last stable release was in 2006, the compiler is still widely used.

In 1998, the C++ standards committee published the first international standard for C++ ISO/IEC 14882:1998, which would be informally known as C++98. The Annotated C++ Reference Manual was said to be a large influence in the development of the standard. The Standard Template Library, which began its conceptual development in 1979, was also included. In 2003, the committee responded to multiple problems that were reported with their 1998 standard, and revised it accordingly. The changed language was dubbed C++03.

In 2005, the C++ standards committee released a technical report (dubbed TR1) detailing various features they were planning to add to the latest C++ standard. The new standard was informally dubbed C++0x as it was expected to be released sometime before the end of the first decade. Ironically, however, the new standard would not be released until mid-2011. Several technical reports were released up until then, and some compilers began adding experimental support for the new features.

In mid-2011, the new C++ standard (dubbed C++11) was finished. The Boost library project made a considerable impact on the new standard, and some of the new modules were derived directly from the corresponding Boost libraries. Some of the new features included regular expression support (details on regular expressions may be found here), a comprehensive randomization library, a new C++ time library, atomics support, a standard threading library (which up until 2011 both C and C++ were lacking), a new for loop syntax providing functionality similar to foreach loops in certain other languages, the auto keyword, new container classes, better support for unions and array-initialization lists, and variadic templates.

Source: cplusplusc.om

What do you need to get started?

As I always believe to start programming in any language first what you need is  enthusiasm in it. Than it comes the ability of building logic for a definite problem. If you have both of these I think you are quiet ready for starting programming in any language.

Now coming to the thing that you need technically. Basically a compiler and a editor are enough for C++ but I recommend using a software that has a good GUI(Graphical User Interface) which makes the work easy (We love to make our life more than it requires :D). I personally use a software named CodeBlocks. You can use DevC++ or TurboC++ according to your choice.

I will guide you how to make CodeBlocks ready and its interface.

Here is the download link for CodeBlocks. Download links for all the OS is given there. For the windows users I would recommend to download codeblocks-10.05mingw-setup.exe.

1. Interface of the software will look like this

CodeBlocks Screen

2. Then press Create a new project like in the following screen.

3.  Then a new window will pop. From that Windows selec console application and click on Go.

4. After that from the next window select C++ (As we a re talking about C++ here).

5. Then you will  see a new window. First you will see that the Project name and the Folder to create project in this two fields are blank. Fill those two positions first. It is to be noted that each time you create an we project you will see the same path in Folder to create project in section. Actually each time you create a project there will be a new folder created in the folder you select. So select such a folder where you want to keep your all project altogether.

6. On the next window you will see a list of compilers. I personally use GNU GCC compiler. you can use any of the compilers.

7. Then click on Finish. After that you will see a blank window. From the left panel double click on the Workspace. Under the Workspace section you will see the name of your project. Under that you will see a sub-section(or folder) there will be a file named main.cpp. Double click on the that you will see a tab named main.cpp. There will be a sample code already written there that prints “Hello World!”. Remove the default code and write your own. Compile(build) it by clicking  and run it by clicking 

Now you are prepared to know the unknown and solve the unsolved. 🙂

Happy coding…

About anik

This is Anik Das. I am Student of Electrical and Electronics engineering in National Institute of Technology, Warangal (NITW). I used to study in BRAC University(BRACU) (which is one of the best part of my life). There I also studied EEE but after getting the ICCR Scholarship by the Indian Govt. I moved to NITW. I have completed my H.S.C from Notre Dame College (NDC). I used to work as Microsoft Student Partner(MSP) in Microsoft. I am a tech loving boy…I also love to know about newer and newer things. I am here to share what I learn...

Posted on March 12, 2012, in C++ and tagged , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: