C++ Programming Language

Back to CV or Home

C++ is a general purpose programming language. There are at least a dozen, or so C++ compilers, but while I have had a long term association with C++, have only had experience with the Microsoft product that comes with Microsoft Visual Studio.

My first experience with C++ commenced in the late 1980's. Our PEP/STEP UTS Emulator had been rendered into C for Windows 1.0, but it was not working well due to some big problems with handling character interrupts. During task switching for instance, the IRQ was turned off! And how to efficiently get characters to a visual display window, to name a few problems at the time.

But we had quite a few meetings of senior development programmers to try to map out a C++ re-write of the Windows Emulator. The company purchased a giant C++ reference book for each of us, and we had to get into it, and understand what we could, and could not do. The 1990 release of 3.0, with interrupts fixed, began to make it clear that we needed an emulator code update, perhaps in C++, but other concurrent events over took this early effort.

My first C++ efforts were aided by Microsoft Foundation Class, MFC, was a clipboard utility, that ran in the system tray, and allowed a clipboard stack to be addressed, edited, and put as the current clipboard text. The advantage at that stage was an extensive array of predefined classes, on which your class could be built. The Visual Studio Integrate Development Environment (IDE) made class definition a breeze.

All the windows messaging was handled transparently. For example defining a particular dialog box, just meant using the MFC CDialog base, and all the data flow from an internal structure to the dialog edit, check, selection lists, etc., could be done by simple assignment of the variables. And where needed, special message handlers could be written, to carry out the program logic on the data. But you are locked into windows, and the runtime requires the target machine to have a copy of the appropriate Dynamic Link Library (DLL), or else it would not run.

This led to some C++ in the general open source community. Here the dependence is reduced to the so called 'standard' library, and this has been implemented using only the common windows system libraries, so should be available on the widest types of systems, thus the same code can run in most major OS releases, and not only in windows.

So my experience with C++ has spanned more than a decade. From code that built on a large class library base, to code where you must define your own, and use the standard library containers such as vector, list, map, string, etc. to get the most from its Object Oriented design.

In September 1998, the ISO/IEC C++ Standard was published by the International Organization for Standardization (ISO), thus making C++ a 'published' standard, but through working on cross platform products, it is clear the individual compilers issued by their respective vendors/suppliers, do have differences, but so far they have always been relatively minimal, and easily worked around.

Interesting C++ link - The creator :-
Bjarne Stroustrup has a great site, that I ambled around it recently, and got :-
When was C++ invented?

I started work on what became C++ in 1979. The initial version was called "C with Classes". The first version of C++ was used internally in AT&T in August 1983. The name "C++" was used late that year. The first commercial implementation was released October 1985 at the same time as the publication of the 1st edition of The C++ Programming Language. Templates and exception handling were included later in the 1980's and documented in The Annotated C++ Reference Manual and The C++ Programming Language (2rd Edition).

The current definition of C++ is The ISO C++ Standard described in The C++ Programming Language (3rd Edition).

You can find a more complete timeline and more detailed explanations in The Design and Evolution of C++.

Back to CV or Home