thejavajar

{ java, groovy, flex, python, ruby }

Flower

Archive for the ‘Commentary’ Category

Java Is Dead

As we all have heard around the water cooler, Java is dead. Why is Java dead, I still have a job? Is it the language itself? Is it the Java Community Process (JCP)? Is it because Sun is no more? Is it the fragmentation of Java (IBM, Oracle, JBoss, Spring)? Is it because someone you follow posted it on Twitter? Is Java too complex? Is it the abundance of Java frameworks and tools? Is it the expensive conferences? Is it the books that are outdated before they are published? Is it because you are holding a hammer? Is it because the Oracle/Google patent lawsuit? It is because your IDE is still loading? Is it because your server is still down? Is it because I have a Rod Johnson bobble-head? It is because someone posted it to your local JUG mailing list? Is it because

public static void main(String[] args) {}

is just too much typing to actually start to get something done?

Has a language come along to take its place?

Groovy, C#, Ruby, PHP, Clojure, F#, Python, C++, R, Flex, VB.NET, Haskell, ActionScript, JavaScript, JavaFX, JRuby, Jython, etc. (Sorry if I left one of your favorites out.)

(inspired by real events on the Tampa JUG mailing list)

IT Transparency

We all make mistakes, but some of us in the IT community are afraid to admit it. Whether it is an overlooked detail, a rare occurring condition or errant code that exposes itself as a defect, we need to be prepared to take responsibility and make things right for our customers. When we maintain an honest and transparent relationship with our customers, our reaction to take responsibility will be an expectation of our services and it will build integrity and trust with our customers. If we try to deceive our customers, we are putting our integrity, trust and company’s success at risk. I would not want to do business with someone I cannot trust and I expect the same from my customers.

Software Development – Creative Engineering

Software development is a creative process that is rooted in engineering. Engineering is the root structure that provides stability for our software development tree. The root structure grows wider and deeper in order to sustain the growth of the tree. The trunk is our language or technology specification that supports expansion, as branches, in different directions and paths that share a common dependency. The branches, big and small, continue on what has been provided by the trunk to create frameworks, patterns and structure that support smaller branches and leaves. The leaves, complex in their own right, represent applications and systems that turn sunlight, our creativity, passion and innovation, into energy. This energy in turn supports our root structure, trunk and branches for continued growth. Eventually, leaves fall off which can be replaced by new leaves and even some branches fall off while other branches flourish.

Then someone comes along and cuts down the tree to make paper and lumber so someone can have a desk and create useless documents to support the SDLC.

Sorry, had to throw that in there. My point is that successful software development has more to do with creativity, passion and innovation and less to do with an overweight process and micro-management.

Greater Florida Software Symposium (NFJS) – Day 3

The final day of the Greater Florida Software Symposium (NFJS) ended a bit short for me because I had some plans for the afternoon, but I was able to attend 2 great sessions. I attend the Aspect Oriented Programming with Spring AOP and Compile Time and Runtime Metaprogramming with Groovy which were both presented by Jeff Brown of SpringSource. Aspect Oriented programming is an interesting concept and sometimes, when applied to Java, entices developers to throw AOP at as many problems as possible. The session touched on not only the technical side of Spring AOP but, the practicality of using Spring AOP for logging, transactions and security. Complimentary to AOP, the session on metaprogramming with Groovy went into the details of how Groovy supports the addition of methods and properties on any class during compilation or runtime. I really enjoy Groovy’s metaprogramming features and have run into quite a few cases where it would solve many, many problems when writing Java.

Overall, I think the Greater Florida Software Symposium (NFJS) was successful here in Tampa. I look forward to the return of the event next year and I hope that attendees will share their experiences with colleagues. More information on NFJS events can be found here and between now and next year’s event, come out and participate in monthly sessions at the Tampa JUG.

You are currently browsing the archives for the Commentary category.