This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
If so, say which language and which IDE. I'm starting to feel like I should stop using JBuilder for Java. I feel like I'd learn more about the language and individual packages if I used UltraEdit and the cmd line compiler. Java = JBuilder 6 Enterprise .NET = VS.NET Professional HTML/XHTML/CSS = UltraEdit
I'm starting to feel like I should stop using JBuilder for Java. I feel like I'd learn more about the language and individual packages if I used UltraEdit and the cmd line compiler. I would agree with that but many wouldn't. Of course I'm an old fart that started out using punch cards and moved up to vi on dumb terminals, so using the cmd line comes natuarlly for me. I use TextPad which has shortcuts to compile and execute Java apps. It also has syntax highlighting which can be customized to suit. I really do think you will learn more if you abandon the IDE for a while and later you can go back to using one if you wish.
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher
i think it depends. yes, you will know better about the language w/o ide, but, some company use ide, so to apply for the positions there, you have to know the ide. i am using editplus now, it is not a ide, just a tool convenient for ftp between computers. i guess nobody will have concern about forgetting ftp command.
Joined: Sep 14, 2002
At the Java jobs I've had, I always used JBuilder. I know it quite well. I'm in college still and we're getting heavy into Swing. I feel like I might learn more if I try and use UltraEdit instead of JBuilder. With UltraEdit, I get text highlighting. I'll just have to use the cmd line for compiling and the online api for method calls.
Sometimes I use the NetBeans IDE, sometimes I use jEdit, and sometimes I use a Win32 port of vi Medium scale Java projects: I use NetBeans when I have to manage more than just *.java files. Web applications typically have multiple Java packages, third party jars, properties files, perhaps a tld or two and the mandatory deployment descriptors. I think the key benefit of a good IDE is Integration. File templates, code completion and keyword highlighting are nice conveniences (and are also found in most text editors), but integration with Ant, Tomcat, CVS and other third party modules provides the actual productivity gains. NetBeans has pretty good project management capability, and I like the HTTP monitor and database explorer too. I just taught myself to write ant scripts in the last couple of days, using the integrated ant tool. I like being able to build my project, generate javadocs, package a war file and deploy to a test server with a simple right-click and select. Checking Java and Perl code snippets and writing small projects: Sometimes firing up NetBeans is just too much for those simpler jobs. I use jEdit for these, and I still get some convenient compiler integration and formating via the many steroidBeans that are available I use the OpenPerl IDE for writing my Perl scripts. I get code highlighting and debugger integration with that. (It's just barely an IDE.) Having written a fair amount of Fortran77, and my entire MS thesis (in nroff no less) in vi, I feel confident that I can adequately fill the role of text editor curmudgeon, but I like NetBeans, and will continue to keep the latest version in my virtual toolbox along with a variety of useful text editors. And I will always have a port of vi on any platform that I use, if for no other reason than to bug Windows weenies and spite Emacs users [ May 31, 2003: Message edited by: Philip Shanks ]
Philip Shanks, SCJP - Castro Valley, CA
My boss never outsources or has lay-offs, and He's always hiring. I work for Jesus! Prepare your resume!
Yes, I do use an IDE: IntelliJ IDEA (which I first heard of in this forum). It saves me a lot of time offering code completion, reformatting and templates. Refactoring is a great feature, too. The navigation within program code is fantastic and debugging support doesn't slow down the system to a crawl. Chris, you mentioned that there will be a lot of Swing to do for you and you want to learn as you are working - great! The IDEA won't keep you from worrying about your user interface layouts as it doesn't come with a GUI builder like JBuilder. Have a try and keep having fun!
I also use JBuilder - sometimes but have recently started to use JEdit and often use NotePad. I think you do get a better feel for things without the IDE. In notepad or JEdit for example there is no automatic error checking like in JBuilder so you have to actually think about that you are typing and of course it always helps to be able to use the command line prompts. There are also lots of benefits of not using JBuilder - in the later versions you have to create a project to even run a file but not so if you use an editor and then compile by command line. Also there are always numerous things to configure for each JBuilder project but once you have your JDK up and running it will (hopefully) stay that way. Have a play around and if you don't like it you can always go back but I think you will see some benefits once you get used to the difference.
Originally posted by Chris Stewart: If so, say which language and which IDE. I'm starting to feel like I should stop using JBuilder for Java. I feel like I'd learn more about the language and individual packages if I used UltraEdit and the cmd line compiler.
I agree with this, get yourself a Textpad. It's really good and free. - Manav
I don't use Java that heavily yet, so I don't need all of the power of the big ide's, so I use JCreator LE which is a small, fast loading ide. I can get in quick make the changes and compile from within the interface. It also includes syntax highlighting.
I use an IDE at work, but it is for a proprietary language, written in the same language. I am in the process of learning Java and have decided not to use an IDE, or even something that highlights text, until I pass the SCJP exam. Why? I am glad you asked The exam is not going to have things highlighted. I think it would be best not to get used to having highlighted/customized text and then have to go into the exam without that. I am brand new to Java though. It might be different if you have move experience. John
I am using Scintilla text editor: SCiTE. It provides highlighting and keyword highlighting for about 40 different languages and compiles within the editor, line numbering, tab or space definitions and a host of other options. I have used JCreator LE, Eclipse and JBuilder, TextEditor, Notepad and Poseidon but at this point, as a beginner, do not like being distracted with being forced into workspaces, packages, etc. Just focusing on language. I do like JCreator LE though.
TextPad and UltraEdit are NOT free ... true, you can download them for free, but if you are honest, you are supposed to pay for them. For Java, Eclipse is a VERY good IDE. It is truly free, too! And, since it is the foundation for IBM's WebSphere Development Studio, it will be good to know if you ever migrate to that. Yes, there is a bit of a learning curve to Eclipse, but (FINALLY) there are a couple of books out there on it now: Eclipse in Action by David Gallardo (Manning) and The Java Developer's Guide to Eclipse by Sherry Shavor (Addison Wesley). I recommend the former; it's easier. Give Eclipse a try; it's free and it's really cool! [ June 04, 2003: Message edited by: Jim Pleger ](Eclipse Homepage) [ June 04, 2003: Message edited by: Jim Pleger ]
Originally posted by Jim Pleger: For Java, Eclipse is a VERY good IDE. It is truly free, too! And, since it is the foundation for IBM's WebSphere Development Studio, it will be good to know if you ever migrate to that. Yes, there is a bit of a learning curve to Eclipse, but (FINALLY) there are a couple of books out there on it now: Eclipse in Action by David Gallardo (Manning) and The Java Developer's Guide to Eclipse by Sherry Shavor (Addison Wesley). I recommend the former; it's easier.
Jim - Thanks for the info regarding Eclipse. For myself, I've been using Netbeans for some time, and I like it. I supplement Netbeans with UltraEdit (which is a great text editor and well worth the license fee). Several co-workers are using Eclipse, though, and from what I can tell it offers a lot of extra features that aren't (as far as I know) available in Netbeans. However, I've not yet been able to work out how to configure Eclipse to suit my needs, and the learning curve has been what's held me back from using it. I will certainly check out the books you mentioned. Suzanne
hi, I prefer emacs. it is available for several paltform and you can really customize it for your needs. a developer can't imagine better ENVIRONMENT than emacs. ok, I admit when I really started from beginning I felt it very hard. but come on, after I learned its philosophy I really felt like pushing 'turbo' button. so, don't be shy and download it!
I definitely think that you are depriving yourself of a good learning opportunity when you use JBuilder for GUI stuff. I also think that JBuilder GUI builders write bloated code and put in some propriatary stuff which means it is not as portable.
JavaBeginnersFaq "Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
I mainly use JCreator for JAVA files. However, I have found myself using Visual Slick Edit more and more as I have gotten into Web Apps. I use these 2 because they are still simple enough that there is not a lot of oerhead but they have code completion, syntax highlighting, and compile shortcuts within the Editor. I have tried using Netbeans, Eclipse, JBuilder, JDeveloper, etc, but I find that I am spending too much time learning the IDE and not enough time getting things done. I will say that if I ever did decide to take the time to learn an IDE it would probably be Netbeans.
I would advice to start with a simple text editor to learn the basics of Java. Once you groked issues like classpaths, compiler switches etc. you should switch to an IDE to make you more productive. My preferences for an IDE would include a good refactoring browser, syntax highlighting, early syntax error recognition, good code assist (including smart templates) as well as good Junit and Ant support. For me, that currently means to go with either IntelliJ IDEA or Eclipse... I haven't yet found a GUI builder I would prefer over hand-coding GUIs...
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
I'd like to add my tuppence. For a long time I have been strongly against IDEs, for many of the reasons stated above. Up until quite recently, I had never found an IDE that offered anything useful that basic syntax-highlighting editor didn't. You can't get much simpler than clicking "Save All" in TextPad then hitting up-Arrow Return in a command line for a rebuild. And many IDEs overcomplicate things that ought to be simple (like building your executable using Ant rather than some limited and built-in project management, or having two versions of a class, one for JDK1.3 and one for JDK1.4, etc. etc.) A few months ago I finally found two "killer" features that has got me using an IDE. The first feature is refactoring. I have become addicted to the refactoring support in Eclipse, and I hear IDEA may even be better. Being able to casually change the name of a class or method, or move a class to a new package, and be sure that every reference is safely updated is fresh and liberating. The second feature is CVS support. Finally I have found a CVS client which works the way I want - I change a whole load of stuff, when my unit tests pass I just click Team >> Synchronize and Eclipse works out what I have changed, added and removed. No more fretting about which files I have changed, or remembering to manually add newly created or renamed files to the repository. Hooray! For the use of these two tools, I'm willing to put up with Eclipse's strange project model, large size, slow load time and confusung documentation. I'm even willing to put up with the way it lacks some simple, obvious features (like the ability to edit files outside the "project"). I still use TextPad for all my editing tasks that don't involve Java source code or CVS, though.
I recently started using Eclipse and stuck on for the same reasons that Frank did. I'm also a big fan of the code generators adding tasks to my list. I'm moving more away from using a text editor at all though because I've discovered I can do much of it in the IDE right along with my programming. I do think that it is a bad idea to use an IDE when you first start out. With a text editor and a command line you get a much better feel for what the IDE is doing for you behind the scenes.
I think for beginner it is a good idea to use a text edit for several months so that one can really understand package, class path etc.. For a real project, I believe one has to use an good IDE. I recommend Eclipse, highly.
BJ - SCJP and SCWCD
We love Java programming. It is contagious, very cool, and lot of fun. - Peter Coad, Java Design
I use ArcStyler (http://www.ArcStyler.com)for J2EE/EJB and .NET. ArcStyler is so called architecture IDE for OMG's Model Driven Architecture. I agree that using UltraEdit or similars you can learn more deeper, but in professional world where customers are paying for rapid development and quality, IDEs are obligatory.
Chris: At the Java jobs I've had, I always used JBuilder. I know it quite well. I'm in college still and we're getting heavy into Swing. I feel like I might learn more if I try and use UltraEdit instead of JBuilder.
Definately for learning how layouts and the graphic components really work you dont want an IDE. I do use JBuilder, but I never go into their drag and drop gui builders. When I was learning, I used UltraEdit, and since I had to look up the APIs every time something didnt work, or I wanted to learn how to do something, I learnt far more than if I had just used JBuilder.
Chris: With UltraEdit, I get text highlighting. I'll just have to use the cmd line for compiling and the online api for method calls.
If you use ant, it is very easy to set up the common ant tasks as custom commands in UltraEdit. I rarely went to the command line for anything. If you want to know my UltraEdit commands, let me know and I will send them to you.
Gabor: I prefer emacs. it is available for several paltform and you can really customize it for your needs. a developer can't imagine better ENVIRONMENT than emacs.
I still use vi a lot. There is nothing like it when you have to telnet to a client site and edit a file. I learnt vi because emacs was not always installed on client computers (different these days I know) and have never bothered to learn emacs since then.
Marilyn: I also think that JBuilder GUI builders write bloated code and put in some propriatary stuff which means it is not as portable.
I agree about the bloated code. Furthermore it sometimes puts code in places that are non intuitive, and is not always inteligent about how to do a constructor for various items (it will quite often use an empty constructor in one section of code, and then set an option on the object in another section of code when it could have done it all as one option). However it only puts proprietary code in if you choose a JBuilder specific option (I have never seen it put proprietary code in otherwise), and there is an option that you can set for the current (or all) projects to tell it to only use standard Java.
Greg: I find that I am spending too much time learning the IDE and not enough time getting things done.
I find that I spend too much time in JavaRanch and not enough time getting things done .
Ilja My preferences for an IDE would include a good refactoring browser, syntax highlighting, early syntax error recognition, good code assist (including smart templates) as well as good Junit and Ant support.
good refactoring browser - free add on
syntax highlighting - built in
early syntax error recognition - built in (annoys me sometimes)
good code assist - built in
(including smart templates) - built in
good Junit support - not built in, dont know if it is available as an add on.
good Ant support - built in for later versions, available as a free add on for earlier versions.
Regards, Andrew [ June 09, 2003: Message edited by: Andrew Monkhouse ]
I'm perverse. Most of my work I do on a P-200 machine with only 100MB RAM. For that I can Emacs with JDE. No Java-specific IDE runs at an acceptible speed in an environment like that. Most of the time, that's sufficient, though JDE's not the most polished IDE around. When the going gets tough - that is, when I need interactive debugging - I migrate the project to my Athlon 1800 and bring up Eclipse which I consider to be one killer Java IDE. I've used NetBeans to good effect as well, though back then it was named Forte. As mentioned, Eclipse has a thing about editing - or even viewing - files outside the project. Also, the Linux version has printing disabled.
Customer surveys are for companies who didn't pay proper attention to begin with.
i've recently started experementing with ide's/editor....i used JBuilder for a while..its pretty decent..but i found it to be a little slow at times(or is it my machine?? )...i switched to eclipse 2 weeks back and so far iam loving it!! and what's more its free!!..i have started recommending it to collegues/friends and everyone seems to be loving it too
It was too tempting not too comment on such a fine thread. This is my first post on JavaRanch and am falling in love with all the activity that goes on here. I have been useing HomeSite (used to be Allaire and now Macromedia) since graduation, mainly as I came from Cold Fusion / PHP background. Have played with JBuilder in Uni days but my company can not afford it so never go into it. I have been using Java for a year now on projects and felt I learnt a lot by using HomeSite as an editor and ant for doing all my build activites. Have tried JEdit, it was appealing at the beginning but then used to crash a lot, give me a hard time so I dropped and continued with HomeSite. I am now looking to test ECLIPSE and have read some very encouraging comments above. - FK
The secret to creativity is knowing how to hide your sources.
Originally posted by Chris Stewart: If so, say which language and which IDE. I'm starting to feel like I should stop using JBuilder for Java. I feel like I'd learn more about the language...
I used to use JBuilder, but for a recent project my Prof. insisted that we create all code for graphical objects ourselves, so I switched to CodeWarrior 5.0, which does less of the work for you in object libraries. I'd say it's well worth learning to code in a language from the most basic set-up possible (text editor etc), for the simple reason that it's cheaper. Bonnie
I too can't pass up such a juicy topic. So here's my two cents worth. I use an IDE for my Java development (JBuilder9 currently, though I started with JBuilder4 and actually played w/ JBuilder when it first came out) and did so with C++ when I mainly programmed in it. IDE's give you lots of built in goodies and assist in getting the job done quickly b automating things. All this comes with a price though - you have to do it their way. That being said, there's nothing to stop you from learning the language as deeply as you wish while using your IDE. If there's a feature you don't want to use then don't. If you really want to learn Java, then work through the Sun Certified Java2 Programmer, and Sun Certified Java2 Developer programs. I learned tons more studying for the SCJP, and working on the (not quite finished yet) SCJD project. Learning to use your tools includes learning when to ignore them, too. Burk
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Not sure I can add much more than what has already been said but here's my two cents. I started with java using TextPad and a command window. Then began using bat files to perform my build. Then I moved to Visualcafe. I then switched back to TextPad and did my builds using ANT scripts. I am currently using NetBeans and building from within NetBeans using ANT. The features I liked most when using the IDEs were code completion, debugging, and the ease with which I could build GUIs. The features I liked least using IDEs were the overhead in learning to use the IDE as well as the understanding how to configure/control the internal environment.
I recently had to evaluate Eclipse(www.eclipse.org) and Intellij Idea(www.intellij.com/jetbrains) for my team.(we develop only in Java) I came to prefer Idea (probably because I used it first and got used to all of the shortcuts), but I can break down some of the differences and similarities. The first major difference is cost. Eclipse is free. Idea costs around $400 a seat. Eclipse has really good integration with JUnit. It will generate test cases for you, and the run right inside of the IDE. Idea supports JUnit integration, but it isn't as good as Eclipse. It basically just pops up the JUnit GUI window and runs the tests that you want it to run. I'm sure you could create a file template to generate your tests for you, I just haven;t done that yet. Both IDEs support various automatic refactorings, but the number that Idea supported was much larger. Both IDEs supported code completion, and will highlight errors and warnings. You can fully customize the coding style (where to place braces, etc.) in both IDEs. You can automatically view parameter lists, or automatically jump to javadoc, or actual code in both IDE's as well. Idea has this wonderful thing called code inspection that will scan your entire code base and tell you when files, or functions or variables arent being used, or if you should change access modifiers, and things like that. That feature is really good to use along with the refactorings to clean up existing code. There are some other things that they both do, such as built in support for ant and cvs. I would really reccomend either of them, but it is best to just download them both and see which one you like.