aspose file tools*
The moose likes IDEs, Version Control and other tools and the fly likes What IDE Should I use? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Engineering » IDEs, Version Control and other tools
Bookmark "What IDE Should I use?" Watch "What IDE Should I use?" New topic
Author

What IDE Should I use?

Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182
I took a class in college for java programming for beginners but had a very bad teacher so during my break I am learning on my own in hopes to catch up.

I decided to buy Head First Java but I am wondering what IDE I should use? In my school they used JGrasp but I don't like it very much.

I am not sure if head first java recommends one or what but I have to wait till it shipped to me.

So I am wondering what IDE I should use I was thinking of just going to a full blown IDE like Netbeans since I figure I will eventual use it so might as well start now.

But it is pretty hard to use like I don't even know how to open a existing java program I wrote and run it in netbeans I have to take all my code make a new project, then make a new file and copy and paste the code in.

If I just try to open the file it won't let me compile it.

So I don't know if this the right approach or what....
Stephen Foy
Ranch Hand

Joined: Oct 17, 2005
Posts: 143
Good old textpad for me.


Stephen Foy - Microsoft Application Development Consultant
Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182
I want to use a ide I don't like using notepad.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24168
    
  30

TextPad is a programmer's editor, a mini IDE of sorts; it's not NotePad.

Although using NetBeans the first time may be daunting, you get used to it quickly.

I'm going to move this to our IDEs forum for further discussion.


[Jess in Action][AskingGoodQuestions]
Adam Price
Ranch Hand

Joined: Nov 11, 2005
Posts: 95
Originally posted by Michael Hubele:
I decided to buy Head First Java but I am wondering what IDE I should use? In my school they used JGrasp but I don't like it very much.

The headfirst book is great - I am learning a lot from it. It will definitely be different from your teacher - perhaps they will even complement each other (Head First is a little short on exerciseses like: "Write a procedure that calculates quadratic roots of a polynomial." It does a great job with concepts, though.)

I am not sure if head first java recommends one or what but I have to wait till it shipped to me.

They don't have one in particular that they recommend.

So I am wondering what IDE I should use I was thinking of just going to a full blown IDE like Netbeans since I figure I will eventual use it so might as well start now.


I tried
* NetBeans - it baffled me - I couldn't get anything to work.
* jEdit - it felt unstable and unpolished on my system (macOSX 10.4)
* DrJava - it was nice for snippets, but didn't autocomplete and didn't offer much feature-wise
* RedWood - ehh. Nah.
* Apple's XCode - decent but the syntax coloring was not as good as some others (it didn't differentiate into enough different types of text.
* I haven't tried BlueJ, but it looks interesting.
* I eventually settled on Eclipse - it obviously does more than I need for now, but I can ignore most of it, and am left with some great features - autocomplete, descriptive, realtime syntax checking, method/class/variable listing, good coloring.

Good luck
[ December 17, 2005: Message edited by: Adam Price ]
Abdulla Mamuwala
Ranch Hand

Joined: Jan 09, 2004
Posts: 225
Hello Michael

There are some real good IDE's out there. For a beginner its always good to start with notepad or a text editor. This is because an IDE will do all the compiling and executing for you and you would miss out on those important aspects of programming. Many beginners have had problems compiling and executing programs from the command line and in that process learnt some important aspects abot Java class files. Once you can run programs from the command line transfering to IDE's becomes more easier. Essentially you will know whats going on with your programs. Its like we see that the moon shines but it makes it more intereting when we also know that it is the sun's light which makes the mooon glow.I prefer the Eclipse, and more so the lunar eclipse.
Cheikh Sow
Greenhorn

Joined: May 23, 2005
Posts: 11
I think bluej is a good IDE for students the user interface is way simpler textpad is allright but has a price tag on it.
Ken Blair
Ranch Hand

Joined: Jul 15, 2003
Posts: 1078
Eclipse is my preferred IDE. I use Zeus for other text editing.
Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182
Intresting still don't know what to use I think I am going to try and stick with netbeans. I see what people are saying about learning how the compiler works and stuff from the command line but unforunatly I am not very good at the command line.

On top of that I am already very far behind in my course so I got to catch up as quick as I can. Like I would like to learn and compile with the command line and I might just do a couple simple programs in the command line while I am waitting for my book but once it comes I want to know how to use netbeans enough so I can do the basics and learn on the way.

So I am wondering if you guys could help me.

Like I am still confused with having problems with making new files,opening existing files that where made in different ides.

Like I am sort of getting it like first you got to make a new project to put it in. Then you make a empty file and you can start.

