C# and C++ Past, Present, Future :: Software Engineer
-
Hello. I am a C++ programmer with limited experience (design) using C#. From my experience, C#, like Java, is a derivative of C++. However, Microsoft is able to blend C# and C++, getting the best out of the Java design. With the recent settlement between MS and SUN, I think that MS will remain the top desktop software company. Bottomline: C# should surpass Java given that it is in fact platform-independent. I have some basic questions on the C# language. Currently, does a C# application run on a non-Win32/Win64 platform (UNIX, Mac, wireless)? How does C# compare to C++ in terms of object-oriental design (inheritance, template, etc) on a large-scale project? How does C# compare to C++ for client/server applications including various IPC concepts, multithreading, multiple processes, etc? How does C# compare to C++ for processor-intensive applications including games, 3D-render, multimedia, etc? I read some reviews on two books on C# by Jeff Prosise and Charles Petzold. In general, readers find the books GUI-oriented. How good is C# for performance-imperative applications? Thanks, Kuphryn
-
Hello. I am a C++ programmer with limited experience (design) using C#. From my experience, C#, like Java, is a derivative of C++. However, Microsoft is able to blend C# and C++, getting the best out of the Java design. With the recent settlement between MS and SUN, I think that MS will remain the top desktop software company. Bottomline: C# should surpass Java given that it is in fact platform-independent. I have some basic questions on the C# language. Currently, does a C# application run on a non-Win32/Win64 platform (UNIX, Mac, wireless)? How does C# compare to C++ in terms of object-oriental design (inheritance, template, etc) on a large-scale project? How does C# compare to C++ for client/server applications including various IPC concepts, multithreading, multiple processes, etc? How does C# compare to C++ for processor-intensive applications including games, 3D-render, multimedia, etc? I read some reviews on two books on C# by Jeff Prosise and Charles Petzold. In general, readers find the books GUI-oriented. How good is C# for performance-imperative applications? Thanks, Kuphryn
kuphryn wrote: Currently, does a C# application run on a non-Win32/Win64 platform (UNIX, Mac, wireless)? Sort of. Have a look at the Mono project - they have a C# compiler and so forth kuphryn wrote: How does C# compare to C++ in terms of object-oriental design (inheritance, template, etc) on a large-scale project? Probably similarly to Java. kuphryn wrote: How does C# compare to C++ for client/server applications including various IPC concepts, multithreading, multiple processes, etc? Pass. .NET certainly makes those things a lot easier and less error prone. Have a look at .NET Remoting and Asynchronous Delegates for starters. kuphryn wrote: How does C# compare to C++ for processor-intensive applications including games, 3D-render, multimedia, etc? Well, if you're working on the bleeding edge, C++ will probably let you squeeze out a few percent extra performance at the cost of much more complicated development. Later versions of DirectX have support for using a managed language like C#. kuphryn wrote: I read some reviews on two books on C# by Jeff Prosise and Charles Petzold. In general, readers find the books GUI-oriented. How good is C# for performance-imperative applications? I would say that C# is quite suitable, but if you're learning, keep a close eye on the code you are writing and the objects you are creating. It's quite easy to screw up your performance if you create a lot of objects and the GC can't collect them in a good time for some reason, so all your app does is swap all the time. HTH
Ian Darling "The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt." - Bertrand Russell
-
kuphryn wrote: Currently, does a C# application run on a non-Win32/Win64 platform (UNIX, Mac, wireless)? Sort of. Have a look at the Mono project - they have a C# compiler and so forth kuphryn wrote: How does C# compare to C++ in terms of object-oriental design (inheritance, template, etc) on a large-scale project? Probably similarly to Java. kuphryn wrote: How does C# compare to C++ for client/server applications including various IPC concepts, multithreading, multiple processes, etc? Pass. .NET certainly makes those things a lot easier and less error prone. Have a look at .NET Remoting and Asynchronous Delegates for starters. kuphryn wrote: How does C# compare to C++ for processor-intensive applications including games, 3D-render, multimedia, etc? Well, if you're working on the bleeding edge, C++ will probably let you squeeze out a few percent extra performance at the cost of much more complicated development. Later versions of DirectX have support for using a managed language like C#. kuphryn wrote: I read some reviews on two books on C# by Jeff Prosise and Charles Petzold. In general, readers find the books GUI-oriented. How good is C# for performance-imperative applications? I would say that C# is quite suitable, but if you're learning, keep a close eye on the code you are writing and the objects you are creating. It's quite easy to screw up your performance if you create a lot of objects and the GC can't collect them in a good time for some reason, so all your app does is swap all the time. HTH
Ian Darling "The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt." - Bertrand Russell
-
I'll also emphasise the plaform independance of C# - not so good at the moment, and unlikely to support the full .net framework anytime soon. Java definatley has platform independance and if you are considering a Unix/Windows co-development then it, and C++ (with judicious use of libraries), are your only options.
-
Hello. I am a C++ programmer with limited experience (design) using C#. From my experience, C#, like Java, is a derivative of C++. However, Microsoft is able to blend C# and C++, getting the best out of the Java design. With the recent settlement between MS and SUN, I think that MS will remain the top desktop software company. Bottomline: C# should surpass Java given that it is in fact platform-independent. I have some basic questions on the C# language. Currently, does a C# application run on a non-Win32/Win64 platform (UNIX, Mac, wireless)? How does C# compare to C++ in terms of object-oriental design (inheritance, template, etc) on a large-scale project? How does C# compare to C++ for client/server applications including various IPC concepts, multithreading, multiple processes, etc? How does C# compare to C++ for processor-intensive applications including games, 3D-render, multimedia, etc? I read some reviews on two books on C# by Jeff Prosise and Charles Petzold. In general, readers find the books GUI-oriented. How good is C# for performance-imperative applications? Thanks, Kuphryn
I often read about fully OO feature in languages including Java and C#. How important is object-oriented paradigm? Nonetheless, the good things seem to point to platform-independence rather than the OO paradigm. How would you evaluate fully OO paradigm (C#, Java, etc) to a flexible programming language like C++ that gives the developer unsurpassed control without going to ASM? Kuphryn