Live data from Hacker News

Oracle and the fall of Java EE

techsticles.blogspot.com

151–160 of 185 posts

Re: Oracle and the fall of Java EE

#151

Earlier quoted context omitted.

Oracle pays very senior engineers and innovators to create a stable and still evolving ecosystem. Java is slow and steady. The JVM enables other innovators to explore and create languages radically different than Java. I am very thankful for Oracle's stewardship of Java and the JVM.

On the topic of stewardship, I highly recommend this talk by Brian Goetz titled "Stewardship: the Sobering Parts" [1] Brian goes about how important compatibility is for the language, the concept not throwing customers code under the bus by bringing breaking incompatibilities. (ie Python 2 --> 3) Java has its warts and isn't "cool" but I respect their design decisions. [1] https://youtu.be/2y5Pv4yN0b0?t=1578

Thanks for the link. I haven't watched that talk, but I will, and I was thinking of Brian when I wrote my comment. His work and he work of others on the Java team is important, serious, and hard.

Re: Oracle and the fall of Java EE

#152
post #71

Is it fashionable to bash java ? What about https://github.com/graalvm/truffle or https://bitbucket.org/allr/fastr/wiki/Home or https://www.youtube.com/watch?v=OUo3BFMwQFo ? There is serious innovation happening in java land (through Oracle - without talking about Clojure, etc.) Java EE exists because of the need to support large legacy, enterprise customers. For those who are starting out in Java web frameworks, peo…

It has been fashionable to bash java for the past +10 years.

Yes. And Spring is a large part of the of the reason, not the solution. Every time you see somebody making fun of Java for AbstractSingletonProxyFactoryBean and its like they are actually making fun of Spring, not Java.

Btw, that is a real class, not a made up example.

http://docs.spring.io/spring-framework/docs/3.0.x/api/org/sp...

Re: Oracle and the fall of Java EE

#153

What are the current best bets for writing web apps in Java? Play! is convenient, but how does it compare to Spring Boot?

Old school + super stable (requires less upgrade type of maintenance): plain-old Servlet, Spring MVC

Slightly newer: Spring Boot (uses Spring MVC as well)

Cutting Edge + keep-up with upgrade mill: Play, everything else not on the list above

Re: Oracle and the fall of Java EE

#154
post #48

Earlier quoted context omitted.

Does Java have an equivalent to the Promise system in Javascript? I find it much more usable than callbacks for async-heavy applications.

No Promises in Java. Sadly - the language is really not quite as 'async' as we would like it to be. Java scales much better than Javascript though, and I mean that in the architectural sense. Past 50K lines of code - the lack of typing in JS can start to be hell, unless you really know what you are dong. Of course, you move much more quickly early on in JS and that's actually important: you need to be able to 'iterat…

[deleted]

Re: Oracle and the fall of Java EE

#155

Amen. Be it Hacker News, or the /r/java subreddit, or wherever, it feels like the bulk of Java chatter revolves around... 1. Security vulnerabilities 2. The Ask.com toolbar 3. Oracle abandoning Java EE ... which is extremely frustrating because... 1. Virtually all of the "security vulnerabilities" deal with the browser plugin for using applets, which hasn't been widely used in 15 years 2. The toolbar malware, while s…

> Python/Ruby/Node have their beginner-friendly charms, but are limited by the lack of type checking and/or chaotic ecosystems.

Don't know much about Python but at least for Ruby, the ecosystem is not "chaotic", it's just way faster moving compared to something like Java, which is stale af.

It's quite easy to manage Ruby projects, I think the only disadvantage to this language is it's quite slow. But does it really matter? For most use cases it's just fine.

As for the lack of type checking, I think that's a poor comparison. Type checked code is not always better than dynamic code, and dynamic code it's not always better than type checked code; They are different.

Maybe for an army of junior developers leaded by a 90's senior developer with a mustache and thick glasses, a boring safe language like Java is the best. For a team of experienced developers with deadlines, Rails can get the job done in a quarter of the time.

Re: Oracle and the fall of Java EE

#156
post #71

Earlier quoted context omitted.

It has been fashionable to bash java for the past +10 years.

Yes. And Spring is a large part of the of the reason, not the solution. Every time you see somebody making fun of Java for AbstractSingletonProxyFactoryBean and its like they are actually making fun of Spring, not Java. Btw, that is a real class, not a made up example. http://docs.spring.io/spring-framework/docs/3.0.x/api/org/sp...

