Originally posted by: Deeko
Standard, ANSI C++ is sort of the "base" that you should learn. Its more portable - if some day you're in a Unix environment, regular C++ (should) still work. The extra .NET stuff only works in Microsoft's compiler and that code only works on Windows. Its just better to learn the real thing first. You don't learn calculus by the teacher telling you how to plug the equation into Maple, you learn how to do the integration yourself, know what I mean?
C# is syntactically similar to C++, but its more of a "pure" object oriented language, whereas C++ is at heart an imperative language (C) with object oriented functionality. Think of C# as the bastard child of C++ and Java.
I know that my starting language should be C oriented, but i'm not sure which one
The extra .NET stuff only works in Microsoft's compiler and that code only works on Windows.
I've never heard of C# before. Whats C# have that C++ doesn't? Whats wrong with using C++ with .NET rather than C#?
sparka, you should learn visual c++ 2005 on .net because its free and is the same if not more powerful than the imperative version of C++.
Originally posted by: beggerking
Originally posted by: Deeko
Standard, ANSI C++ is sort of the "base" that you should learn. Its more portable - if some day you're in a Unix environment, regular C++ (should) still work. The extra .NET stuff only works in Microsoft's compiler and that code only works on Windows. Its just better to learn the real thing first. You don't learn calculus by the teacher telling you how to plug the equation into Maple, you learn how to do the integration yourself, know what I mean?
C# is syntactically similar to C++, but its more of a "pure" object oriented language, whereas C++ is at heart an imperative language (C) with object oriented functionality. Think of C# as the bastard child of C++ and Java.
incorrect... .net converts your code to metacode which will allow you to built assemblies that can be used on multiple platforms without to worry about types, etc
C++ supports multiple inheritance and C# doesn't .. but syntaxically its basically the same.
sparka, you should learn visual c++ 2005 on .net because its free and is the same if not more powerful than the imperative version of C++. an early handling on OOPS would help you to become a better programmer.
.net standard libraries is the same as the standard C++ library..additional libraries includes securities libraries and service component libraries which don't exist in C++ unless obtained from 3rd party..
Originally posted by: Nothinman
.net standard libraries is the same as the standard C++ library..additional libraries includes securities libraries and service component libraries which don't exist in C++ unless obtained from 3rd party..
Yes, but that's the point. If you get a bundle of the normal C++ stuff plus the MS added stuff you won't know what's standard and what's not until you try to use something that doesn't exist on another platform. Obviously this could happen starting with another platform too, but it's less likely since MS bundles a lot of crap with VS.
Originally posted by: mAdMaLuDaWg
Wrong C# converts your code to Microsoft's propietary Intermediate Language: MSIL which is based on the Common Language Specification but that doesn't mean it adhers to any sort of open standard out of the box. It can't be directly used on multiple platforms, you need a third party library to do so. Although the specifications for the language is open, I don't have much faith that the project will ever be able to fully catch up with the changes in .NET (especially with future revisions of .NET & vista) unless MS officially throws their weight behind the project.. which I hope they will do. Even then its going to be some time before it fully penetrates into commercial level enterprise/open source apps and the academic world.
Originally posted by: beggerking
Originally posted by: mAdMaLuDaWg
Wrong C# converts your code to Microsoft's propietary Intermediate Language: MSIL which is based on the Common Language Specification but that doesn't mean it adhers to any sort of open standard out of the box. It can't be directly used on multiple platforms, you need a third party library to do so. Although the specifications for the language is open, I don't have much faith that the project will ever be able to fully catch up with the changes in .NET (especially with future revisions of .NET & vista) unless MS officially throws their weight behind the project.. which I hope they will do. Even then its going to be some time before it fully penetrates into commercial level enterprise/open source apps and the academic world.
MSIL runs on .net platform which IS a cross platform specification just as Java bytecode. Every version of .net is compatible with prior version..
to sparka:
I always start with a dummy book...
Originally posted by: beggerking
lol.. my bad.. i meant backward compatible..
Originally posted by: beggerking
lol. we have a misunderstanding..
.Net 2.0 JIT is backward compatible with .Net 1.0/1.1 code ( since it runs older code)
or
.Net 1.0/1.1 code is forward compatible with .Net 2.0 JIT. (since it runs on future .Net)
There are lots of apps popping up in the linux community written entirely in c#. I even heard tell that mono implemented parts of asp.net 2.0 from spec before microsoft. I have my doubts about whether or not mono in general will ever be certifiably compatible with microsoft's .net but I bet they'll get pretty close and the skills will most definitely be transferrable between platforms.Originally posted by: mAdMaLuDaWg
C# is Windows Only (yes, there is mono but its not truely cross-platform as of yet and won't fully be without official support from MS). So when you learn C#, you are not going to be able to use it on any other platform.
I remember hearing a while ago that c++.net ran unmanaged. Or maybe I understood wrong, all I remember is that James Gosling got all in a flap about it Can someone confirm?