Live data from Hacker News

Oracle and the fall of Java EE

techsticles.blogspot.com

81–90 of 185 posts

Re: Oracle and the fall of Java EE

#81

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…

> Golang seems really promising, but has a long way to go. C# seems like the most credible challenger for business systems, but the .NET Core ecosystem is probably still years away from being where Java was in 2005. Go doesn't have the guts to replace Java, because of the hostile mindset of its community when it comes to writing reusable, general purpose libraries. the famous "you don't need that with Go" is somethin…

>Go doesn't have the guts to replace Java, because of the hostile mindset of its community when it comes to writing reusable, general purpose libraries. the famous "you don't need that with Go" is something pushed by go maintainers themselves.

Go has a pretty comprehensive stdlib. And a huge and growing community of 3rd party libraries. I left .NET and Java for Go around 0.9 and since then I have seen Go flower into an ecosystem I am far more productive than. The Go devs have a bias against complexity, they hate Abstract Factory Factory Singletons :P, but that does have much impact on community developed libraries. The Go community does have a strong bias towards libraries and against frameworks, but IMHO, that is generally healthy. The only concrete example of what you are talking about is the current lack of generics support.

Re: Oracle and the fall of Java EE

#82

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…

> Golang seems really promising, but has a long way to go. C# seems like the most credible challenger for business systems, but the .NET Core ecosystem is probably still years away from being where Java was in 2005. Go doesn't have the guts to replace Java, because of the hostile mindset of its community when it comes to writing reusable, general purpose libraries. the famous "you don't need that with Go" is somethin…

Traditionally, Microsoft technology has been an all-or-nothing affair. If you want C# you also get IIS, SQL Server, Windows, Azure, Visual Studio, Windows on your dev machine and I wouldn't be surprised if Exchange shows up somehow. You could use Mono, but then you were off the beaten path and on your own. When something new appeared from outside Microsoft, such as git, it wouldn't fit into the MS ecosystem for a while.

Now Microsoft seems to be changing its culture, but I can understand if people are weary.

Re: Oracle and the fall of Java EE

#83

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…

I'm exactly the same way - every language/platform I've explored has been frankly a waste of time sadly. In the meantime, Java instead has learned to scale down beautiful as well. Working in the node ecosystem lately has made me appreciate many times more, it's incredible how unproductive it is. I still find it the gold standard of language/platform combos.

The npm is a mess.

Granted, Maven Central has the advantage of Java being statically type checked.

But CPAN is awesome. And Perl is dynamic. But modules in CPAN are thoroughly unit tested when you install them.

npm is neither. You find incompatibilities when you run it.

Re: Oracle and the fall of Java EE

#84

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…

I wonder how difficult it would be to port C# to the jvm. It really is a better language. There are some parts of the standard library that are better in java, but overall I'd say C# is better there too.

Care to list what the C## language has that the Java Language doesn't?

I guess, you don't miss what you don't know.

Re: Oracle and the fall of Java EE

#85
post #17

Earlier quoted context omitted.

What's so hard about the JVM install? I googled for "java download" and this was my first hit: https://java.com/en/download/ Went there and found a single, totally obvious button labeled "Free Java Download" that detects your browser and Operating System and makes sure you download the proper version of the JVM. How much easier could it be?

Except for the above malware comments, what exactly does "Install Java" mean? You cannot redistribute the installer or the installed files. Except other things it means, you cannot make a docker image with java app and redistribute it. Everyone has to download their own java installer and build images themselves.

I don't understand where you have this information from.

Plenty of software comes with Java embedded - ie. IntelliJ Idea. Last time I installed Java was on a digital ocean remote box and I did it through apt-get.

Java may have some licensing that cause some open source system distributions not to include it but that is really their game.

Re: Oracle and the fall of Java EE

#86
post #17

Earlier quoted context omitted.

What's so hard about the JVM install? I googled for "java download" and this was my first hit: https://java.com/en/download/ Went there and found a single, totally obvious button labeled "Free Java Download" that detects your browser and Operating System and makes sure you download the proper version of the JVM. How much easier could it be?

