Live data from Hacker News

Developing and running a Java EE Hello World application

wiki.jetbrains.net

61–70 of 84 posts

Re: Developing and running a Java EE Hello World application

#61
Ahh Enterprise. Protip for anyone applying for an enterprise job: just copy-paste https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris... when they do the mandatory fizzbuzz test in the job interview. And then complain in the github issue tracker if you didn't get the job.

Re: Developing and running a Java EE Hello World application

#62

Lackey: "Boss! Boss! Our system is a hopelessly complicated, over-engineered monstrosity! The "Hello World" tutorial is 20 pages! Our business is doomed!" Boss: "Calm down Jenkins. Just write 'Enterprise' in front of everything, the suits will love it!"

Heh it works for IBM

Re: Developing and running a Java EE Hello World application

#63

I've also done some JEE quite a long time ago and I hated every second of it. I'm not sure however if my experience is representative of the the Java community. There is no problem with the language itself nor the VM which is also working quite fine (while taking a lot of RAM). But I really have a problem with the community, everything seems over-engineered and super complicated in Java, even with simple things. Noth…

Maven is awful but the community has adapted and now we have good build tools like gradle.

Re: Developing and running a Java EE Hello World application

#64
post #42

I've also done some JEE quite a long time ago and I hated every second of it. I'm not sure however if my experience is representative of the the Java community. There is no problem with the language itself nor the VM which is also working quite fine (while taking a lot of RAM). But I really have a problem with the community, everything seems over-engineered and super complicated in Java, even with simple things. Noth…

> they are building pyramids while other languages are building stuff out of bricks Pyramids are engineering feats, Java EE people are building stuff which look like works from M. C. Escher, it bends your mind when you try to understand the code :) Also a little anecdote to the complexity of enterprise stuff: at the company I worked before, they were writing an entire persistence framework from scratch (with annotati…

> they were writing an entire persistence framework from scratch (with annotations instead of xml) so they could get away from hibernate.

As opposed to using MyBatis or JDBI? What was their rationale for rolling their own, too many employees on the team?

Re: Developing and running a Java EE Hello World application

#65
post #49

Earlier quoted context omitted.

At a previous employer, we've migrated a complex J2EE (with EJB 2.0 and such) E-Banking system to use only Jetty and JDBC directly. No one in operations noticed the difference. But the developers did. Oh they were about 5x as productive afterwards. With no missing features. Perhaps I'm not included in the target audience. But if E-Banking can do it, what remains of the "target audience" ?

As much as I agree that J2EE is bloated, the fact that you can migrate a project to a less bloated stack and still run it proves nothing. The whole point of the whole "bloatiness" is so that supporting/changing the system in the the long run will be faster, easier, and cheaper.

The question is if the 5x productivity boost in-between the changes in the system yields more value or not. Which I believe it does.

Re: Developing and running a Java EE Hello World application

#66

I've also done some JEE quite a long time ago and I hated every second of it. I'm not sure however if my experience is representative of the the Java community. There is no problem with the language itself nor the VM which is also working quite fine (while taking a lot of RAM). But I really have a problem with the community, everything seems over-engineered and super complicated in Java, even with simple things. Noth…

> Maven is a nightmare to use, it's so complicated I would generally not use it.

The maven ecosystem is really nice compared to that of many other languages (e.g. python, javascript.) It's deep in terms of functionality, but for getting started (dependencies) it's not that complex. And a good IDE will take care of all of the boilerplate for you.

> Nothing works by default, you always have to include stuff here and there, write one or two xml files before anything would work,

I do share your dislike of enterprise Java development on the other hand. I worked a JBoss/Spring/Hibernate/Tomcat contract a while back; that thing was an unholy mess which took 4 minutes(!) to start up. However, there are much lighterweight frameworks out there; I'm currently building an app on angular -> dropwizard/guice/jdbi, which overall is quite elegant. No XML in sight (aside from the maven configs).

Re: Developing and running a Java EE Hello World application

#67
post #30

Earlier quoted context omitted.

> All that stuff makes it easier later to write more complex stuff I sincerely doubt that. I've seen E-Banking systems run on Jetty with JDBC directly. No fancy JSRs were needed. Btw: J2EE was indeed even more bloated than JavaEE. I don't think that anyone would defend J2EE nowadays, not even the folks behind JavaEE

> I sincerely doubt that. I've seen E-Banking systems run on Jetty with JDBC directly. No fancy JSRs were needed. If you need distributed transactions (and sure, most people who think they do don't), you use the fancy JSRs or you will go out of business. That stuff is hard and it's the reason JEE is so horrible, but it solves problems you can't solve any other way.

Yep. I understand the use cases of JavaEE's JSRs. Yet, I personally don't see why I should install a complete 300MB application server (possibly with horrific licensing) just because I happen to need one of their JSRs in just one part of the application (that happens to need JMS because the customer's CIO was walked into buying expensive licenses from IBM), which is otherwise mostly just transforming data between the UI and the database. It's just a JSR and I'm glad to buy licenses from a commercial JSR implementor...

Re: Developing and running a Java EE Hello World application

#68
post #38

Earlier quoted context omitted.

> All that stuff makes it easier later to write more complex stuff I sincerely doubt that. I've seen E-Banking systems run on Jetty with JDBC directly. No fancy JSRs were needed. Btw: J2EE was indeed even more bloated than JavaEE. I don't think that anyone would defend J2EE nowadays, not even the folks behind JavaEE

Truth be told, the code quality of electronic banking is often rather questionable. Probably they developed a prototype without any bells and whistles (and without proper guards against code injection, without support for distributed operation) and then were forced to use it as the base of the real product.

It's just an E-Banking system, i.e. the UI for the core-banking system, which is still written in PL/SQL and Delphi.

It has been working fine for many years with no differences between with or without J2EE.

Re: Developing and running a Java EE Hello World application

#69
post #36

Earlier quoted context omitted.

At a previous employer, we've migrated a complex J2EE (with EJB 2.0 and such) E-Banking system to use only Jetty and JDBC directly. No one in operations noticed the difference. But the developers did. Oh they were about 5x as productive afterwards. With no missing features. Perhaps I'm not included in the target audience. But if E-Banking can do it, what remains of the "target audience" ?

We have a pretty complex Java EE 7 application but we migrated from JPA to pure JDBC (obviously with abstractions so we can support multiple database implementations, but our current only implementation is PostgreSQL). So it's mainly CDI, JAX-RS (RESTful API), JDBC and timers, and it's pretty great performance-wise and developers are kept fairly productive.

You might be interested in jOOQ: http://www.jooq.org

Re: Developing and running a Java EE Hello World application

#70

I've also done some JEE quite a long time ago and I hated every second of it. I'm not sure however if my experience is representative of the the Java community. There is no problem with the language itself nor the VM which is also working quite fine (while taking a lot of RAM). But I really have a problem with the community, everything seems over-engineered and super complicated in Java, even with simple things. Noth…

I also tried some JEE in ~2000 and hated it. How could one accept to code in such a bloated ecosystem?

I'll admit I filtered out a lot of candidates becaused they mentioned stuff like "J2EE Engineer" on their resume, which seemed to imply strong incompatibilities with our coding style...

Fortunately not everyone in the Java community is modeled after JEE (or Maven, Spring, etc.).

Post reply on HN