3 ms·
About eight years ... nine years ago, I was between jobs and thought I might use the large amounts of free time I had at my hands to learn something that might
by krylon 10y ago
About eight years ... nine years ago, I was between jobs and thought I might use the large amounts of free time I had at my hands to learn something that might improve my chances of finding a new job. Lots of companies use Java EE, right?
So I downloaded the JDK, Glassfish and a PDF of a book called "The Java EE tutorial" from Sun.
I found it slightly disturbing that Glassfish (or was it JBoss? It was so long ago...) used ~400-450 MB of RAM before I had done anything to it.
And then I started reading the so-called tutorial. The fact that it had ~1100 pages should have tipped me of, but it did not frighten me. When I looked and the Table of Contents, however, which came with a freaking flow chart on how to navigate your way through the book depending on what you already knew, I ran away screaming. ;-)
And to be fair, in my brief attempt to learn C++ I, too, looked at my first slightly-nontrivial-toy-program when it was finished and found it incredibly over-engineered. So I know how easy it can be to give in to that temptation.
Also, there is this old saying that a given piece of software will reflect the organizational structure that created it, if large corporations send hordes of programmers to attack such a problem as creating Java EE or the servlet API, it is not a surprising result.
In a way, .Net has the same problem, to a degree. I have not used it much, but one of my first toy programs was an address book that got its data from the Active Directory, and the LDAP API was significantly more complex than, say, Net::LDAP in Perl. Not unusable, but the difference is noteworthy.
- geodel 10y agoI have seen those massive J2EE tutorials and blueprints. They came directly from Sun and used to be(still are?) taken very seriously. Java/EE slogan is 'RAM is so cheap nowadays!' for anyone questioning why applications seems so bloated. If you had temerity to probe further they would drown you in blizzard of serious sounding technical/business buzzwords.
- krylon 10y agoI got a away with the impression that some of those large, enterprise-ey applications are so large and convoluted in the way they are specified that the bloat Java EE adds appears negligible. After I had the honor of writing a few simple-minded Perl-CGI-script to give my boss an overview of projects our company is working on and their respective profit margins, I begun to understand why. If somebody tells me computers are complicated, I tell them that computers are trivial compared to accounting. Or my brain is just wired that way... Listening to our accountants always makes me feel like me IQ just dropped by fifty percent (or more). So if somebody writes a piece of software that is somehow involved with accounting, it is bound to be very complex with lots of special cases and exceptions. I have nothing but the utmost respect for our accountants who manage to deal with this insanity without sacrificing a goat to Cthulhu or something. TL;DR - once one reaches that level of complexity, the complexity JavaEE puts into the mix is probably fairly tame and one has bigger fish to fry or escape from.
- geodel 10y agoI'd slightly disagree because considering we are discussing impending fall of JavaEE where as enterprises seems as complex as ever. So it would mean JavaEE is not really proved right solution to complex enterprise problems. I feel JavaEE is very large orthogonal complexity which somehow neither solved nor reduced enterprise complexity. It added a jargon speak and multiple layers to bury enterprise problems and reduced net understanding of issues.