This is a continuation from the C & C++ resources hosted at tenouk.com which contains C, C++, Linux gcc, g++ and gdb, C++ & STL, C & WIN32, C++ & MFC. In this new 'programming paradigm', we start with the .NET early stage story and then go through the version stabilization, Windows forms, web services etc. The .Net framework used is 2.0. The OS used is Windows XP Pro SP2. The compilers used are Visual C++ .Net 2003 and Visual C++ .Net 2005 Express Edition. The early C++ .NET called "Managed Extension For C++" which implements 'some Microsoft extension' in order the standard C++ code can exist in the .NET managed framework together with C#, VB .NET and other .NET programming language friends. Later, after most of the "Managed Extension For C++" library for .NET framework 'matured', the name changed to "Managed C++". This should be fully standard C++ and Microsoft extension to standard C++ in the managed environment. Well, it is nothing new because managed C++ already existed before Microsoft .NET framework introduced and the managed principles especially the garbage collection for example, already implemented in Java (which uses C++ as the base or underlying code for example in its class library). Finally, still with Microsoft extension incorporated in the .NET for the standard C++, it is called C++/CLI (Common Language Infrastructure). CLI has been included in the ISO/IEC standard. It is still 'similar'
to Java which Sun incorporates extensions to C++ and then it is called Java. Some argument regarding the C++/CLI standard can be found in C and C++ standard. Well, from the implementer point of view, it is easier to design 'new' programming language from scratch by including the best features available from the current languages such as C++ and VB .NET. Then, you make C++ and VB .NET compatible to the new language, C# in this case. Furthermore, any other languages in the Microsoft programming family can be made 'compatible' to the .NET framework. However, similar to Java which need its virtual machine, Java Virtual Machine (JVM) in order to run its bytecode, .NET languages also need the same framework, that is .NET framework. What we concern actually from the improvement of the security aspect of the language itself. The .NET languages have comprehensive exception handling class library which is very important in critical computer application development.
In the beginning of the .NET framework introduction, Microsoft seems concentrated more on promoting the C#. However, we know that the underlying code still based on C and C++. C# looks more 'attractive' by combining the features of C++ and Visual Basic. And believe us, when you are familiar with either one, C++/CLI or C#, you can convert either one to the other code easily, C# to C++/CLI or vice versa. From coding perspective, not much differences can be expected between C# and C++/CLI. However, C++/CLI project files found to be 'bigger' than C# (before optimization) and C# seems compile and run faster than C++/CLI. Whatever it is, C# or C++/CLI, both give a sure advantage to programmers with previous experience in C++. From .NET framework 3.5 (Microsoft should concern with size of the .NET framework for each new version released), we found that the class library and the documentation for C++/CLI already comparable to C# and VB .NET compared to the earlier .NET framework versions. Look likes Microsoft could not 'dump' C++ by promoting C# and VB .NET intensively.
To have fun.
To pass your exam.
To become a programmer?
To fill up your empty head.
To learn cut/copy and paste, at the end cheat your lecturers.
To cheat your compilers.
To become script kiddies.
To show off.
Depend on your effort! Some get 50 %, some get 70% and some even get nothing! But it can accelerate your learning process, shorten the training period, budding your analytical thinking, making the difficult topics simpler. This is a result oriented programming technique and we are not so concern about the language theory part. What we want to learn and see is what the language can do for us. What you have to do to reap the benefits? The following list gives some ideas.
Study the Tutorial.
Try all the examples.
Learn through the program output and the source codes.
Do the program source code modification, and re-run the program, see the program output changes.
Create your own program, although it is just a simple program.
2009 © visualcplusdotnet. All rights reserved.