At work we are using this proprietary software that releases its SDK in VB,C#, and C++. They praise that C# is the best thing since sliced bread but I want to program it in C++. However their SDK reference is terribly explained to use as C++ because it assumes you are programming in VB or C# where you don't need to know data types etc etc...
Anyway I have come across numerous posts on their company website along with a simple google search on comparing C# and C++. This specific company claims that .NET and C# are the way of the future and C++ is old technology with no real world relevancy. However since my programming background is in engineering computations, I can't understand how they could make that statement. This specific company models on everything Microsoft and is heavily integrated in anything Windows so I can see their bias.
I know that C++ is still good because its platform independent and its fast. However I would like to know what Irrlicht users see in a programming language.
Do you see a new version of C++ coming out in the near future, like C++ replaced C. (I know C# is microsoft made and not an extension.) Or do you think C++ is just perfect with no design flaws?
It seems like more companies are picking Java or C# on their new SDK's because stupid people cant program in C++ (my opinion).
C++ and other Programming Languages
-
- Posts: 1215
- Joined: Tue Jan 09, 2007 7:03 pm
- Location: Leuven, Belgium
Re: C++ and other Programming Languages
C++ is definitely not perfect, far from it actually
The thing with languages like Java and C# is that they're perfectly suited for RAD; you can have something small up and running in 10 minutes, while it'd take a longer time in C++, and although the common misconception states that languages like C# (we're leaving Java out of the picture here) are not cross-platform, they definitely are as long as the target platform supports a VM for the language to run in (like the .NET framework on windows or the Mono framework on *nix variants)
For enterprise-oriented software development, it's exactly these characteristics of the language that make them very desireable; programmers do not have to worry about things like memory management (among other things), and they can intuitively write their code without having to worry too much
As soon as maximum performance or low-level system or hardware interaction become an issue, you'll find out that managed languages can't help you out all that much; I think this is the place where native languages like C and C++ are still very relevant, and where they will remain relevant for quite some time
Personally, I write my time-critical software (like games) in C++, while my tools which do not require any game or engine interaction are written in C#
Both native and managed languages are here to stay IMO, C++ will be probably be seeing future updates (the C++0x standard has even been approved as of 12 August 2011) and so will managed languages like C# and Java
I think it's a bit harsh to write off the choice of C# and Java over C++ as stupidity (although I see where you're coming from), since there are so many cases where these languages will do just fine and where C++ or C just aren't needed
The thing with languages like Java and C# is that they're perfectly suited for RAD; you can have something small up and running in 10 minutes, while it'd take a longer time in C++, and although the common misconception states that languages like C# (we're leaving Java out of the picture here) are not cross-platform, they definitely are as long as the target platform supports a VM for the language to run in (like the .NET framework on windows or the Mono framework on *nix variants)
For enterprise-oriented software development, it's exactly these characteristics of the language that make them very desireable; programmers do not have to worry about things like memory management (among other things), and they can intuitively write their code without having to worry too much
As soon as maximum performance or low-level system or hardware interaction become an issue, you'll find out that managed languages can't help you out all that much; I think this is the place where native languages like C and C++ are still very relevant, and where they will remain relevant for quite some time
Personally, I write my time-critical software (like games) in C++, while my tools which do not require any game or engine interaction are written in C#
Both native and managed languages are here to stay IMO, C++ will be probably be seeing future updates (the C++0x standard has even been approved as of 12 August 2011) and so will managed languages like C# and Java
I think it's a bit harsh to write off the choice of C# and Java over C++ as stupidity (although I see where you're coming from), since there are so many cases where these languages will do just fine and where C++ or C just aren't needed
-
- Posts: 288
- Joined: Wed Oct 29, 2008 12:07 pm
Re: C++ and other Programming Languages
When comparing the two languages the one thing that stands out is difficulty. For me, since I only know how to program in C++ (MATLAB too but that is basic scripting), I am totally oblivious to doing anything any other way. But people who use C# that rant on how much better it is, also are the people saying that say they can't program in C++ at all. It just seems like laziness. If you can get a superior product, even slightly in C++ I would think that you should just pick C++.Radikalizm wrote: I think it's a bit harsh to write off the choice of C# and Java over C++ as stupidity (although I see where you're coming from), since there are so many cases where these languages will do just fine and where C++ or C just aren't needed
I might try it out just to see if I like it, if the right time comes it use it. Right now I am programming in C++ using Winsock moving a lot of process data, which I assume C++ is better than C#, and I don't know how to use C# either.
-
- Posts: 1215
- Joined: Tue Jan 09, 2007 7:03 pm
- Location: Leuven, Belgium
Re: C++ and other Programming Languages
I suggest you try using a managed language (and try to be somewhat objective about it), you'll see for yourself what the differences between the languages are
And by the way, people ranting about how one language is globally 'better' than another language is immediately wrong (talking about relevant languages here), as stated lots of times on these boards languages are tools, it's just up to the programmer to choose the best tool for the job
And by the way, people ranting about how one language is globally 'better' than another language is immediately wrong (talking about relevant languages here), as stated lots of times on these boards languages are tools, it's just up to the programmer to choose the best tool for the job
Re: C++ and other Programming Languages
C# is already on the way down; Microsoft itself is backing down from it, back to C++. Expect worse support as time goes on.
It tends to be their cycle; change everything every few years to force everyone to buy new Visual Studios and whatnot. The carrot this time around is probably c++0x, I expect that will only come to the next VS version.
It tends to be their cycle; change everything every few years to force everyone to buy new Visual Studios and whatnot. The carrot this time around is probably c++0x, I expect that will only come to the next VS version.
-
- Posts: 1215
- Joined: Tue Jan 09, 2007 7:03 pm
- Location: Leuven, Belgium
Re: C++ and other Programming Languages
Haven't heard about C# being on its way out myself, I can't see Microsoft abandoning their .NET solutions as long as Oracle is actively supporting Javahendu wrote:C# is already on the way down; Microsoft itself is backing down from it, back to C++. Expect worse support as time goes on.
It tends to be their cycle; change everything every few years to force everyone to buy new Visual Studios and whatnot. The carrot this time around is probably c++0x, I expect that will only come to the next VS version.
What I do know is that their Silverlight technology will be quite dead soon (did it even have an actual life?) and that Windows 8 will allow you to write apps with HTML5 and Javascript (in my eyes, that's a pretty bad move right there), but I really can't imagine C# being abandoned since it has found its way into many programmer hearts
Re: C++ and other Programming Languages
"In C++, it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." - Bjarne Stroustrup
For pet project tools I use a C/C++ backend dll and a Lazarus (Delphi) frontend.
For work tools I use a C/C++ backend dll and a C# with WinForms frontend.
Also, off-topic, I still believe that Delphi 7 was ( and unfortunately still is ) LIGHT YEARS ahead of Microsoft's
MSVS for WYSIWYG RAD (yes, even MSVS 2010 is only so close) and keep in mind that .NET is FAR, FAR better for RAD
than Cocoa, QT, or any other GUI API. I mean FFS is it THAT HARD to make a proper control selection toolbar and workable event handlers ?
Borland could do it back in the win 3.1 era and it was smaller than Trolltech or Apple are now.
For pet project tools I use a C/C++ backend dll and a Lazarus (Delphi) frontend.
For work tools I use a C/C++ backend dll and a C# with WinForms frontend.
Also, off-topic, I still believe that Delphi 7 was ( and unfortunately still is ) LIGHT YEARS ahead of Microsoft's
MSVS for WYSIWYG RAD (yes, even MSVS 2010 is only so close) and keep in mind that .NET is FAR, FAR better for RAD
than Cocoa, QT, or any other GUI API. I mean FFS is it THAT HARD to make a proper control selection toolbar and workable event handlers ?
Borland could do it back in the win 3.1 era and it was smaller than Trolltech or Apple are now.
-
- Posts: 288
- Joined: Wed Oct 29, 2008 12:07 pm
Re: C++ and other Programming Languages
Hmm I am looking at the new features in C++0x and it will have multithreaded and lock support. I think this is a good improvement. The page is huge though with new features. Anyone especially excited about any new features in C++0x?
Re: C++ and other Programming Languages
Ah so because they are dropping support for .NET you have to use .NET to write apps for WP7 ?hendu wrote:C# is already on the way down; Microsoft itself is backing down from it, back to C++. Expect worse support as time goes on.
Ah yes of course... so what was the last big change again? The introduction of .NET? Last time I checked I could still write native code using the latest VS...hendu wrote:It tends to be their cycle; change everything every few years to force everyone to buy new Visual Studios and whatnot.
Many features of c++11 are available in VS 2010 so yes they will only be available in the next VS...hendu wrote:The carrot this time around is probably c++0x, I expect that will only come to the next VS version.
Software documentation is like sex. If it's good you want more. If it's bad it's better than nothing.
Re: C++ and other Programming Languages
Relegating it to mainly mobiles != full support. For w8 they prefer c++ and html.Sylence wrote: Ah so because they are dropping support for .NET you have to use .NET to write apps for WP7 ?
Yes. You could not write .net in the earlier VS.Ah yes of course... so what was the last big change again? The introduction of .NET? Last time I checked I could still write native code using the latest VS...
All of them? I would expect they'd have left the best ones for the next version.Many features of c++11 are available in VS 2010 so yes they will only be available in the next VS...