i new with programming or maybe i'm confused!! with many definations of microsoft :
1- explain these things plz and diffrences between them:
C++/VC++/C#/COM/MFC/WIN32API
2- i want to learn a cross-platform language which is more low level what is the best choice
3- which one is more low level VC# or VC++ what things could i do with each one and couldn't ?
4- do we have VC++.NET or it's still called VC++ only?
1. C++ : Object Oriented and improved version of C language. Has many implementations (compilers and IDE) like GCC(GNU), Borland C++ (DOS), Borland C++ Builder (visual,RAD), MS Visual C++
VC++ : Microsoft's C++ compiler with IDE, combining many useful tools like COM integration and RAD. The most widely used language ever and your only choice for performance (like games or drivers) Most probably will got decreased
C# : Microsoft's managed code targeted C++ and Java like language. It is standardized by ECMA and ISO. Requires .Net Framework or Mono/DotGnu to work on linux.
COM : Component Object Model, Microsoft's once revolutionary object oriented, language independent native code interoperability platform. You can code COM objects in any language (C++,VB,Delphi,..) you must implement some standart Interfaces like IUnknown. It can be used from any Com supporting language and from scripting languages inclusing ASP and managed languages C#, VB.Net, Asp.Net
MFC : Microsoft Foundation Class, a set of fundemental classes related to COM development.
Win32 API : A set of APIs where all most all the programatically accessible functionality exposed by the Windows OS. At the end of the day, all technologies like COM and .Net code use Win32 api to make kernel do anything as Win32 is the only interface to kernel. Single exception is if you write device drivers which directly live in kernel space.
2.Cross platform and low level is like a contrdiction in terms because as you get low level you come closer to platform and your code gets more platform specific. Your best for portability+acceptable low level is ANSI C and ANSI C++. The only lower level is ASM and isn't cross platform as it is processor specific.
3.VC++ lower level, C# is managed code and is almost the most high leveled of the languages
4. We have VC++.Net which allows managed code, native code and mixed use of them too.
Loren Soth