Myths, Myths, Myths!

J2EE Myths.

I have met a number of java developers who don’t do J2EE. So many of them have so many reasons why they don’t do it. This post is a view at some of these reasons. I call them myths because most of them are actually not true, or not entirely a correct view.

1.J2EE is hard: This is one of the most popular of these myths. The question is J2EE is hard; compared to what? We quickly forget that programming is anything but easy. I started writing Java in 2002/2003. Then I have a number of friends, most of us were VB experts(or addicts depending on who is doing the evaluation). When I deflected and I started learning Java, most of my friends have this same view of J2EE today to Java then. Java is HARD. But today, these guys are .NET/C# Experts, Some have even successfully picked up Functional Languages like erlang. So the thing is, nothing is hard, or difficult. It is our capabilities to handle them that are shallow. The first time I picked up scala, I wrote this post  Scala after one week. Today I know better. So J2EE is not hard. It’s the programmer’s capability to handle it that is not top notch. There are several J2EE projects flying around, the guys that built them are neither aliens, nor programmers on steroids.
2.J2EE is not necessary: This is another myth popular among most especially non-java programmers. Never say something is not necessary until you try it out. J2EE was built to solve a particular problem(I will get to that soon), so unless you say that problem no longer exists, then I can agree with you that J2EE is not necessary.
3.J2EE is too verbose: And so is java. The verbosity of java is not news anymore. I laugh when I see guys compare writing the famous “Hello World” in java to some other languages. The truth is J2EE was not designed to write programs like “Hello World”. It was designed for building multi-tier applications. If what you want to write is “Hello World”, nobody forces you to use J2EE. Some other languages are more suited for that. But to build scalable n-tier applications, then you need J2EE.
4.J2EE is an overkill: Compared to what? Again this is the question I normally ask. Some will say compared to php. It’s pathetic because comparing J2EE to PHP is the best example of Apples and Oranges. I once had a project in PHP (I am almost through converting it to J2EE). After a while, I have to discontinue the project in order to keep my sanity. You can call me a bad PHP programmer, but the truth is in design, PHP was designed so that you can easily write un-maintainable code. It requires extra effort on the part of the developer to write maintainable code. J2EE on the other hand was designed so that it is difficult for you as a programmer to write un-maintainable code. It requires extra effort on the part of the developers to write un-maintainable code. This extra is not an overkill. I write PHP from time to time when all I need is to put together some piece code. But I am sure a very very low percentage of php programmers can be able to build something on the scale of facebook and yahoo using php without running into maintenance issues.
5.J2EE is slow: Your J2EE servers were designed to run on multicore, high end CPUs and not your low end systems. Trying to run Glassfish, for example on a P3 512Mb RAM is suicide. Because what the servers handle are not trivial, so the hardware requirements for them can also not be trivial. For the fact that they can run on low end systems did not mean they should be run on low end systems. If M$ had allowed Vista to run on a P3 512Mb RAM System, imagine what a world this would be!

There are several other reasons people give for not venturing into J2EE, the only valid reason I have gotten over time is I DONT NEED IT NOW. That was the same reason I gave several times over until the need arises. For everyday web-applications, I believe php will just get you by, but you will need J2EE if you are particular about scalability, security, inter-operability, maintainability, and all the other goodies that J2EE have to offer.

Advertisements

7 Comments »

  1. Faisal said

    “J2EE on the other hand was designed so that it is difficult for you as a programmer to write un-maintainable code.”

    Buddy you can write un-maintainable code in any language, take it from some who has written plenty of un-maintainable code himself 😉 in his younger self.

    • I know its possible to write unmaintainable code even using Java EE 5. But the bone is contention here is the ease with which that is possible using PHP pari passu J2EE.

    • MUHAMMAD BASHIR said

      Mr. Faisal
      I think it doesnt work with Java. it is a highly regulated lang. with dos and donts and there is no two ways about it. is either u do the right thing or forget about it.
      As for J2EE u are even required to obey more rules strictly cos you are implementinting interfaces. that u can not dis obey and get a result. that is why Java is highly secured.

  2. Laszlo Kishalmi said

    Well I’d replace J2EE with Java EE. J2EE spec. (up to J2EE 1.4) earned these myths, while Java EE 5 and the upcoming 6 are really attractive frameworks.

    Just one note on Glassfish. It runs reasonably well on a P3 with 512 mb ram under linux we have a few of them in production. Of course we do not deploy our super shiny mega projects on them, but for hoting a few in-house apps they are doing really well!

    • hummn? I never actually tried to run Glassfish on a linux box, but on my windows box…its suicide.

  3. Oluwasogo said

    Well u could be right about a lot of things … But one thing have come to believe is in using the right tool for the right task. It’s good to be versatile.. And be as much of a generalist as much as been a specialist.. So in other words u don’t need to get dirty in every lang..

  4. […] […]

RSS feed for comments on this post · TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: