What would you like to see in Java?

Yes it is.

If you’re a bad programmer.

If someone thinks that using tons of operators is “smart”, then they are a fool. However, when you use something correctly there are no problems.

IMO the biggest thing lacking with client side Java isn’t language features but proper deployment tools. Just to get your Java application out there you need to jump tons of hoops, use all sorts of third party apps/hacks (or roll your own). Executable Jars, JWS and Applets are pretty much useless for any mass deployment.

Its always been the case that Sun/Oracle have screwed this up and IMO its the biggest thing that has harmed the Java platform. e.g. Java Applets could have easily been the preferred web tool and be where Flash is today if not for the lack of focus on the deployment and client side issues. Another example was the mobile space where Java ME pretty much owned everything and again screwed up.

IMO it’d be a good idea for Oracle to throw some resources (maybe a whole Java SE release cycle) on trying to address this. Focus on getting some sort of web presence back for Java (been hearing rumours about a Java VM written in JavaScript allowing byte code to run in the browser but nothings been shown). Also there is a need for proper AOT compilers/tools for Java, which should allow it to run as native executables (easier to deploy, faster startup, smaller memory footprint, more familiar to users, etc) and on all the different platforms where VM’s might not be suitable. If C# can make it onto almost every Console and Mobile out there, don’t see why Java can’t.

There are various third party attempts trying to solve the above (RoboVM, Excelsior Jet, GWT, etc) but with a proper push and official assistance from Oracle they can solve the issue much more quickly and properly.

Parrot much? Forget C++. There are no lessons about operator overloading to be learned there.

LOOK HERE for some scratching of the surface: http://www.java-gaming.org/topics/the-hidden-cost-of-c/27398/msg/245202/view.html#msg245202

So… you’re saying we should reconvene in another year to have the same arguments? Hear hear!

Hehe. Since I haven’t said it here: I could care less about java getting operator overloading. It’s an uber nice feature to have, but it’s too low on my list to care about ATM. Not having it prevents me from porting a bunch of my code to java…but that doesn’t matter too much as I could simply write a DSL myself. But I’m not going to do that either because my main concerns are elsewhere…at the JVM feature set level. The only reason I open my mouth on the subject is because dismissing operator overloading isn’t doing anyone any favors. C++ is mostly at fault here. Forget C++ on this subject.

I would like to have auto packager for all the major operating systems. Currently I’m using an NSIS script to create a windows launcher, using JarSplice to create a linux shell script and I wrote my own script to package for mac.

If anybody is interested in packaging java 7 apps for mac see this.

Unl8dgqFv6o

I very much agree, hate that -> shit
Why do you think I like Java: everything is spelled out.
image public would be #
and extends would be ~
are we humans or what ? whos gonna read that ?

I’m also exclusively coding in Allman style because I think opening a bracket and writing code immediately is not as easy to read.

[quote=“kappa,post:82,topic:44466”]
There is, take a look: http://wiki.apidesign.org/wiki/Bck2Brwsr

Who would like to write a compiler where all the Java keywords were replaced with an ascii character :)? Just an exercise for the curious.

Cas :slight_smile:

What!! ??? It’ll give out a lot of problems.

That’s my point :slight_smile:

Cas :slight_smile:

Just take janino (or javac) and write an AST visitor to spew it out…one look should be enough.

Oh yeah. Since this whole ascii art thing popped out of the conversation about operators I’d like to point out:

Reducing character count and operator overloading have absolutely nothing in common. If you think that they do…that’s part of problem.

This thread is getting kind of silly. There’s no need to tell people what they want in a language is “wrong”.

Sometimes people ask for things without knowing why they’re not there in the first place, or even why they want these things (eg. wanting functions as objects without knowing of the existence of lambda)

Cas :slight_smile:

Well, they aren’t technically asking for anything. We are just discussing what we’d like. Even if operator overloading was not included for a very valid reason, that doesn’t mean someone shouldn’t want it.

And in my case (even though this was about C++), I said I would prefer functions over the ostream operators, and that sparked a lot of backlash.

Anyway. I would kind of like to see string indexing in arrays like PHP without needing a Dictionary class. That was said earlier, I believe.

I don’t get your point, could you elaborate?

I assume: Map foo … ; foo[“PI”] = 3.14159; This was on the “todo” list a couple of years ago, but may have been yanked.

It was in Project Coin, yes. I think ultimately everything in Coin is still on the to-do list or already done.

Cas :slight_smile:

Soo, he wants a new special operator which only works with one special class (Map) with only one key class (String).
I don’t like such very specific magic features in languages.

That is also one thing I like so much about Scala. It has of course also some “magic”, but it is general and can be used by everyone, for example:


a("PI") = 3.14
//gets replaced by ->
a.update("PI", 3.14)

how some class implements or defines(types) the update method doesn’t matter, it just get replaced.