Barnaby W. Füi
Elite Member
- Aug 14, 2001
- 12,343
- 0
- 0
Originally posted by: b4u
I have a question regarding this C++ vs C# thing ...
I'm interested in start programming games, as a hobby. Now I know C++ is the language of choice when developping games, and the use of graphical APIs like directx ones are a strong way of developping them, with power and ease of use (to some extent).
If I want to develop a 3D engine, I'll think C++, if I want to use a free 3D engine available, almost for sure it will run/compile on C++. From that point, developping the other elements of a game is just a matter of mastering the C++ language (well, I'll have to in the first place if I want to use 3rd party free 3D engines available).
Correct me if I'm wrong, but C++ don't see a new release for some time now, and Microsoft is moving forward with C# and .NET platform. Don't get me wrong, it's not that C++ really need some new release, since the community around it was the responsible for it's success and longevity.
But if we move to C#, the way of doing things will change. Or will it? If I make a game with C#, will the .NET Framework have to be installed on the client for it to run the game? Will we start to see "DirectX9.0c required, and .NET Framework 1.1 required" on the boxes? If so, won't that change the portability between platforms? PC vs XBox vs PS2 vs MAC vs ...
C++ is not a piece of cake. It doesn't have built in memory management like Java. I was advised around 5+ years ago to learn Java but by the time I turned my attention to it I started hearing stories (after the .com bust) about how many Java programmers were out of work in the vicinity. I decided that studying Java under the circumstances didn't make much sense.Originally posted by: BingBongWongFooey
Originally posted by: Brian23
I've spent a lot of time learning C++, and now that I'm getting good at it, everyone wants to change to C# and Java.
Java's been getting hyped since what, the late 90s? It's taken you 5+ years to just start getting good with C++?
Originally posted by: boran
it took me 2 weeks to switch from Java to VB.net and 3 weeks to learn 90% of cobol, so imho a good programmer should be able to switch programming languages in a snap.
Originally posted by: kamper
BS. Many are trying "as we speak" and no non-proprietary endeavours are close. It's simply extremely difficult to produce something as big as an implementation of the java standard. I fully support any group that tries to do it but the lack of freedom/portability just may be the price that java will always have to pay for aiming at the corporate/enterprise market.Originally posted by: TerryMathews
Originally posted by: Nothinman
or java so they dont even have to recompile
But then you have to put up with java and you're restricted to platforms that Sun supports.
BS. The specification is out there, anyone who wants to can write their own JVM. As a matter of fact, GNU is working on one as we speak.
Sun's JVM isn't open source, but OTOH it doesn't claim to be. We don't blame Microsoft for not giving us the source to Windows, why do we blame Sun for holding the source to Java?
And nobody blames microsoft for not opensourcing windows because no one wants to duplicate it![]()
BS. Many are trying "as we speak" and no non-proprietary endeavours are close. It's simply extremely difficult to produce something as big as an implementation of the java standard.
Originally posted by: Nothinman
BS. Many are trying "as we speak" and no non-proprietary endeavours are close. It's simply extremely difficult to produce something as big as an implementation of the java standard.
Not BS, trying is irrelevant from my perspective until there is a working product. And as Sunner said, right now there's not even good compatibility between official JREs from Sun, so how is a team working on an unofficial JRE supposed to keep up?
Correct me if I'm wrong, but C++ don't see a new release for some time now, and Microsoft is moving forward with C# and .NET platform. Don't get me wrong, it's not that C++ really need some new release, since the community around it was the responsible for it's success and longevity.
You're going to have to show me an example of a properly coded program that crashes depending on which version of the JVM you're running it on. I've run code from 1.4.0 to 1.5.0 and there's not even a hiccup.
Originally posted by: Muse
Originally posted by: boran
it took me 2 weeks to switch from Java to VB.net and 3 weeks to learn 90% of cobol, so imho a good programmer should be able to switch programming languages in a snap.
How'd you do it? Recommend a book or course?
Yes, I've learned a lot from books but never made such fast progress as in programming classes, the intensive every-day ones especially.Originally posted by: boran
Originally posted by: Muse
Originally posted by: boran
it took me 2 weeks to switch from Java to VB.net and 3 weeks to learn 90% of cobol, so imho a good programmer should be able to switch programming languages in a snap.
How'd you do it? Recommend a book or course?
classwe see VB.net in class, but we skipped all the basics and went right into programming, so the course was mainly like: this is how it's done in java, this is how it's done in VB.net.
and offcourse the whole intricaties with web form posting etc (we hadnt seen jsp so we had to learn the concepts of that)
I dont think we have a book so I cant reccomend one. and our slides are in dutch so I doubt you'd be much with it.
Originally posted by: MuseC++ is not a piece of cake. It doesn't have built in memory management like Java.
Originally posted by: Armitage Are any compilers fully standard compliant now?
Then your programmers are idiots. It's not hard to write decent cross version java (although it's not uncommon to require at least a certain version for certain apis and such, but something written for 1.3 should run no problem on 1.4). Sun works very hard on backwards compatibility.Originally posted by: Nothinman
You're going to have to show me an example of a properly coded program that crashes depending on which version of the JVM you're running it on. I've run code from 1.4.0 to 1.5.0 and there's not even a hiccup.
I can't because I'm not a java dev, but I know that some of the software produced by other departments of our company won't run on on all versions of the JRE and most of the developers in that department have to (or at least had to, I haven't been involved with them for a while) have 3 or more versions of the Sun JRE installed for various tools and testing.
Then your programmers are idiots
As we've been arguing, cross-version compatibility isn't that hard but it's the programmer's responsibility
Originally posted by: BingBongWongFooey
Originally posted by: Armitage Are any compilers fully standard compliant now?
http://boost.sourceforge.net/regression-logs/
This is not a test of C++ conformance per se, but I am pretty sure that a compiler that conformed to the C++ standard 100% would also pass these tests by 100%.
edit: damn, it only shows gcc. it used to show a ton of different compilers. wonder what happened?
Originally posted by: Nothinman
Then your programmers are idiots
I have no doubts that is true, but the fact that other commercial tools like Oracle ship thier software with a JRE on the CD and don't support running the software with another JRE tells me that it's not just us.
As we've been arguing, cross-version compatibility isn't that hard but it's the programmer's responsibility
In most cases it should be the vendor's responsibility, they shouldn't be changing semantics in minor revisions of their JVM.
They don't change semantics in any revisions of the JVM. There are methods in the jdk that have been marked as deprecated for many years but Sun won't remove them in case someone is still using them. That doesn't mean that there aren't undocumented behaviours that can change from release to release but those are just that: undocumented, it's very bad practice to use such functionality and it's not all that difficult to find out if you are.Originally posted by: Nothinman
Then your programmers are idiots
I have no doubts that is true, but the fact that other commercial tools like Oracle ship thier software with a JRE on the CD and don't support running the software with another JRE tells me that it's not just us.
As we've been arguing, cross-version compatibility isn't that hard but it's the programmer's responsibility
In most cases it should be the vendor's responsibility, they shouldn't be changing semantics in minor revisions of their JVM.
Originally posted by: BingBongWongFooey
Originally posted by: MuseC++ is not a piece of cake. It doesn't have built in memory management like Java.
Well no kidding, but that doesn't answer my question at all. C++ is a complex bastard of a language, but if it took you 5+ years to just START to get good with it, then uh, that's not a good sign.
Originally posted by: Nothinman
Not BS, trying is irrelevant from my perspective until there is a working product. And as Sunner said, right now there's not even good compatibility between official JREs from Sun, so how is a team working on an unofficial JRE supposed to keep up?
As for the Oracle thing, have you tried the software on more recent versions? I suspect "don't support" means just that they won't guarantee it but that it will actually work. If it does in fact require that specific version than that's unfortunate. I hope I will never have to use such product
Originally posted by: Nothinman
Then your programmers are idiots
I have no doubts that is true, but the fact that other commercial tools like Oracle ship thier software with a JRE on the CD and don't support running the software with another JRE tells me that it's not just us.