Except for the above malware comments, what exactly does "Install Java" mean? You cannot redistribute the installer or the installed files. Except other things it means, you cannot make a docker image with java app and redistribute it. Everyone has to download their own java installer and build images themselves.

INSTALLING JAVA

===============

Even if you are Day One brand-new to Java, page #1 in any book will tell you to download a Java Development Kit (JDK). Any Google search would take you straight to the download page for Oracle's implementation, which is fine.

The Oracle JDK does not include any "toolbar" malware. That's only an issue for the Oracle JRE download (i.e. the runtime without any compiler)... which page #1 in book will tell you not to bother downloading ever.

The JDK is open-source, based on the "OpenJDK" codebase (much like the difference between Chrome and Chromium). Oracle's binary build has some restrictions on redistribution (see below), but there are numerous other OpenJDK builds. Every Linux distribution has one, as does homebrew for OS X, and there are at least two for Windows:

http://www.azul.com/downloads/zulu/

http://developers.redhat.com/products/openjdk/overview/

In the past, there were enough differences between the base OpenJDK and Oracle's build that people were wary of using OpenJDK. As of Java 7, and especially now with Java 8, those differences are nearly zero.

REDISTRIBUTION

==============

You absolutely CAN redistribute Java. OpenJDK builds have no restrictions whatsoever. Oracle's proprietary runtime binaries are also redistributable, with the only real restriction being that you can't exclude certain files (i.e. they don't want crippled Oracle runtimes floating around that can't run core Java):

http://www.oracle.com/technetwork/java/javase/jdk-8-readme-2...

Not only are you allowed to redistribute even Oracle's binaries, but the latest JDK includes a "javapackager" utility. It bundles up your code, along with a stripped-down embedded runtime, with an executable wrapper so that you can distribute your app as a zero-dependency standalone (on Windows, OS X, or Linux). Interestingly, I've found that creating an installer for a JavaFX GUI application, with the runtime included, is slightly smaller than the installer for a similar GitHub Electron based app.

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/j...

https://gitlab.com/steve-perkins/MediaGallery-javafx

Re: Oracle and the fall of Java EE

#87
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.

> Java has such a horrendous ecosystem, it's really unacceptable.

This has not been my experience at all. Java's ecosystem and vast libraries of battle tested software is unmatched on any platform.

Re: Oracle and the fall of Java EE

#88
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.

1. I check in on .NET Core and ASP.NET Core every few months, to see if the tooling and documentation have stabilized. I just happened to check in yesterday, trying to create a "Hello World" ASP.NET Core web app. The skeleton project created by the "dotnet new" command doesn't match the "Getting Started" documentation on the ASP.NET Core website. After tinkering in frustration for an hour, I gave up. See you again in another few months.

2. What .NET open source community? I'm not aware of single significant open-source community project in that ecosystem that isn't a lagging imitation of something from the Java community (e.g. Akka.NET, MassTransit, etc). There's a lot of excitement around VS Code, and the possibilities of future stuff on .NET Core, but chatter on HN and Reddit isn't the same as actual shipped code.

3. If by "ecosystem" you mean web forums filled with college students chatting about it, then fine. But I think for most people, "ecosystem" refers to the availability of production-grade libraries and infrastructure components. Try naming one server-side niche in which Maven Centrals lags behind any other language in existence.

Re: Oracle and the fall of Java EE

#89
post #48

Earlier quoted context omitted.

Java EE is basically the official java server-side container. It was designed to scale, it kind of forced a designed pattern (something called 'Enterprise Beans' - one bean for dealing with requests, stateful beans for dealing with sessions etc.) It got huge and bloated. Some people came along and created some lighter frameworks. Arguably - Node.js - the javascript container is the real extension of this: it's incred…

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 'iterate and adapt' in todays world. So it's kind of a paradox.

If you're building a bank, you do it deliberately with Java or something like that.

If you're building a nimble startup, you can start with Node and if there are systems that reach a certain degree of maturity and the uses/cases and data model start to settle you can fold over systems to Java or something like that.

A great team can use anything in the end though - that said, it's really hard to find super talented and responsible people across the board.

Post reply on HN