My part of 20 years of Java spans at least 12 years and started somewhat in 2003.
I was hired after my apprenticeship and university by ENERKO Informatik where i still work. ENERKO back then was a totally Oracle shop, Oracle Database, Oracle Case and Designer and Oracle Forms, so no wonder that my first “own” project at the end of 2002 was a Forms 6i project.
I did some Java in university, but not much. My studies took place in FZ Jülich, we learned Fortran 90, C and some C++. What i see from Java Back then was slow, clumsy and after all, complicated .
Back at ENERKO, my Forms project went really well (actually, it was just replaced by a Vaadin application 3 weeks ago, more than 10 years in production oO). I remember my boss coming to me, drawing some lines on a paper, it must have looked something like this:
The black dots and lines are power rods and power lines and the “parallel” grey ones are the “right of the way” along the route. Question was, if I could image computing the right of the way and also display it in some way, preferable in SVG (someone else suggested that).
Thats where i really started digging into Java. Computation was easy and parts of the original algorithm are still alive. First application was a ugly, hacked together Swing thing with Apache Batik used for display SVG. It was awful, but it work.
I took a first Java course at trivadis to get Swing (and AWT, does anyone remember that?) right and things got slightly better. SVG didn’t work out for us and thus our Swing based Graphic Framework for drawing arbitrary things came into life (pretty much everyone created them at their first OO course, or?) which is still used today. My colleague Andreas did a great Job since 2010 getting new features into it and preparing it for the future.
What i could used to was hearing “Java and Swing” is slow over and over again. Yes it was slow, not it isn’t slow anymore. And thats just it. It works really, really well.
IDEs. I wrote a lot about them in my NetBeans testimonial. Back in 2004 or so, Eclipse was my preferred tool and still i must say, kudos to all the Eclipse developers. I certainly cursed a lot over Eclipse, but in the end, it always did the Job get done and helped me a lot develop my skills.
Web development: Had my first Homepage by the end of 1999 and boy, i was so proud of the file based guestbook i had. Having so much success doing the Swing stuff i thought how hard could be doing Java for Websites, wasn’t that the stuff all those skilled developers where doing? Turned out, it could be very hard.
I remember a lecture i had taken by a pretty different Adam Bien. Comparing his patterns and suggestions from back then to the stuff he’s doing now is worlds apart.
It must have been 2004 by then and we as a company where struggling with the end of life for Oracle Forms 6i. Going to the DOAG yearly conference it was all about Jdeveloper, Oracle Forms 10, application servers and such. It seemed nobody had a clue. All that XML, configuration, configuration and then some… I struggled with Struts, J2EE 1.4 and lost. I really concentrated on the Desktop with Java and that paid very well for me.
In 2005 i started Daily Fratze, PHP then Ruby on Rails based. Had a look at Java, but didn’t want to go down the painful way of more config than code. Ruby on Rails was enlightening in December 2005. That was what i wanted to do for the web.
I never stopped using Java, quite the opposite. I even became an SCJP with a score near 100% in 2008, but in 2011 i heard old and tired regarding Java and i somewhat could relate.
Months before that my frustration with Java and the Web ended with me having a look Spring MVC again. I’m stubborn and i wanted to make that work for me. And so it did. Spring has been in my portfolio since the end of 2010 and helped a lot getting Java fun for me again in that time.
Everything that happened for Java and me after that time was just great. I did Java on the Desktop, Server, Middleware and even inside databases. Maybe it was always “write once, run everywhere” but it was “learn once, run everywhere”. We at ENERKO have proven that one can do a full blown GIS system nearly 100% Java. I’ve written several web facing Java based sites that run without a hickup for months.
Actually, i used a lot of programming paradigms, languages and tools the last years, but i’ve alway came back to Java and with all good relationships, it has seen all sorts of high and lows. At the moment, Java and i are at an all-time high. Since Java 8 the language is just great, i learned a lot about functional programming (which maybe doesn’t look as fancy and cool as in other languages, but so what?) and did some great things (some you find at that blog here).
The solutions I create with Java are paying my bills and are even fun to create, but the best are the people that are part of the Java ecosystem. So many kind and brilliant people. All sort of. People creating great IDEs, libraries that are useful in every day usage or people that are just fun to talk to and discuss with. Thanks to all of you.
Cheers to you, Java 🍻, onto the next twenty years: