Tuesday, June 05, 2007

Who likes JDeveloper and who pooh-poohs?

Jan Vervecken started a recent thread on the OTN JDeveloper Forum entitled, "The forgotten Java IDE?" It's quickly garnered a lot of replies (57 at the current count!). It's lead me to do some thinking and some researching around the Web.

To paraphrase both Blondie aka "the man with no name" (Clint Eastwood) and Tuco (Eli Wallach) as they were wont to say in my all-time favorite movie, "There are two types of people in the world my friend, those who like JDeveloper, and those who pooh-pooh it." Well, the world is more complex than that, but it seems to be the case that a given person either loves JDeveloper, or thinks it's completely useless and irrelevant. Can both types of people be talking about the same thing?

In my experience on the OTN forums, at Java One, and from reading blogs and other Internet posts, I've been able to create some stereotypes of the two types of people, and gain some insight into the "why" of the stereotypes.

People who like JDeveloper tend to:
  • Already be Oracle customers
  • Have experience with 4GL languages, especially Oracle Forms
  • Use Oracle's Application Development Framework (ADF)
  • Like the integrated SOA development tools in JDeveloper
People who pooh-pooh JDeveloper tend to:
  • Think of themselves as "hard-core" java programmers or "java gurus"
  • Dislike anything "proprietary," and thus tend to discount ADF
  • Really like open source, "free" things (although, as a sidebar, my friend always used to say, "if it's free, I can't afford it")
People who have traditionally used Oracle's (quite good) 4GL tools like Oracle Forms tend to be able to jump right in to ADF, with some training of course, and work in JDeveloper in a familiar paradigm. For them, learning Java/J2EE in the context of doing a JDeveloper/ADF project, tends to be, "teach me the syntax" and, "learn the ADF framework." All of the J2EE complexity is hidden under the covers of the ADF framework for these folks.

The hard-core java guys, on the other hand, want to fiddle with every bit and byte. Now, in my opinion, JDeveloper can do this just as well, if not better, than the other IDE's out there (Eclipse, Netbeans, IntelliJ, etc); however, most of these folks already have an established IDE preference, and changing IDE's is something that requires a conscious effort and reason to change. Thus, even though I really like JDeveloper, and think it's a world-class IDE, and would like more people to use it (selfish reasons, I guess - I want to ensure that Oracle will always be putting lots of effort into new releases), I would say to this group of people, "keep using whatever you are using." If you want a nice productive database development environment, or a nice BPEL development environment, come on over and take a look. Heck, I'd be willing to bet that most of the hard-core guys, if they would be willing to take an honest look at ADF, would find that there are some good things there for them.

As to which type of person am I... I've got some characteristics of both. I've done some Oracle Forms (mostly Forms 2.3 and Forms 3.0!) programming in my life. I actually got my start doing more hard-core C/C++ programming and did "hard-core" java before I got into ADF; so I guess I don't fit the stereotypes I've laid out here.



LordFoom said...

JDeveloper has nowhere near the sheer usability power of eclipse. On my machine, it regularly gets corrupted and has to be reextracted. The way it handles file creation and sorting sucks. It's constantly changing view is disruptive, the way it implements, eg, inspection, sucks, it's code assistance is an aberration and the fact that you can't open up any file with a simple accelerator key is the final nail in the coffin.

I use it because I HAVE to; I've resorted to using vim and JDeveloper in conjunction.

Charlie said...

Sucks, I say. I don't need the constant intruption (JUST LET ME TYPE!) of the help utilities. I like having the debugger, but sometimes it just doesn't work, or it appears to be executing code I didn't write, or doesn't debug code I am clearly lookin at.

I never had to shut down COBOL and restart it, or reboot the mainframe because TSO went wacky.

It is exasperating to use a tool that you can't trust to do what it says it is doing.

AngryCoder said...

Oracle has some greats products, but when it comes to Java development it sucks big time.

Coding with JDeveloper is a pain, you can't even compare it to Eclipse, NetBeans, Idea or any other.