again, it is the enterprise market.

But then there is spring-boot http://projects.spring.io/spring-boot/#quick-start

Re: Oracle and the fall of Java EE

#157
The author's recommendations are:

> 1. Drop the profiles. They are useless and pointless waste of time.

This is true, but profiles exist mostly for the benefit of vendors, not developers. Developers only care about modularity, see #2.

> 2. Make Java EE a conglomeration of technologies that are known to work together (i.e. JPA, JTA, JMS), but don't force their full installation. Let the use pick and choose what they want. Just be sure that they work together in pieces or in totality.

You can do this today, if you use good implementations for those APIs (JMS, JPA)

> 3. Make it modular. Start with zero and let people add what they want to use.

Same as #2, plus Jigsaw.

> 4. Get rid of the tree class loader. You need it matrix based. OSGi is fine. Jigsaw is fine. But it needs to have classes that can be loaded and unloaded without an impact on the container. > 5. The container itself should be a thin shell with remote capabilities (again OSGi/Karaf looks really good here)

The OSGi spec gets a bad rep for complexity, but it actually solves a hard problem. Karaf's default UI, on the other hand, is terrible.

> 6. Make it cloud friendly. Microservices needs to be core functionality, lightweight, and run in the cloud.

Uhh, it's pretty cloud friendly now. Not sure what the author wants here.

Ultimately the author says, if you're invested in the Java EE ecosystem, you can't rely on Oracle to move it forward, but you shouldn't let their inaction lead to your inaction. However, due to IP reasons and a perceived past overengineering, the community has nearly given up on Java EE and focuses on Java SE instead. This means that they've adopted points #1, #2, #3 and #6, and are actually moving the ecosystem forward, just piecewise and no longer under the 'Java EE' name.

Re: Oracle and the fall of Java EE

#158

Amen. Be it Hacker News, or the /r/java subreddit, or wherever, it feels like the bulk of Java chatter revolves around... 1. Security vulnerabilities 2. The Ask.com toolbar 3. Oracle abandoning Java EE ... which is extremely frustrating because... 1. Virtually all of the "security vulnerabilities" deal with the browser plugin for using applets, which hasn't been widely used in 15 years 2. The toolbar malware, while s…

> 2. The toolbar malware, while stupid beyond measure, only applies to the consumer Java installer, which nobody installs anymore due to item #1 above.

Here in Brazil, the program used to submit the income tax forms is written in Java (http://idg.receita.fazenda.gov.br/orientacao/tributaria/decl...). This means that a lot of people need Java on the desktop. I have relatives which have Java installed on their computers solely for that reason (yes, I have disabled the Java plugin on their computers).

Re: Oracle and the fall of Java EE

#159

Amen. Be it Hacker News, or the /r/java subreddit, or wherever, it feels like the bulk of Java chatter revolves around... 1. Security vulnerabilities 2. The Ask.com toolbar 3. Oracle abandoning Java EE ... which is extremely frustrating because... 1. Virtually all of the "security vulnerabilities" deal with the browser plugin for using applets, which hasn't been widely used in 15 years 2. The toolbar malware, while s…

...have their beginner-friendly charms, but are limited by the lack of type checking... Haskell people probably say the exact same thing about Java ;-)

For sure they do. But I've spent my time with Haskell and I've seen really simple things obscured under a cacophony of type noise. It's not uncommon at all to see a piece of simple logic with proportionately 3x the amount of type syntax around it or related to it. Especially when you need to do IO or state, as we sadly need to do here on earth, then it seems like Haskell is trying to put a brick wall of type restrictions between you and a simple routine at every turn. Talking not about doing some printouts, but actually making a long-running application where IO and state is ubiquitous.

Re: Oracle and the fall of Java EE

#160
post #35

Earlier quoted context omitted.

And now imagine where Java could be if the ecosystem wasn't completely fucked up by oracle. Imagine a Java with a sane, user friendly installer, an open source community supported by a big corporation, actual development, no completely insane lawsuits. Instead, developers want to abandon the JVM platform. They actively seek new platforms and create them. The damage is done.

You don't need to imagine it, you can just look at what MS has done with .net and the community that's forming as a result. Java has such a horrendous ecosystem, it's really unacceptable.

You need to explain what you mean by "ecosystem".
Post reply on HN