But I don't understand when I try to go and open a existing file made a while back that when I try to compile it in netbeans it won't run. I just can't understand why not.
Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697
    
    5

notepad... if you want to get good at writing perfect code, ESPECIALLY for EJBs...


My Blog: Down Home Country Coding with Scott Selikoff
Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182
EJB?
Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697
    
    5

enterprise java beans... I find extremely overused in this regard. If you're working with EJBs, you should have some ability to build them by hand before using an IDE.
Ty Oftrans
Greenhorn

Joined: Dec 14, 2005
Posts: 7
Michael,
Give BlueJ a try. It's very, very simple to use. Just download your java development kit, install it and then download BlueJ (find on Google). It's free and really simple to use. Has several advantages beside being THE SIMPLEST IDE. Does the job very quickly, you can test your methods separately, compile and run programs with a click of a button, graphically visualize how your classes connect to each other, etc, etc. I have used it in my Uni course (still using it) for two years. In my opinion, is not worth it at the moment for you to spend time learning how to use a big/complex IDE. My Java lecturer said: "Step 1: Learn Java using Notepad, TextPad or EVEN BETTER BlueJ. Step 2: Learn how to use a good, fully blown IDE. Step 3: Go earn some money".
It will take you less than 20 minutes to get the hang with BlueJ. If you need some quick learning notes on BlueJ I can send you a copy of what I had from 1st year at Uni (actually you don�t even need that - BlueJ is too straight forward to even need written instruction.

I was tempted to waist a lot of time to do things the other way around, especially because some very powerful IDEs were available for free. All my colleagues were ahead of me because they were worried to learn Java the simple way while I was worried to figure out how to do things using this amazing bits of software freely available. DON�T MAKE THIS MISTAKE! If you don�t like and have the time and nerves to learn how to do things using command line, don�t worry. You can do that later when you have more time (you definitely need to learn how to do that � it�s the basic thing you need to know). But for now just use BlueJ and concentrate on learning Java.

Ty
Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182
Cool I may give blueJ another shot I used it 2 years ago and I just had so many bad expirences with it. It turned me off but that was on school computers in my highschool so probably won't happen at home.

Does it have soft tab feature I need that since my teacher is very picky he made a program what checks you syntex like I mean he makes you have say an opening brace have 3 spaces infront of it and everything must be declared no magic numbers,no tabs,methods can't have more then certain amount of lines.

It is a pain in the ass since you loose so much vauleable time doing syntex when you should be learning how to do java. Like syntex is important but I think learning how to write code is more important.

Take this for example:

public static void main(String[] args)
{ (Right --- 3spaces)

if you had

public static void main(String[] args)
{ (Wrong --- 2spaces)

right out of the editor so the spaces may be off but you get the point.
Aaron Ting
Ranch Hand

Joined: Dec 13, 2005
Posts: 78
Originally posted by Michael Hubele:
Cool I may give blueJ another shot I used it 2 years ago and I just had so many bad expirences with it. It turned me off but that was on school computers in my highschool so probably won't happen at home.

Does it have soft tab feature I need that since my teacher is very picky he made a program what checks you syntex like I mean he makes you have say an opening brace have 3 spaces infront of it and everything must be declared no magic numbers,no tabs,methods can't have more then certain amount of lines.

It is a pain in the ass since you loose so much vauleable time doing syntex when you should be learning how to do java. Like syntex is important but I think learning how to write code is more important.

Take this for example:

public static void main(String[] args)
{ (Right --- 3spaces)

if you had

public static void main(String[] args)
{ (Wrong --- 2spaces)

right out of the editor so the spaces may be off but you get the point.



Hmmm... for Simple editing of java classes, i will use JCreator.. there are two versions.. one is the Pro and the other, LE... LE is a free distribution software while Pro requires some licensing.. But, in terms of performance wise, both are of almost the same.. only that Pro offers you auto-complete..

If you are going into web services and such, i would recommend either NetBeans or Eclipse.. but, if you are planning to use NetBeans, do ensure that your system have enough resources to utilise the software w/o much hassle.. else, try to switch to a smaller processing IDE..

Eclipse is not bad.. Open source and have quite a number of plug-ins for downloads.. can try that if you are a more advance programmer..

*just my 2cents worth..*


If you can't convince them, confuse them!
Masoud Kalali
Author
Ranch Hand

Joined: Jul 08, 2004
Posts: 531

Originally posted by Michael Hubele:
EJB?


Answer is simple ,
you can check Netbeans 5 beta . it provide most easy way to develop and deploy EJBs along with many good features like Swing Form designer , Web service support , a good editor , developers collaboration,Struts and JSF support ...

Grab it from
http://www.netbeans.org/
http://www.netbeans.info/downloads/download.php?type=5.0b2


Masoud Kalali
Software Engineer - My Weblog - GlassFish Security
Reza Ravasizadeh
Ranch Hand

Joined: Jun 08, 2004
Posts: 177
Most famous IDE is eclipse (specialy for beginners) it is free and downloadable from www.eclipse.org


Reza
Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182
Thanks all for your help I final figured out how to open a file in netbeans(I know it is a sad accomplishment) So I am on my way of learning how to use it I probably will get a book on it in the very near future(not sure how many good books they have on it might wait till a book is on 5.0) but for now I will just fart around with it and as long and as I can just do the basics in it I am happy.

And when I am rdy to do a more advanced thing in netbeans I will know the basics on how to do it.

I am sure I will have alot more questions to ask once I get my book and start programming. This forum seems to be pretty good you all seem to be very helpful and know what you are talking about.
Kirtipur Itagol
Greenhorn

Joined: Oct 11, 2005
Posts: 23
Hey Mike!
Not only the working code is necessary but also the structure of the code counts a lot while you work in a group. It makes you as well as your teacher or any third person to read and understand your code easily and quickly. So, I think you will be better off accepting your teacher's/professor's code snippet writting rules. Because life will be easier with that coding practice! Don't think that you will write / read 10 lines of codes in a real world scenario, there will be thousands dude, so make it as a habit to maintain your code snippets like your instructor said!
Michael Hubele
Ranch Hand

Joined: Dec 17, 2005
Posts: 182

Hey Mike!
Not only the working code is necessary but also the structure of the code counts a lot while you work in a group. It makes you as well as your teacher or any third person to read and understand your code easily and quickly. So, I think you will be better off accepting your teacher's/professor's code snippet writting rules. Because life will be easier with that coding practice! Don't think that you will write / read 10 lines of codes in a real world scenario, there will be thousands dude, so make it as a habit to maintain your code snippets like your instructor said!



Yes I understand what you saying I don't deny that is good to have some fourm but as it stands now I don't think it is right to push it so hard. Yes you will not always be writting 10lines of code but when you can barely write 10lines of code then you might want to consider teaching them more how to code.

Like I find more then 60% of my time went to syntex fixing then writing the code. That is not right since you need to learn how to code more then you need to know syntex in the beginning. That is nice I can do more or else proper syntex but its not going to be much use since I can't write much code.

So I don't think in a beginners level course, syntex should be stressed so much that it takes over the most important thing learning how to write the code. It is good to stress and have at least some sort of syntex just to make it easier to read but hold off till the advanced java course to start pushing that.
Abrahim Daver
Ranch Hand

Joined: Aug 06, 2004
Posts: 69
From my personal experience I would prefer to use Eclipse IDE.
vipul patel
Ranch Hand

Joined: Oct 16, 2005
Posts: 146
can you point out the link to download Eclipse IDE for windows2000?
Masoud Kalali
Author
Ranch Hand

Joined: Jul 08, 2004
Posts: 531

Originally posted by Abrahim Daver:
From my personal experience I would prefer to use Eclipse IDE.

I used eclipse until until netbeans 4.2 (5) , but now i can suggest that Netbeans is for my job far ahead of Eclipse.
Hendy Setyo Mulyo
Ranch Hand

Joined: Dec 01, 2004
Posts: 219

I think the best Java IDE for me is IntelliJ IDEA because it has so many built-in features inside, but it needs license, unless you use IDEA for an open source project (CMIIW). But for me Eclipse it's quite OK and has so many plugins out there...


Hendy Setyo Mulyo
SCJP 1.4 (95%), SCWCD 1.4 (94%)
Sanjaya Sugiarto
Ranch Hand

Joined: Mar 25, 2004
Posts: 229
Eclipse for Windows works with all version of Windows.

Originally posted by dilip agheda:
can you point out the link to download Eclipse IDE for windows2000?


<a href="http://www.wi.hs-furtwangen.de" target="_blank" rel="nofollow">Business Information Technology - Hochschule Furtwangen University, Germany</a>
Roger Chung-Wee
Ranch Hand

Joined: Sep 29, 2002
Posts: 1683
I decided to buy Head First Java but I am wondering what IDE I should use? In my school they used JGrasp but I don't like it very much.

Check out what Kathy Sierra had to say.
IDE Warning


SCJP 1.4, SCWCD 1.3, SCBCD 1.3
Nawar Gailani
Ranch Hand

Joined: Feb 08, 2005
Posts: 46
Michael Hubele:
you said:
�I see what people are saying about learning how the compiler works and stuff from the command line but unforunatly I am not very good at the command line�.

I think (and any Java programmer i suppose) will advice you to be very good at the command line (concerning Java commands). You don't have to learn a lot about it! It is really easy, for example, you wrote a class in file called MyClass.java in a folder called c:\LearningJava right? Then you open your command prompt (in M$ windows) or terminal (linux) then you type:
cd /
cd LearningJava
javac MyClass.java
java MyClass
That's all!
cd is change directory, and cd / (with space between them) put you in the root (c:\ for windows for example) and then you change the directory to where is your folder is (this apply on linux as well).
javac is Java Compiler and java is to run the MyClass.class that was generated from javac, got it? You will read in every java book for beginners this information. Of course MyClass should contain a main method which javac will search for it when you execute it. You really should consider this as the ABC of Java and believe me if you escape this for now, soon or later you will come back and try to understand it, so why you don't understand it from now?
As for IDEs, I don't think you will benefit from them now. Netbeans, eclipse ..etc are not designed for beginners, but for production at first place, of course you can use them to learn but i don't think it is now the right time.
The best way in my opinion is using Text editor that has syntax highlighting and auto indent, just think of it as advanced notepad. I recommend crimson editor, it is free and fast (but of course there are many other free and commercial good ones and for linux, there are many very good text editors mostly included when you install it like gedit or kate ..etc).
Write your java file in it then compile (javac) and run (java) from the command line. When you feel comfortable with this, (which will take one day maybe), then you can try Jcreator LT (or whatever you like) which is free and compile and run from clicking the buttons.
Anyway if you want to use Netbeans (or eclipse) first make new project (say MyProject) and then make a package (say mypackage), then right click on mypackage and make new java class. But keep in mind that these IDEs will protect you from understanding the class path.
As for Java coding style, I recommend these links (or just google for java style):
http://www.javaranch.com/style.jsp
http://www.webcom.com/haahr/essays/java-style/single-page.html
I took java course for 4 months and the teacher immediately used NetBeans (it wasn't a course for absolute beginners) and after few days we took swing then database connection ..etc. I found my knowledge about Java really not that good after the course, so i studied the basics very well with two books (1. Sun Certified Programmer & Developer for Java 2 Study Guide by Kathy Sierra, Bert Bates, 2.A Programmer's Guide to Java Certification: A Comprehesive Primer, Second Edition by Khalid Mughal, Rolf Rasmussen) and i used text editor mainly but also eclipse for identifying the errors fast. After about 6 months of hard studying, i got certified as SCJP and now i feel comfortable using the IDE without any additional book about it and I'm writing two (commercial) programs now using Netbeans 5, but soon i will prepare for the SCWCD and return to the Text editor.
So, in short when I want to learn new stuff, i use Text Editor, and when i feel comfortable with the concepts at least, i use my favorite IDE.
Hope this little (and messy!) information gives you (and the new comers to Java) something useful.
Good luck
Stuart Goss
Ranch Hand

Joined: Mar 21, 2001
Posts: 171
Hi Nawar, I read your post (!)

I am just switching from TextPad (textpad.com) to NotePad (pnotepad.org).

I have previously been using Eclipse when learning Java, but Eclipse just takes over when you start to write, which is not helpful as a beginner.

Stuart
Ryan Zezeski
Greenhorn

Joined: Mar 13, 2005
Posts: 29
If you really want to learn you should use a basic editor (as a few people already mentioned). The problem with IDE's is they are made for the experienced programmer who wants to develop/deploy with speed (thanks to the many tasks they automate for you). In most cases an IDE is more of a hinderence than anything when it comes to simple applications (and even as a J2EE developer I find Eclipse to be more of a distraction than anything). One major problem with a novice using an IDE is the oh so clever auto complete option. It allows novice programmers to guess at the right method without reading the proper API documentation (even the more advanced developer could fall victim to this if he/she gets lazy). If you really want to be well rounded work in a unix/linux environment or at leaste download cygwin.

As for thoose suggesting Notepad...you can't be serious? Possibly the worst text editor you could choose. That's like using a plastic knife to cut a steak. Textpad is better, but still lacking in my opinion. If you want to be well rounded and be fast, use a real editor like Emacs or vi. vi especially, because if you ever need to work with unix based systems it is likely the editor you will have to work in. I used to like developing in Eclipse and IDE's in general, and then decided to learn emacs because of my boss. Lets just say I don't care if I ever use Eclipse again.



To sum up: Emacs or vi, you'll understand Java better and be able to use one (or both) of the most powerful editors out there...period.

EDIT: Flame suit on.
[ January 08, 2006: Message edited by: Ryan Zezeski ]

Java has 99 problems but a pointer ain't one
Peter Mount
Greenhorn

Joined: Jun 17, 2005
Posts: 7
There's also a freeware version (as well as the 30 trial of the Pro version) of JCreator at:

http://www.jcreator.com/download.htm

I used both JCreator and TextPad in my Java studies. They both seemed pretty good for people new to Java.

Peter Mount
shreevinayakh balasubramaniam
Greenhorn

Joined: Jan 02, 2006
Posts: 4
hi ranch hands,

im a beginner and i sue eclipse 3. i feel its good for java applications. but when i comes to jsp it doesnot support jsp by default. any free plugins for that ??? will be helpful for me becoz im more accustomed to using eclipse. i've also used netbeans which has full support to jsp.


thanks,<br />shreevinayakh
Rob Hunter
Ranch Hand

Joined: Apr 09, 2002
Posts: 805
I already posted this in another "topic" but no response. Out of all this IDE is there one that is good for HTML, JSP, and Perl? Oh, and free. Thanks.

Rob
Shay Shmeltzer
Greenhorn

Joined: May 03, 2004
Posts: 23
Try out JDeveloper
http://oracle.com/technology/jdev

It is free.
And beyond the things you get in netbeans you get:
Visual UI editor not just for Swing, but for JSP and JSF also.
For the Struts and the JSF controller you don't just get code inisght - you get a visual page flow diagram
For EJBs it supports EJB 3.0 and it has POJO creation from tables also
Full Web services including visual WSDL editor - publish and consume web services and more
More refactoring then netbeans (over 35).
Code auditing, code profiling.
UML modeling
XML development
DB development and much more...

Just download the new 10.1.3 and try it out.
Abiodun Adisa
Ranch Hand

Joined: Jan 17, 2002
Posts: 495
For a beginner would recommend Jbuilder , The foundation Edition is free , its one of the best IDEs i have used, it can automatically jar up your project and produce executable jars for Linux, Windows..
The Enterprise edition is a whole different story but cost $$$$$


Its the best out there
Dave Tuttle
Ranch Hand

Joined: Jan 18, 2006
Posts: 34
Why does no-one mention JDeveloper? Commercial-grade and totally free.
Will Fleming
Greenhorn

Joined: Sep 28, 2005
Posts: 20
Emacs or vi both work great. I like vi for quick editing or small files, but emacs is nice when the project gets larger. Both have windows versions which are lightweight and darn handy to have.

Right now, I am trying to learn Eclipse and it is a bit of a hassle dealing with it, so I may skip it. It looks great and does a lot of work for you, but I still end up getting frustrated trying to do what seems like a simple task. Rather than learning Java, I am learning how to use Eclipse which may or may not be worthwile.

One other advantage of a simple text editor is that you would be able to migrate to one of the IDE's fairly easily, but that might not be true if you go from NetBeans to Eclipse.

As mentioned, Linux seems like a much better enviornment to develop on than windows. Never tried Mac OS's, but it seems KS&BB like Macs in their books so you might give that a try.


SCJP 1.5
Will Bramble
Greenhorn

Joined: Jan 21, 2006
Posts: 10
Another vote for NetBeans here, it's a fantastic IDE. A very handy feature for beginners and experts alike is the Javadoc pop up for each method etc, as part of the code insight feature in the editor. Very difficult to go back once you're used to having this..

And maybe also a vote for the new JDeveloper 10.1.3, which as already mentioned has a huge amount of features for a free IDE. Have tried it and for the most part it's very nice to use. Once some of the bugs and other niggly things (eg. not recognising some valid 1.5 code) are sorted out it may well be a contender for the front-runner of Java IDEs.

For those touting things like vi, emacs, Notepad, etc, I assume you're not ever having to build GUIs? A decent IDE is a good tool to have even for beginners. If you want to get down and dirty and familiar with the command line options, just read the docs, open up a command shell and give it a try from there. And looking at the Swing code generated by a good visual designer tool is a handy way to learn how layouts and other components are pieced together. IMHO.
Cathy Song
Ranch Hand

Joined: Jul 01, 2003
Posts: 92
Try jGRASP - it's really easy to use.
jgrasp.com

And IMHO the best beginner Java book that I have ever used is Java Software Solutions - http://duke.csc.villanova.edu/jss1/index.html
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: What IDE Should I use?
 
Similar Threads
What IDE Should I use?
Is it netbeans or is it me?
About Joe's Book
Is Eclipse really this hard? And how did it get so popular?
JSTL/JSF/Velocity