Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I would rather use Go, which seems to have all that Java has to offer

Really ? What is the Go equivalent of J2EE ? Do Go appservers exist that offer all the features that something like Payara (Glassfish), JBoss or WebSphere does ?



What's the point of J2EE or an application server? You can get functionality such as templates, management, monitoring, persistence through other means as well.


Think the point is that the Java ecosystem is vastly greater than Go. And ecosystem mattes.


That may change in a few years. Currently, a ton of new software is built with Go.

Kubernetes, Istio, Prometheus, All the Hashicorp stuff, hyperledger, traefik , kong you name it.


For Go, what are those means? (I'm just starting with Go so it would be useful to see how we get all that stuff)


Go templates come with the standard library, an ORM could be GORM, for monitoring you can get metrics of the runtime through the package of the same name also in the standard library or on an application level use the Prometheus client API to make your application talk to the Prometheus monitoring system.


I think the premise of JEE is that you label your class by @SessionBean annotation, and everything is installed automatically for that class: RPC, load balancing, security, monitoring, and you don't need to shop for individual components and find the way how to glue them together. How this premise is implemented is another story. I am not sure about quality because didn't use jee for last 10 years, but when I was using it, IBM stack was far ahead of everything on the market, and was like your private PaaS with cloud functions, but with high license fees of course.


That sounds good. I wonder how it is implemented, though. I read through the WildFly feature list and there are several features you mention, such as clustering or failover. I wonder how you get to bridge the gap from the application to the underlying infrastructure, though.

EDIT: I see from the docs http://docs.wildfly.org/14/High_Availability_Guide.html that you need to configure an Infinispan cluster, what looks like a non-trivial operation.


Paraya uses HazelCast for clustering by default. IIRC all it needs is for the servers to be in the same network.


> What is the Go equivalent of J2EE ?

I consider not having a suffocating bureaucratic "framework" that can be replaced by simpler and more straightforward constructs most of the time a feature and not a bug

But those that grow up under a bureaucracy tend to miss it


The parent said Go has all that Java has to offer. I would be surprised if the standard library was in the same magnitude of size.


Yes, exactly. Having used Java and many other languages for years Java's strongest point is tooling - there are high quality tools for any aspect of software lifecycle. A lot of them available for free.

Of course new languages are quickly getting more and more tools but sometimes I feel that they are just reinventing the wheel (sometimes squared). For example: it's easy to host a mirror Maven repository, the file structure is very simple, even with per-project setting. It's not that straightforward with npm or cargo, they push you into centralized model with paid private repositories (npm).


> I consider not having a suffocating bureaucratic "framework" that can be replaced by simpler and more straightforward constructs most of the time a feature and not a bug

All those 'simpler and more straightforward' constructs cost a lot of extra time and effort, there's a lot of reinventing the wheel going on. Can you do something similar to just adding a field annotated with @PersistenceContext or @Resource and having a database connection injected ? Does it also allow for complete decoupling between the configuration of that datasource and the application itself ? Can it resize the database connection pools live, and then push that config change to an entire cluster, without writing a single line of extra code ?


What is the Go equivalent of J2EE?


This Chinese character means "nothing, not at all" for you people who do not speak Chinese.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: