I am the only one who is not that happy that Java is so popular?
I don't even know where that feeling come from.
I am the only one who is not that happy that Java is so popular?
I don't even know where that feeling come from.
I know it since Sun introduced it and it was a saner experience than C++ back in the day, when each compiler implemented their own vision of the ongoing working standard.
There are only three things I don't like about Java, proper AOT compilation is only available in commercial JDKs and lack of value types, and use of @Overrides annotation instead of adding a proper keyword.
The first two will hopefully get addressed in Java 10, assuming Oracle doesn't change their minds about the language.
It's probably not every time, but you get the point.
That said, I think that Java 8 is in a good state, and I really liked its improvements. For Java 9, the new modularization system seems interesting, and I'll be happy to ditch classpaths!
Is is part of the value type related changes.
http://www.oracle.com/technetwork/java/javase/community/jlss...
How it will actually look like is still WIP.
So HashMap<MyRefClass> will always remain the same class as HashMap<Object> when created in Java code, but might not be the same in another JVM language, and HashMap<MyValueType> will never be the same class as HashMap<Object>.
We are on Scala and I guess Valhalla will also make Scala even more awesome with Value Types. I could consider that half of the case classes could be real Value Types.
Java's now-undeserved reputation is just a historical legacy now, but it serves a useful purpose: keeping people like you, who might compete, from using the best tools available. Strangely, I think Java can, at least for a while, count as a "secret weapon" the way Paul Graham described lisp once. (Or is the cat too far out of the bag already? Given how much software is still being unnecessarily written in languages like Python, Ruby, JavaScript that lack type verification, I think Java is still a secret weapon for now)
Give me C# any day, or better yet, F#.
Did you use Java 8 last time you worked with Java? And ideally, maybe something like lombok or scala case classes or protobufs to make value object classes easy to declare?
Also, don't use Java2D then. There's better libraries for that. Maybe it's technically considered a core library, but I wouldn't consider it important
Might not be hip or shiny, but it works.
Always good to have in your toolbox in my opinion.
In a medium community, you can shape discussion. It's still possible to have a lot of influence without tons of effort.
In a large community, you're up against really smart people who are paid to solve problems that can take weeks to simply understand.
You could hack up golang library for web handling that's somewhat novel and get traction. Java? Tomcat has tens of thousands (perhaps hundreds of thousands) of professional hours thrown at it.