Java is pretty cool

I’m gonna try something that’s never been tried before on a internet forum…

EVERYBODY wins the argument!

:slight_smile:

But, I agree, compiled languages are not vanishing any time soon, nor did I claim so. But javascript/html5 can enable you to do amazing things, there’s nothing to stop it from being huge.

OK, overblown comment! :slight_smile: This is the bit I object to, because it’s not really a common ubiquitous platform available everywhere. You’ve got different distribution forms (fully compiled / bytecode) and different available API’s. It’s not really that much above what is achievable now with Java (language), though admittedly the toolset looks like it makes it a nicer process!

No arguments with any of that! :wink:

I was sorta hoping Android solved it finally and then they went and made their wretchedly slow and rubbish Dalvik VM instead. Argh.

Cas :slight_smile:

When I was first learning C++, I didn’t get very far, firstly because I lost interest and secondly because I couldn’t get pack the fact that you had to declare functions before you used them and I’d always get to a situation of using Function that calls a function in such a situation where It couldn’t be declared before that function due to dependencies on that function. (I was young)
but Java makes it so easy by not caring where the hell you put the Methods, if it exists, you can call it!

2 - 3 x slower infact (wiki)

Yeah the Sun/Oracle JVM also wasn’t that fast when it was just created all those many years ago (in fact it was dead slow). It takes time to develop such a monstrous piece of technology. Of course the question that will keep people from making peace with that is: why do we have to wait for that -yet again-?

I wish Google good luck developing their own VM; its an effort, money drain and responsibility that wouldn’t have been necessary.

Never understood why they didn’t just hack OpenJDK to pieces and derive Android from that (yes, I know development actually started earlier, but it could have been re-based, surely?).

Well most of the legal issues they’re having with Oracle is because they allegedly copied code, right? They would have had to license Java to make that legal for commercial purposes methinks, something they clearly did not want to do.

Oh… the really slow Canvas stuff on linux with Chrome stops me from doing amazing things :confused:

i guess you are switching to mono?

