Wednesday, August 6, 2008

C++ Programming Overview

Introduction

This article is not an extensive guide to master the C++/CLI programming language, rather it is a quick start learning material that offers an easier way for an unmanaged C++ programmer to enter the world of managed programming, still sticking to C++. I hope that this article would prove useful for a C#, or VB.NET, or a pure managed programmer too to program in C++/CLI where the two programming worlds merge to offer the most powerful environment for programming.

Comparisons of C++/CLI with C#, VB.NET, or other .NET languages have almost not been made but if so, they are not made to win arguments but to show the difference, and to understand and appreciate gotchas and subtleties. There are absolutely no references in this article to the (obsolete) Managed C++. So, let us jump in!!!

Words Of Agreement

The word "unmanaged" in the broader sense encompasses any and all technologies (Win32, COM....) and programming languages (C++, VB, Pascal.....) prior to the inception of .NET. The word "managed" refers to the .NET technology itself and only those programming languages that support programming on the .NET platform. The words 'object' and 'instance' have been used interchangeably for the managed object.

.NET refers to or is the programming technology, platform, and standard. CLR [Common Language Runtime] is the implementation of .NET and is the runtime engine (platform) that programming languages generate IL (intermediate code) to get hosted against. CLR is the virtual processor that executes the IL generated by the various programming languages available for programming on the .NET platform. C++/CLI is the one [superior one] of them. The article, in its entirety, is an attempt to start learning the same.

For the content of this article, C++ means the ANSI-ISO C++ (originally conceived by Bjarne Stroustrup). It is for programming in the unmanaged world, and cannot be used for programming on the .NET platform. C++/CLI is not the same, and the article will delve in more detail about that. It must be considered as an entirely different language whose subset is the features and facilities of the ANSI-ISO C++. For the content of this article, unmanaged refers to programming through C++, although it is equivalent to doing through any of the other unmanaged programming languages.

No comments: