• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Paul Clapham
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Roland Mueller
  • Piet Souris
Bartenders:

Why an IDE?

 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have been using Java for a few years now, without an IDE. I have tried WebGain (then VisualCafe) and JBuilder, but still go back to using my trusty text editor (MultiEdit). Maybe I just didn't give them enough of a chance, but it they seemed to add too much unnecessary code to my project. Perhaps some of you more experienced IDE people could 'show me the light' and explain why IDEs are so great and which one does the best job in which area of Java.
PS I do mostly Swing and JDBC work.
[ August 12, 2002: Message edited by: Bruce Saunders ]
 
Ranch Hand
Posts: 173
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
IDEA could be for you! It lacks a GUI builder, and its editor is sufficiently powerful. It's bursting at the seams with other useful but *unobtrusive* features. To me, it's an IDE that feels like a text editor, until I need that extra something, whatever it is, usually found only in IDEs. The price, $400, is second only to free.
Have a look, and feel free to ask questions.
Craig
 
Ranch Hand
Posts: 7729
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One of the problems with commercial IDEs is possible lock-in to class libraries that the vendor provides. It means that the code exported from the IDE is not "standalone" and not maintainable outside the IDE.
However using an IDE for rapid GUI layout has been useful at times, but the rest I prefer to do outside the IDE. If I could afford it and had a powerful enough machine I'd take another look at Together/J or Forte/Java.
Maybe the applications I have been working on are of such a low complexity so that I can do without an IDE.
-Barry
 
Ranch Hand
Posts: 285
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've never been involved in any commercial Java or development so I'm probably not really qualified to give an opinion here, but in studying for my SCJP2 I was told by numerous experienced Java programmers to simply use Notepad or another equivalent to write my programs. That way, they said, you as programmer are in total control of your code and environment, and not subject to the extra stuff imposed by the IDE, or other changes outside the IDE such as new Java SDK releases.
For me, in study mode, a simple text editor certainly helped me to approach any program development with more caution and discipline, more perhaps than an IDE may have. I'm not sure however whether an IDE will be more beneficial when working in a team on a project, or how much speed it may lend to program development. I downloaded a neat little editor called TextPad, which I'd like to think I'd be able to use in a commercial environment as well.
Is it a mole/mountain scenario? At work I use MS Visio to draw system flowcharts and the like. The software takes up 160+Mb on your HD. I think I'd rather use a pencil and ruler instead
[ August 12, 2002: Message edited by: mark howard ]
 
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have to say I feel the same.
When I was learning Java I only used WordPad (a little bit cleaner than NotePad). Then I moved to Textpad when I started building bigger things in the work place and liked it a lot.
I've also been forced at various times to use Forte for Java (which I didn't mind too much), VisualAge (which I detest), WSAD (better than VA but I'm still not a fan), HomeSite (its FTP editing is a must!), vi (only semi-kidding) and now I tend to use jEdit because its free.
I defintely try to stear new users away from IDEs when they first start. Someone starting out using (for example) VA or WSAD will have a hell of time and will only learn about crappy editor problems rather than programming.
 
Ranch Hand
Posts: 301
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, I work on applications with literally thousands of class files, and without project management that an IDE provides, my teams and I would be lost. You just cant manage that many classes with a text editor.
I would highly recommend not using any of the vendor specific code, and since all we do is web based (EJB or servlet-jsp), we are not writing gui code where we might be tempted into using that vendor libraries.
Also, the code completion is very useful in an IDE, along with all of the javadoc, jar-ing, etc tools that you get.
But I would say that it is better to learn Java without an IDE... that is a different story all together. The only thing I ever used when I was in school was Emacs.
It all depends on the situation you are in...
 
Ranch Hand
Posts: 95
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Now that I use Ant, the need for an IDE is diminished. In fact, while everyone on our team uses Forte, each person could use any IDE they wanted, as long as it supports or provides access to cvs and takes advantage of ant.
I'm a big fan of Ultraedit - at $35, it's more than affordable, and provides remote editing via ftp.
 
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
With Java API growing at an alarming rate, it is quite inane, to go for coding in production environment without an IDE. But on the other hand most of the popular IDEs are quite complex to learn how to use them, and generate so much of nonessential code.
However,there is one IDE ( IDEA), which has recently shone on the horizon and is simply fantastic to use, because it has almost 0 learning time required and quite handy even when you use its singlemost feature : code completion and auto showing of javadocs.
I highly recommend it.

[ August 12, 2002: Message edited by: Mohan Panigrahi ]
 
David O'Meara
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, I work on applications with literally thousands of class files, and without project management that an IDE provides, my teams and I would be lost. You just cant manage that many classes with a text editor.
...and you shouldn't have to. If the delegation is organised correctly, you should have to worry about more than a couple of sections at a time. Maybe an IDE can assist in the 'big picture' view of an app or a bunch of related components, but how many classes do you deal with on a day to day basis?
Also, the code completion is very useful in an IDE, along with all of the javadoc, jar-ing, etc tools that you get.
Code Completion? I hate it I find the implementation of most to be very invasive, and once again leads to the 'learning an IDE' to manage key-combinations to handle completion.
With Java API growing at an alarming rate, it is quite inane, to go for coding in production environment without an IDE.
You'll have to qualify this statement, I almost totally disagree. Again it comes to delegation. Yes there are a huge number of Java APIs, but you don't use them all everyday. No-one should try to be an expert in all things Java, and neither should an IDE.
But on the other hand most of the popular IDEs are quite complex to learn how to use them, and generate so much of nonessential code.
Are we including code generators too? I haven't touched them too much except for a breif period with 'Together', but I'd encourage learners to stay the hell away from them. How are you going to learn programming when something else is doing the work for you? Even generation of getter/setters. It's an exercise to do them yourself and I think everyone should when they start out.
I've never had a code generator I was happy with the output from (used the getter/setter in VAJ then deleted it all and did it by hand).
Are the IDEA supporters trying to get this dicussion moved to Blatant Advertising?
 
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As far as IDEs are concerned, I also find their code generation quite invasive. I recall several years �ago, when just starting out to learn Java, I this little program in REXX of some 50 lines, that I wanted to write in Java. Having access at the time to VisualAge, I used it to write something similar, and ended up with over a 1000 lines of code. Doing it in a simple editor decimated that to less then 100. Since then I've had the same experience with VisualCafe and JBuilder. Now I do all of my development using JCreator, which doesnot add anything, yet offers sufficient asistance thru code completion and for debugging to improve my productivity. So unless your superiors force you to use one, stay away from IDEs. And as far as project management and version control are concerned, there are numerous tools such as CVS to handle that for you.
Patrick Muls
 
Mohan Panigrahi
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
<quote>Are the IDEA supporters trying to get this dicussion moved to Blatant Advertising? </quote>
:roll: :roll:
[ August 13, 2002: Message edited by: Mohan Panigrahi ]
 
David O'Meara
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
According to my experience Jbuilder is the best IDE available , it makes the programming interseting , lively and incredibly faster.
sometimes you may feel that using IDE is spoonfeeding and you may forget some of the classes and their methods. but this is not true and if it's used properly then it worth using it.
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Just my 2 cents here, I notice most of the posts against using IDEs refer to the older IDEs. They still bring up viable arguments (i.e. invasiveness, vendor-specific libraries, etc.), but I've never had a problem dealing with IDEs generating their own code that I couldn't track down and I'm by no means a guru. Most IDEs nowadays still allow you to 'do your own thing', of course, I do completely agree that there's a huge learning curve (even IDE to IDE) and that newbies should start out using Notepad or Emacs.
I don't mean to go on a rant here...I could be wrong.
 
Ranch Hand
Posts: 3244
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Rahjava
Welcome to the Java Ranch, we hope you�ll enjoy visiting as a regular however,
your name is not in keeping with our naming policy here at the ranch. Please change your display name to an appropriate name as shown in the policy.
Thanks again and we hope to see you around the ranch!!
 
Nate Johnson
Ranch Hand
Posts: 301
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by David O'Meara:
Well, I work on applications with literally thousands of class files, and without project management that an IDE provides, my teams and I would be lost. You just cant manage that many classes with a text editor.
...and you shouldn't have to. If the delegation is organised correctly, you should have to worry about more than a couple of sections at a time. Maybe an IDE can assist in the 'big picture' view of an app or a bunch of related components, but how many classes do you deal with on a day to day basis?
Also, the code completion is very useful in an IDE, along with all of the javadoc, jar-ing, etc tools that you get.
Code Completion? I hate it I find the implementation of most to be very invasive, and once again leads to the 'learning an IDE' to manage key-combinations to handle completion.


I will say a bit more about the two comments from my original note, but I dont want to get into any wars over IDEs...
First, code completion in JB comes along with the syntax of the language. Just type the dot after an object and you have a listing of all of the methods available... nothing more to learn.
About only working on a few classes at a time... that would be nice, but it seems that we are constantly changing everything... not a good way to do things, but we jumped into Java way too fast here and things are a bit hectic
 
Ranch Hand
Posts: 67
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JBuilder is a great IDE. I have used it for over 2 years (JBuilder4 to JBuilder7) to develope GUI applications for the company I work for. The ease and consistency of creating Dialogs and Frames and being able to drag and drop components is a must. The Designer gives you the ability to get the Look-n-feel of what you are producing on your screen long before having to compile and code the classes. I would not even try to develope complicated GUI components without it. Once mastered you can create GUI applications in a fraction of the time needed to do so with only a text editor and a compiler. I wouldn't want to develope without it.
Hovering over a component in the Designer allows you to see the class library that the component resides in to avoid using libraries you wish to exclude from your app (to keep the app completely Swing, AWT, etc).

Lon
 
Ranch Hand
Posts: 2379
MySQL Database Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Pals,
I have been using only NotePad and JDK in early study peroid of Java. Then I started textpad and now in my current firm I use Forte fo Java that we know as SunOneStudio now. I also tried JBuilder a few days.
In every sense, Forte is excellent. Its support for open source projects are really attractive...
I'll stick with it!
 
Ranch Hand
Posts: 247
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
For smaller projects I defintely prefer just a syntax-highlighting editor that has some basic functions such as (in order of usefulness) search/replace, goto line #, add/remove indent, change selected text case(CAPS/nocaps), new from template, and insert text from file. The closest one I found so far is called Editor 99 by Pierre Post, v1.02.02. It's not being developed anymore, but it doesn't need to be! I use it as a notepad replacement, too, since it handles large files and weird EOLs correctly, as well as the fact that it's crazy fast.
I'll agree with Ashik about Forte for Java (Sun ONE Studio now)/NetBeans. It uses Ant and other tools and has good features. For Very Large Projects (VLPs) an IDE with project management features is extremely useful. I've been managing a servlet Framework library with Editor 99 and batch files and it works pretty well, but I only have about 40 files to work with. Some of the projects that use the Framework have upwards of 150 files, and I find it easier to use Forte to manage it.
Forte's only problem is it's a bit of a resource hog, but individual modules can be turned off to get a small speed boost, and it should be run with JDK1.4 (it allows compiles with any compiler) and plenty of free memory to get the most out of it. I use the F4J 3.0 Enterprise and it does enough stuff automagically for me that I don't want to deal with that it makes things much easier to work with. The biggest things are project management, the automatic generation of web.xml for my web archive projects, and auto-deploy to my app server. The plug-in modular architecture is nice, too.
I have been meaning to try jEdit, though, as I have heard some good things about it and it also has a lot of plug-ins. If I had money for it I'd try IntelliJ IDEA as I hear nothing but good stuff about it. There was a lot of hype about Eclipse a few months ago, but a lot of that has died down recently for some reason. I've peeked at it and it looks like it's maturing, but not quite there yet.
The best features of an IDE that I've found are: project management, refactoring support, debugging, global search/replace, code completion, quick-help, and integrated version-control interfaces.
 
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I can't imagine using notepad to develop java code. I use textpad and find it much better. It recognizes java and highlights and colors reserved words and method calls which I find very helpful.
I am new to Java and don't have a lot of experience with IDE's in general but I have used Forte and am on the fence about it. I like being able to hit Ctrl-space after specifying a class name or reference and having it pop up a list of methods complete with parameter strings that I can see so I get the proper syntax the first time. I also like being able to position my cursor on a beginning or ending curly bracket, paranthesis, or bracket and having Forte highlight the matching one.
On the other hand, Forte really sucks up the resources on my laptop... if I were to use it daily I would have to ask my boss to have my memory doubled. But that would be a small price to pay...
Just my thoughts here...
Eric
 
Mark Howard
Ranch Hand
Posts: 285
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Based on all the discussion above, choice of IDE (or not) does seem to be a very personal thing. A bit like screen-savers or mobile ring-tones Or perhaps the difference between those 'command-line' programmers and 'menu-driven' programmers of old?
All I can say from a study perpective is that I found it very rewarding to be able to build a Java app from the ground up without an IDE, as though I had made it all by myself, and I'd like to think that in a commercial environment I'd be able to simplify my work tasks sufficiently to be able to do the same.
- Mark
 
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
OK, I may be biased a bit (well, hell, I *am* biased), but I've worked both ways, and I can honestly say that I'd never, never, never want to go back to using the command line and a plain text editor to do my java development.
Some of the ways that IDEs make my life so much easier every day are (and I'm not just advertising the particular features of one IDE here: most IDEs have all these things and more):
- Integrated debugging (how anyone can cope with the intense fiddly-ness of jdb on a daily basis is beyond me.. well i guess there's always System.out.println() )
- Single keypress compilation (even using Ant)
- Source Control integration (not such a big issue for systems like CVS when you can always edit files depending on how you work, but a big plus for other SCM systems like Clearcase where you have to checkout before editing)
- General project management e.g. organization into packages (I don't miss having 129 MDI child windows open in TextPad and trying to find the files I'm working on)
- Integrated profiling (geez, how many tools do you want to set up your classpath in?)
- Refactoring. Sans-IDE this is a common cause of the 129 MDI child window nightmare mentioned above, coupled with the endless-cycle-of-search-and-replace. In many IDEs these days, I can just move a class or extract a method and wow.. it updates the references for me.
- Code insight. Some people love it, others hate it. To me, it's an alternative to switching to my web browser to look stuff up in javadoc all the time... ok I've pretty much memorized the order of the 11 parameters in GridBagConstraint's constructor these days, but it's always useful to have a reminder for the more obscure APIs
- Clever code editors. The code editor I use not only auto-indents, it automatically inserts closing braces for me and is generally very intelligent about java code and its syntax. I can tell it to sort out all the imports for me (narrow them, widen them, remove usused ones, sort them). I can comment out chunks of code, jump to the java code or the javadoc for the class of a field or variable in my code. Probably again a case of what you're used to, but whenever I switch back to TextPad to fix the odd one-liner, I really notice that I'm having to do all the drudgery that my tool normally does for me.
- Extensibility: if my IDE doesn't do what I want it to do, I can just hack some code together in Java and plug it in. I've got full access to a wealth of utilities for generating and parsing java code.
- UI Editors: OK, these are mostly the weakest link in most IDEs. Having said that, the code that they generate isn't usually too bad. I haven't seen many IDEs these days that generate proprietary code in UI, and if the IDE is half decent, you can freely hack about with the code outside the editor and it'll cope just fine. I use UI editors a lot to get the basics of my UI laid down (and in an effort to forget those 11 parameters to GridBagConstraints' constructor), then I tweak the code a bit in the editor.
...
And all of that's just scratching the surface. At the end of the day, I agree, it's a personal preference thing. There's also a bit of a ramp-up sometimes before you discover enough of the features of some IDEs well enough to get really productive in them. I still believe that most people are more likely to be more productive using an IDE.
Brian
 
reply
    Bookmark Topic Watch Topic
  • New Topic