And don't get me started with ADF, it's a pile of crap. ADF sucks!

Anonymous said...

I've had it with JDeveloper; not only is it flaky and buggy but its unintuitive and inflexible. I stay with it only because it is integrates well with OC4J. It can't even get code highlighting right. It certainly isn't in the same league as Eclipse or IntelliJ.

Fabricio Barahona said...

Jdevelopper auto-generates bad code. its sucks, netbeans sucks too, and eclicpse crashes big time, the real thing here is that JAVA sucks. solution, use PHP or ASP.NET

Anonymous said...

JDeveloper is a fancy IDE for JSF.
Unfortunately dragging JSF components on page is about the only thing that works in this overbloated IDE. It's an IDE directed toward Oracle ADF (which sucks as well..go figure!). Did I mention it's buggy? Yep, you get an exception about every 20 seconds.

Stick with eclipse or whatever you're using. Hey, even vi is better for plain java coding.

Jimmy choo outlet said...

|Jimmy Choo Black boots
|Jimmy Choo Embossed leather boots
|Jimmy Choo Grand suede ankle boots
|Jimmy Choo JINX Black/Gold Cuff Suede Boots
|Jimmy Choo Karina studded leather shoe-boots
|Jimmy Choo Leather and fishnet shoe boots
|Jimmy Choo Liu nails black boots
|Jimmy Choo Peep-toe boots
|Jimmy Choo Peep-toe boots
|Jimmy Choo Printed pony and Elaphe snakeskin ankle boots
|Jimmy Choo Shaded elaphe boots
|Jimmy Choo silver mesh pointed boots
|Jimmy Choo Suede boots
|Jimmy Choo Vintage suede ankle boots

Sildenafil Citrate said...

well I have been using JDeveloper for a while by now and I have tried other applications and I have to say that JDeveloper is by far the best I have used

JW said...

JDeveloper only exists so Oracle doesn't have to worry about potential licensing conflicts with developing an Eclipse plug-in.

I have had to use it. I have had to take a serious look at ADF as the only path forward. I am unimpressed. I keep waiting to be impressed and instead am repeatedly greeted with disappointment.

The wheel has been reinvented, and it isn't an improvement.

It is, however, the only decent way to develop for this particular end-result. It is a tool of necessity, not of choice (much like Visual Studio is).

Anonymous said...

Thanks John,
AWESOME Thank you for what you do.
After following OTN and associated blogs for many years, my first posting.

Landed here, while I was searching for spell checker solution... THANKS.

More importantly, the refernece to GBU (TUCO) is great. All time favorite.

When doing "tech work" I was able to have a good conversation with my son on Tuco.

Keep up what you are doing.

Anonymous said...

I'd like to point out that ADF and JDev suck so much that Oracle has removed the thread you linked because they don't want anyone to know. I find it interesting that ppl would put up with an ide that has trouble with something as simple as copy/paste or even ctrl find, and have you ever tried to delete a binding from a page? I've seen jdev lock up and crash because it can't handle managing the copious amounts of shit tanks xml it is trying to parse. JSP,JSF,and ADF are dead imho. RIP SUN wish you were still around.

Anonymous said...

How can anybody defend Oracle ADF? Has anybody tried mavenizing an ADF project? It is a pain to get all the ADF libraries in to a repo. Then the pom does not do a true maven compile, but rather shells it out to the IDE. My build takes an hour and most of that time is spinning up ojdeploy and ojmake. I hate that it takes 4 minutes to run my app. It also sucks that Weblogic crashes if I hot deploy more than once.

As noted above, I simply open the web.xml file and the IDE wants to shut down. I click ignore and keep working.

I discovered a bug in 12.1.2. You cannot re-run JUnit tests without shutting down the IDE. Oracle's answer is to upgrade to 12.1.3. I must be the only one using the framework that unit tests my code, after all, unit testing does not follow with the drag and drop mentality.

I can go on and on.