There are some major caveats to what you are saying:

  • For Win/Mac/Linux desktop apps, C# is more like C++ where, yes, the language exists on all platforms, but tons of functionality require OS native APIs and must be completely rewritten for each OS, and it’s very hard to keep OS specific code separate from cross platform code so that you can fully reuse the latter. OTOH, Mono support for Google NaCl (native client) really does look like a truly cross platform win.

  • For MonoTouch, there are similar products using the Java language like J2ObjC. Have you actually used either of these? Again, you have the issue that any code that touches the GUI or any OS feature must be completely rewritten for different OSs. Additionally, you are adding a substantial piece of complexity to your development tool chain. Thirdly, it’s quite expensive and the trial version doesn’t let you run anything outside of an emulator.

  • C# only runs on PlayStation Vita devices through the PlayStation Mobile program. You can’t use C# in any major toolchain to make a regular PS3 or Vita app that uses the full power of the hardware. This is still a major coup on Xamarin’s part to win an exclusive contract like this.

  • For your Dalvik complaints, I’ve seen serious papers showing Dalvik generally running more slowly than the NDK and RenderScript toolchains (http://people.apache.org/~xli/papers/applc2012-android-programming-models.pdf). For MonoDroid, I’ve read the Xamarin team’s benchmarks, I see that they are cherry picking results, and won’t let you do your own benchmarks unless you buy a full license. I would bet money that a full benchmark suite run by a neutral party would show a much different picture.

  • On desktop benchmarks, JVM runs faster than Microsoft .NET and both run much, much faster than Mono based on personal benchmarks as well as benchmarks from http://shootout.alioth.debian.org/

  • At a language level, Scala is way better and more elegant than C#/Java with better runtime performance than Java.

  • The fundamental mission and purpose of Xamarin team is to spread Microsoft technologies and convert non-believers. It’s not like they have some politically neutral technology that happens to fit Microsoft tech. Their entire reason for existance is to advance adoption of any technology that flies the Microsoft banner. Personally, that mission doesn’t resonate with me.

That being said Xamarin has achieved great success with cross platform VM technology. No one in the Java space seems to have even tried.

It’s pretty sad state, when one of the few Java game devs is a die hard Mono fan.

The valid technical problems with Java are that: it doesn’t run on NaCl and PlayStation Vita. iOS story is poor. Dalvik performance may be poor. Is Java OpenGL significantly behind that of C?

Beyond that, I think JVM game development hasn’t taken off due to image and culture issues. The guys who are Scala fanatics aren’t the types of people who want to write games.

This is extremely childish.

Have you even seen the stuff being done with JavaScript + WebGL?

The fact that such large numbers of regular people prefer GMail to a desktop email client and prefer Google Docs to a desktop spreadsheet speaks a lot. Your dimissal of these successes sounds more like some personal emotional quirk.

From a language perspective, I don’t like the weak typing and the Prototype inheritance system and the lack of a proper modularity story and the lack of the modern niceties you find in the post-C era languages. But the VMs are doing awesome things and improving and practically you can’t beat the universal nature of the runtimes. And WebGL reoslves many performance bottlenecks for game type apps.

Sure there is… There are better more elegant languages that let you think and express your program’s logic at a higher level. I used to be a C++ guru, btw.

There is HUGE buzz behind Scala and legitimate reason for it. Companies like twitter and tumblr did major migrations to Scala for very good reasons.

This attitude of “I will cling to whatever legacy tool has maintained popularity” is lame. I understand newbies, need somewhere to start. But if you are an independent hobbyist, you should be attempting to blaze new trails not cling to the legacy ways of the past.

That’s just not true. OpenJDK is GPL w/CPE - you can use it in a commercial product just fine. Google already gives the core of Android away under Apache licence anyway, so there’s not much difference there. The idea that the GPL would have been less commercially acceptable doesn’t really stack up to me - Android has GPL code in it anyway (kernel!). Having an OpenJDK based core wouldn’t have stopped them or others writing commercial extensions. And the GPL has no field of use restrictions and (even in v2) an implicit patent grant, so less chance of stupid lawsuits. Hence my original point!

Why did I choose Java? because others are not good for me. I dislike js, yet many android-ios app built on it. Even unity too!

I did tried once to learn C in past. Once.

http://www.revengeofthetitans.com

We made that. It took a year to do what would have taken maybe 3 months in Java. It barely runs anywhere reliably, and only on the very latest tech. We are at the mercy of every single incremental update from every single browser vendor on every single operating system breaking it at every single opportunity. It is not a particularly complex application.

I’m really not being childish: this is my perspective both as a developer, and a user. Every single HTML “application” I’ve used is a crippled, slow, bugridden monstrosity, which laughable failure tolerance. Just the other day, Amazon management console mysteriously “broke” on Chrome, when I needed it to work. I had to install Firefox to make it work again. It’s back working now in Chrome today, mysteriously. That kind of crap is just not on.

WebGL: my ultra-reliable system regularly crashes with WebGL when using Google Maps and it reverts me back to the standard interface (which, er, I couldn’t really point you at any differences anyway).

GMail: as used by the masses that simply don’t know any better. Eg. Thunderbird, or Opera Mail (which is what I use though it now has some very annoying quirks with GMail). Just try really interacting with mail in GMail. You know, shift-selecting a bunch of messages and dragging them somewhere, that sort of stuff. All those useful interface paradigms are broken in HTML5. Ctrl-A helpfully selects the entire HTML document instead of, say, all the messages in the list. And so on.

Cas :slight_smile:

Oh and have no fear, I don’t want to go near C# or mono. My praises for C# revolve around how some open source loon has managed to basically get C# everywhere and a massive and thriving ecosystem has flourished on the back of it, whereas Java is stuck doing sweaty labour in the basement of the server room because no-one in charge wanted to see its potential everywhere else. Sad.

As it is I have a huge legacy of teetering code in Java which I am not about to attempt to port to C#. What I have suits me in all respects except for the inability to make iOS games without learning a new programming language and I really can’t be bothered learning something new when Java does everything I could ever need of a language and is slowly drip-fed new features at a rate which my tiny brain can actually assimilate them.

Cas :slight_smile:

This.
I use Thunderbird which is great.
Using the Gmail Browser app feels like this:

Funnily enough, I find myself using / preferring GMail to Thunderbird more and more these days.

It just goes to show there are 10 kinds of people in this world! ;D

Well I have also multiple email accounts, so that wouldnt even work.

Really? So do I, and it works fine.