Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud.
We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Welcome to the first installment of JDJLabs. Our
goal is to introduce you to commercial (and open-source) products and technologies
that will help you, the Java developer, work more efficiently. We expect
our testing to provide you with a starting point for your own testing and
analysis. In this column we’ll be looking at common market trends that affect
the commercial products and services in the Java space.
Over the past few years we here at JDJ have looked at quite a
lot of Interactive Development Environments (IDEs) for Java programming.
IDEs provide a sort of one-stop shop for software authoring, compiling, and
deployment. Historically speaking, software programs used to be written using
a regular OLE text editor. These original editors treated text documents
and code the same way – as text. Specialized text editors assisted programmers
with the job of writing and editing code.
Even many popular 4G languages make use of a text editor as the primary
programmer’s interface. It was the emergence of graphical user interfaces
(especially Windows) that fomented the emergence of the full-blown IDE. This
new breed of IDE handled all aspects of programming – development, coding,
debugging, testing, and deployment. Over the years the graphical IDE has
become a de facto standard of sorts. In fact, all the leading tools and database
vendors were quick to release their own graphical Java IDEs almost as soon
as the Java revolution began.
The question that faces us, however, is whether or not the graphical
IDE is a good thing. On the one hand it provides a one-stop shop for programmers
to gain access to all the necessary parts of a programming language. On the
other, graphical IDEs tend to insulate the programmer from having to understand
all the ins and outs of a particular language. Personally, I believe it’s
important for a developer to have a firm understanding of the underlying
language (especially when that language is more of a platform – like Java).
I don’t mean to imply that a programmer needs to have an intimate understanding
of the internals of each and every class that they use. (After all, one of
the premises of OO development is the ability to rely on the published interfaces
of an object.)
The problem, to my way of thinking, is the degree to which most IDEs
insulate developers from their code. For example, graphical IDEs are filled
with wizards that take care of the common tasks a programmer faces. You want
to build a Swing-based data entry form for a table in a database? Just use
the form-builder wizard. The problem with this approach is that the programmer
may never understand the logic used to generate this form. Generated forms
rarely meet 100% of your needs, and the novice developer winds up trying
to modify a complex set of Java code that was created by the wizard.
Wouldn’t it be a better long-term approach for this same developer to
build his or her first few data entry forms from scratch and learn the ins
and outs of Swing and JDBC? I’ve also heard experienced developers weigh
in with the argument that most IDEs just “get in the way” when it comes to
Java coding. To be sure, some of this comes from the age-old adage that “real
programmers use vi or Emacs, or <insert your favorite text editor here>.”
However, there is a nugget of truth here as well. My question to you, dear
reader, is where you stand on this issue. To IDE or not to IDE – that is
the question!
About Jim Milbery Jim Milbery is a Vice President with William Blair Capital Partners, a venture capital firm based in Chicago. He has over 19 years of experience in application development and relational databases. He is the former applications editor for "Wireless Business and Technology", the past product reviews editor for Java Developer Journal and the author of "Making the Technical Sale". Jim can be reached at jmilbery@williamblair.com, or via the company web site at http://www.wbcapitalpartners.com
Reader Feedback: Page 1 of 1
#5
Reuben Cleetus commented on 30 Apr 2002
I wonder if all those so-called hard-core programmers (who proudly proclaim that notepad is better than any IDE), ever bothered to stop and think about what they were justifying.
Basically what they're saying is that its better to continually re-write the basic plumbing, than to use intellisense or some other feature that an IDE provides, which takes care of the banal, and lets you focus on the task at hand. I would much rather focus on the business rules I have to implement, than edit a deployment descriptor by hand, or write the basic Java code for a the GUI of a swing application. What I care for most, is that the meat of my app performs well, and most importantly, adhered to relevant business rules.
Don't get me wrong, I learned Java with Textpad, but I graduated to being much, much more productive with Netbeans, than I ever was in Textpad.
I wonder what those "hard core" code-gurus will say when they see the 10-second job it is to publish a Web Service with Visual Studio.NET, versus the hours of coding it would take to do it by hand in Java. I'm sure Java IDEs will do the same in time.
#4
George Phillips commented on 29 Mar 2002
A lot depends on the skill level of the programming staff. We have programmers who couldn't begin to program without an IDE, but with it they are reasonably productive. On the other hand, I haven't found a truly complete IDE on the market yet - they all leave out some important piece or have some critical compliance issues. I wish some forward-looking company would come out with a set of utility modules (debugger, get/setter generator, whatever) which could be used along with any decent programming editor...
#3
Admiral commented on 29 Mar 2002
Coming from my personal experience I would prefer a powerful text editor to any IDE, especially in java world. The problem with IDE is you have to learn it, and it has bugs and perks of its own you'll have to overcome. Once you are a beginner, IDE is perfect with all its wizards and graphical buttons and stuff. Becoming more of a professional, you start not using wizards and feel uncomfortable with limited text editing functions and having to do the misc things the IDE doesn't by your own hands and/or shell scripts. Once you are a pro, you throw them away and take emacs/ant and live happily ever after. That is what happened to me and this is something I wish to happen to everyone. Such tools like ant, although there is a steeper learning curve, than those of any graphical IDE, the return on your investment is enormous and I can do more in an order of a magnitude with a single command-line ant task, than any IDE out there. But coding itself hasn't changed for the last 10 years I am into it - text editor remains the main tool. So why do you need all those graphical/wizards crap if you have to format and rewrite the generated code? Why not just write several classes to be starting with in every project and make a project setup task in your ant build.xml? As long as we have to write the code with our own hands only powerful text editor and build tools are our ultimate weapons. Still another concept to prove - the best things in life are free (both as in "freedom" and in "free beer") :-)))
#2
Scott commented on 29 Mar 2002
First of all, IDE stands for "INTEGRATED Development Environment", not "Interactive". And so what if there are wizards? Most experienced engineers never use them anyway. The real benefit to and IDE is the productivity--all of your editing, debugging, compiling, etc. are "INTEGRATED" (hence "IDE") into a single environment. This is way more productive than crawling on your hands and knees with a text editor and command line debuggers and the like, jumping around in various utilities, etc.
#1
Ravi V commented on 13 Mar 2002
The author seems to have a problem with wizards not IDE's. I haven't found
wizards very useful myself. They may be useful when you are trying to learn
something but they are usually more trouble than they are worth.
A good IDE is one that does all the routine tasks for you(compile,build and
build deployment files,give visual cues) and doesn't get in your way. Yes I
know how to use vi(I like it) & Emacs(I don't like it) but I prefer the
modern day conveniences of Eclipse(from IBM). Also the Visual Basic/Visual
Studio IDE is also one of the best designed IDE's which save you a lot of
effort.
Reuben Cleetus wrote: I wonder if all those so-called hard-core programmers (who proudly proclaim that notepad is better than any IDE), ever bothered to stop and think about what they were justifying.
Basically what they're saying is that its better to continually re-write the basic plumbing, than to use intellisense or some other feature that an IDE provides, which takes care of the banal, and lets you focus on the task at hand. I would much rather focus on the business rules I have to implement, than edit a deployment descriptor by hand, or write the basic Java code for a the GUI of a swing application. What I care for most, is that the meat of my app performs well, and most importantly, adhered to relevant business rules.
Don't get me wrong, I learned Java with Textpad, but I graduated to being much, much more productive with Netbeans, than I ever was in Textpad.
I wonder what those "hard core" co...
George Phillips wrote: A lot depends on the skill level of the programming staff. We have programmers who couldn't begin to program without an IDE, but with it they are reasonably productive. On the other hand, I haven't found a truly complete IDE on the market yet - they all leave out some important piece or have some critical compliance issues. I wish some forward-looking company would come out with a set of utility modules (debugger, get/setter generator, whatever) which could be used along with any decent programming editor...
Admiral wrote: Coming from my personal experience I would prefer a powerful text editor to any IDE, especially in java world. The problem with IDE is you have to learn it, and it has bugs and perks of its own you'll have to overcome. Once you are a beginner, IDE is perfect with all its wizards and graphical buttons and stuff. Becoming more of a professional, you start not using wizards and feel uncomfortable with limited text editing functions and having to do the misc things the IDE doesn't by your own hands and/or shell scripts. Once you are a pro, you throw them away and take emacs/ant and live happily ever after. That is what happened to me and this is something I wish to happen to everyone. Such tools like ant, although there is a steeper learning curve, than those of any graphical IDE, the return on your investment is enormous and I can do more in an order of a magnitude with a single command-lin...
Scott wrote: First of all, IDE stands for "INTEGRATED Development Environment", not "Interactive". And so what if there are wizards? Most experienced engineers never use them anyway. The real benefit to and IDE is the productivity--all of your editing, debugging, compiling, etc. are "INTEGRATED" (hence "IDE") into a single environment. This is way more productive than crawling on your hands and knees with a text editor and command line debuggers and the like, jumping around in various utilities, etc.
Ravi V wrote: The author seems to have a problem with wizards not IDE's. I haven't found
wizards very useful myself. They may be useful when you are trying to learn
something but they are usually more trouble than they are worth.
A good IDE is one that does all the routine tasks for you(compile,build and
build deployment files,give visual cues) and doesn't get in your way. Yes I
know how to use vi(I like it) & Emacs(I don't like it) but I prefer the
modern day conveniences of Eclipse(from IBM). Also the Visual Basic/Visual
Studio IDE is also one of the best designed IDE's which save you a lot of
effort.
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP).
The...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
We have technical and st...
AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought.
AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers.
M3 execution procedure was outlined in this previous article.
The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
Red Hat is putting its bought-in Gluster scale-out NAS storage technology,
acquired in October, on the Amazon cloud.
It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and
other clouds are supposed to follow in short order.
A new episode of the screencast series is now available at the OpenNebula YouTube Channel.
This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...