tags: Java
, Architecture
, IT Management
, PHP
, J2EE
posted: Thursday, October 20th, 2005
While I’ve been working in Java for the past 7 - 8 years, I definitely do not label myself as a Java -loyalist. I’m an Internet Application loyalist, and I want to do whatever it takes to get the apps done right and done fast. I agree with Andreessen’s statement that Java’s complexity has grown by leaps and bounds. The learning curve has become too steep, and many IT departments are finding it difficult to train an employee in all the technologies needed to go in and make a simple change to a module on their web site. When you have to know Spring, Hibernate, Struts, Tiles, SQL/RDBMS, and make edits within all these technologies in order to add one field per the client, it becomes utterly ridiculous.
It may be fun for us developers, and we love all the separation of the various layers of the application, but it’s no good for the client, and that’s who pays us. So we as Architects, Analysts, Designers, and Developers better come up with something that provides for much faster turnaround time.
Comments (4)
Leave a Comment
I think it’s all about improper use of technology: simpler tools for simpler context.
I agree with Khaz, huge applications have been developed for simple solutions. On the other hand you can use simple jsp’s if you want to go faster in a php style…
I agree with Khaz and js as well, although its true that Java has so much stuff(that often have similar if not the same functionality) going on that it can be frustrating at times…but that is a side effect of opensource.
RSS feed for comments on this post. TrackBack
But, what are you going to do when your client ask you for any systemic quality, as scalability, reliability, MAINTAINABILITY, and so on. You will have to tell him/her that he/she should wait for you to architect and implement a solution with the proper separation of concerns. It is not just for us as developers, in the medium and long term it is all about systemic qualities of the software that your client receives. Even if it is not made in Java, for example I think that if the performance (another systemic quality) is a critical issue for your client you can build the application in assembler if it needs to (and if you are able to
, but maybe this will take you 10 years of development so when you finally finish the job, your client´s company maybe wont even exist. It is a trade-off between the sistemic qualities (performance - realizability in that case) what leads you to create Quality Software. The long term cost of the software is as important as the short term results for your client.
http://www.suntone.org/
Best Regards.