software development, consultancy and web site design services

C++ Software

C++andis a general-purpose programming language with high-level and low-level capabilities. It is a statically typed, free-form, multi-paradigm, usually compiled language supporting procedural programming, data abstraction, object-oriented programming, and generic programming.


C++ is regarded as a mid-level language. This indicates that C++ comprises a combination of both high-level and low-level language features.


The C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998, the current version of which is the 2003 version, ISO/IEC 14882:2003. A new version of the standard (known informally as C++0x) is being developed.
Current work indicates that C++ will continue to capitalize on its multi-paradigm nature. Notable expected improvements are native support for threading and concepts that will make working with templates easier. Adding garbage collection is currently under heavy discussion. Boost.org is a group working to make the most of C++ in its current form. They are expanding C++'s functional and metaprogramming abilities and also advise the C++ standards committee on which features work well and which need improving.


Managed C++ is Microsoft's set of deviations from C++, including grammatical and syntactic extensions, keywords and attributes, to bring the C++ syntax and language to the .NET Framework. Managed C++ is not a complete standalone, or fully fledged programming language. These extensions allow C++ code to be targeted to the Common Language Runtime (CLR) in the form of managed code as well as continue to interoperate with native code.


These managed extensions were released with Visual C++ .NET which was one of the products released with Visual Studio .NET (2002). In late 2005, the Managed C++ extensions were significantly revised to clarify and simplify syntax and expand functionality to include managed generics. These new extensions were designated C++/CLI and included in Microsoft Visual Studio 2005. The term Managed C++ and the extensions it refers to are thus deprecated and superseded by the new extensions. The information provided in this article relates to the older extensions.


"Managed" refers to that it is run in, or managed by, the .NET virtual machine that functions as a sandbox for enhanced security in the form of more runtime checks, such as buffer overrun checks. Additionally, applications written in Managed C++ compile to CIL Common Intermediate Language and not directly to native CPU instructions like regular C++ applications do.


Managed C++ code can interoperate with any other language also targeted for the CLR such as C# and Visual Basic .NET as well as make use of features provided by the CLR such as garbage collection. This means Managed C++ occupies a unique position in the gallery of .NET languages. It is the only language that can communicate directly with .NET languages (such as C#, VB.NET) and native C++. The other .NET languages can only communicate with C++ code via PInvoke or COM. But since Managed C++ can communicate directly in both managed and unmanaged contexts, it is often used as a "bridge". This allows C# and VB.NET to both hook into the unmagaed unsafe domain that C++ usually inhabits and allows programmers with a great deal of experience use this feature to provide more functionality.


We can create highly scalable, native and managed C++ applications written using frameworks such as ATL, MFC and COM++. Our developers have experience in writing C/C++ applications written on Unix/Linux and Windows and can create POSIX compliant software systems for mission critical applictions.



Please
contact us
for more information.



PDF Document: C++ Software
Printer friendly PDF

2008 © DOTNUTSHELL TECHNOLOGIES Ltd.
Currently 49 active user(s) with 1103 hit(s) since 3.00 GMT 19/11/2008. RSS FEED
Home | Privacy Policy | Site Map | Links | Company | Contact Us | Arena

We provide cutting edge software development, consultancy and web design services.

Valid XHTML 1.0 Transitional Valid CSS!