[quote]The target is simply more important then the langauge or the platform. Regardless of if it does it well or badly, C++ hits all targets where as Java doesn’t.
[/quote]
That kind of “one size fits all” doesn’t really work in the real world, though. Chances are you are going to find something specialized for the target platform or you would spend too much time. There are usually specialized c++ apps for any target, so that’s good, but there are also c#, as3, or java apps that cut even more development time off a project. Java has smart phone and desktops, so that’s a pretty big area. But really, it boils down to developing a lot of apps so you become proficient at design. If you’ve got something good going, you can hire a programmer for another target. The trick is to have something good going and that needs experience with design, something c++ programmers don’t have as much in my experience because of the nature of the language. I talk to them on other sites and it’s always these people that are doing some specialized graphics problem but they haven’t written a game. You get pigeon holed really fast.
You’re making my point for me. Why use a library, which hasn’t been updated in ten years, which was poorly designed in first place at all? Especially when the features it provides are trival. You want your cursor to work using GLUT, try using a 10 year old OS and it just might.
That’s hand waving. Even if true, it somehow negates all the work contributed by other companies? I notice you don’t blow off the importance of these contributions. Thank you for validating my opinion of Stallman drones. All my compiler related free work will continue to go to LLVM.
[quote]Not sure what you mean by portable, but i am guessing you haven’t done much portable C++.
[/quote]
[quote]C++? Portable? Is it a joke?
[/quote]
Yes, C++ is more portable than java. I didn’t mean as in ‘write once, run everywhere’ or even ‘write once, compile everywhere’ and I didn’t say it is particularly easy to write portable code. But the fact is, you can target practically any platform with C++, while you can’t with java.
And I actually had to write some portable C++ code for my day job (code that had to run on both windows desktops and zlinux on a mainframe), and yes, it’s quite doable and I’m not even that great with C++.
Your concerns are a bit superfluous, and very general and vague.
As with the target jvm, it’s easy to bundle one. Look at the games from Puppy Games.
I don’t see anyone complaining about performance issues in Minecraft or any other proper Java game out there. As with handheld devices goes, you always need to optimize for them.
Then again, I’d like to point you to my original post, especially this part:
‘Those concerns are mostly about non-desktop platforms, but the thing is, those platforms are getting more and more important!’
Of course I prefer java on the desktop, it’s hard to beat there. Go away from desktop to tablets, smartphones and consoles, and things change drastically. For example Revenge of the Titans might have been on PSN, but it’s not because it would require rewriting it to C++ (as Cas mentioned).
[quote]I think the problem is that with Java we are in this gold cage. You can be very productive, doing awesome things, but you can’t deploy on, say, consoles, or anywhere else where there is serious money to be made.
[/quote]
I couldn’t have put it any better
Java is nice, I love it, but IMO C is the firt language, (nearly) all microcontroller/micropocessor get a C compiler before anything else, C is borring but probably the most compatbile language
anyway, what is important is not java/c++ neither C/C#/etc…, you cannot say you are using a wrong language… language is just a tool, if you know well java you will be able to do AS3/C++/JavaScript/PHP5/etc… this is just OO language, when recruiting someone I dont care what language he know but rather what kind of language Object/Procedural/Declarative/Assembly/etc…
language dont care, a good java programmer can switch fastly to AS3 and vice versa…
really java is a tool to make OO development but if you have to program a new microcontroller you will use another language (probably ASM or C), but it should dont be a problem cause language is only a tool…
dont try to memorize all java libraries, this is useless, more important is logic of the language
Java has smart phone and desktops, so that’s a pretty big area.
[/quote]
Java doesn’t have the iPhone. That’s a huge gap in the smartphone market. AFAIK proper Java is also missing from Android (although I could be mistaken).
Look back over forum topics and you’ll find hundreds of threads where people discuss the issue with having to bundle a JVM with your app. There are also plenty about the disappointing levels of Java penetration in the browser. As an internet user I’d much rather stumble across a Flash or JavaScript app then a Java one (even on my hign-end PC my browser still freezes when it hits one).
Java is awesome for big software. For anything small it suddently becomes a bit of a pain.
I would agree that if you want to make something commercially compatbile just use flash… there was some greats demo at Adobe Max 2010… working on desktop computer aswell as mobile phone without any modification in source code, not to mention flash 10 will include accelerated 3D…
As far as I know, only a very few 3D features will be really hardware accelerated. The 3D display won’t use the Z-buffer, OpenGL and so on… but only a software W-buffer. Don’t expect from having full OpenGL access in Flash.
You can still use XMLVM (maybe a bit broken now?) or ISpectrum to use Java on IPhone but it is quite limited. Android DVM is not fast enough for heavy 3D and it is already enough to write 2D games and 3D very low poly games. If you want a proper Java on an androphone, use J2SE For Embedded if possible
Java’s penetration is almost as good as Flash, more than 92% of desktop computers have a JVM whereas Flash is closer to 95%.
[quote]That’s somewhat ironic, because Java was originally intended and designed to be used on small devices.
[/quote]
problem is still the same java(Sun/Oracle) take too much time to produce incompatible libraries rather than to ensure proper plugin or new device JVM
[quote]…flash is flash… you cant fight… working every where
[/quote]
I think Java is better for a more in depth game than flash, but that may change.
That’s the point, though. The trend is away from c++ for productivity, especially concerning the web, and more and more apps are directed toward the web. C++ has become no more than an underneath tool, so it’s become more limited when actually making applications. If you want to make low level tools, yeah, but the further you go downward, the fewer applications there are. If you are into drivers, engines, etc, fine. If you are into games and productivity apps, it’s really not, anymore.
I have trouble to understand how you can believe what you said seeing current market of java game/flash game/C++ (mostly all AAA game) but dont want / cant argue anymore…