File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes JDK or IDE  ?  whats best to start ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "JDK or IDE  ?  whats best to start ?" Watch "JDK or IDE  ?  whats best to start ?" New topic
Author

JDK or IDE ? whats best to start ?

Mat Hillman
Greenhorn

Joined: Jul 14, 2002
Posts: 2
Looking for some advice from the experts here,
I'm just completing a course at the UK open university that uses Java to teach OO concepts,
I've decided now that I want to go on and learn Java properly, maybe even get certified, and have noticed that the IDE provided by the OU, Jbuilder 3.5 is rather out of date! (and will technically be unlicenced after the end of my course)
So do you experts out there suggest a newbie use the JDK/Notepad route or should I looks to aquire a more up to date IDE ?
Mat
John Dale
Ranch Hand

Joined: Feb 22, 2001
Posts: 399
I don't think you can go wrong starting with a text editor and the JDK (Java SDK). Notepad is a little weak; you will quickly get to where you want something that can go to a line given its line number, or show line numbers. I've enjoyed EditPadPro, but there are plenty of free editors as well. (EditPad may still have a free version as well.)
Most Java IDEs have features that are important for production development, but that can be a real distraction from learning. However, I've read good things about BlueJ, and IDE designed for teaching OOP with Java. So if you consider an IDE for starting, you might want to look at that one. I've not played with it.
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9046
    
  10
I recommend a text editor like Textpad, UltraEdit, DOS Edit or even Notepad (You'll need to save files with "" around the file name) rather than an IDE to start with because you'll be able to concentrate on learning java rather than learning the IDE.


JavaBeginnersFaq
"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
Sam Smoot
Ranch Hand

Joined: Apr 18, 2002
Posts: 238
I liked TextPad, but for a simple environment that will give you some assists, I've found JEdit ( www.jedit.org )to be great to learn with. It was developed in JAVA. ( I'm having to struggle with learing Java and Websphere Application Developer Studio at the same time.... AAAIIIEEEE! I often have to switch between them to see what in the *&^%$ is going on...)
The only thing about JEdit is the fact you need to add the console plugin to get the compiler to work from the editor. There are, however, several plugins that can make your coding experience easier while you are learning without mucking it up with alot of vendor specific "stuff".


CNSS/NSA Infosec Professional,<br />Software Engineer
ryan headley
Ranch Hand

Joined: Jun 28, 2000
Posts: 156
Once you get a little more established, you can graduate from Notepad like things and move on to Eclipse. I use it all the time! I like it better than visual age or blueJ.
I think its at www.eclipse.org.


Ryan Headley<br /><a href="http://www.sudovi.com" target="_blank" rel="nofollow">http://www.sudovi.com</a>
Luther Adon
Ranch Hand

Joined: Apr 27, 2002
Posts: 51
I concur with what has been already stated. I tried to learn Java with VAJ and you miss a lot of under the hood stuff and thus, your understanding suffers. Learn with Notepad, textpad etc then once you know what's going on use an IDE.
Sam Smoot
Ranch Hand

Joined: Apr 18, 2002
Posts: 238
In the light of this discussion, has anyone used Micro$oft's Visual J++? (just curious, not overly serious)....
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9046
    
  10
It is my understanding that Visual J++ is no longer supported, having been replaced by J# in the .net studio.
Sam Smoot
Ranch Hand

Joined: Apr 18, 2002
Posts: 238
Yeah, I know, but "used" software is cheaper and I don't want to fall into .net land.... (actually, my machine won't run it since I don't have XP or 2000 at home...).
Like I said, I was curious, but not desparate...
Mat Hillman
Greenhorn

Joined: Jul 14, 2002
Posts: 2
Well thanks for all the advice everyone, that seems pretty unanimous !
<mat throws Jbuilder CD in the bin>

Mat
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937

<mat throws Jbuilder CD in the bin>

I am actually using JBuilder 7 and I am happy with it. However, I am not a beginner, and I would agree that you probably dodn't want to start learning Java with a full blown IDE. But I am jsut curious, how do you people with all these TextPad/NotePad/DosEdit editors debug your Java code? Put in a thousand of System.out.println()?
Eugene.
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9046
    
  10
I debug as I go. I don't wait until I have an entire project with thousands of lines of code before I debug. Besides, a beginner won't be writing programs larger than System.out.println() can handle for a while. Not only that, but many senior Java engineers use a text editor and not an IDE without problems.
John Dale
Ranch Hand

Joined: Feb 22, 2001
Posts: 399
When you are beginning, System.out.println() is a good idea. After a while, you even learn the shortcut of creating a method like log(String), so you can easily turn the output on or off, or add a prefix telling what class it came from.
Then, if you are lucky, you learn test-first or test-early using JUnit, in which case, a debugger will probably not ever get much use with use with your code.
Eventually, you will move on to an IDE, where you have a debugger if you ever need it.
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937

I debug as I go. I don't wait until I have an entire project with thousands of lines of code before I debug.

Well, our project is about 300,000 lines of code in about 1500 classes. We use JUnit and other testing and profiling tools. But if there is a problem in the code, I like to actually go through the code and debug it (view the call stack, variables, evaluate expressions, etc).
Will TextPad be of much use? I am just curious why free IDE's (like JBuilder Personal) are not as popular as I would expect them to be.
Eugene.
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
I would say that by the time you have a project of that size, absolutely you should be looking into getting a good IDE if you don't already have one. But most of the previous responses were addressing the question of what to use when you're learning Java - and for that, IDE's often jump over many of the details that, while tedious, are important for all java programmers to understand. First, learn Java with the basics, and then get a good IDE to simplify dealing with complex systems.
For what it's worth, I don't actually use debuggers much - most of the time I end up relying on the logging systems I build into my programs (set to "verbose mode) and on the inherent behavior of Java's exception facilities. Sometimes I find a debugger useful, but more often it's unnecessary overhead to me. What I do find IDE's invaluable for is organizing large numbers of classes and packages, allowing me to navigate them quickly and easily. When I see a method invocation, I love being able to right-click on it to locate the source code defining that method.
I am just curious why free IDE's (like JBuilder Personal) are not as popular as I would expect them to be
<rant target="borland" relevance="tangential">
Well, I've been a JBuilder fan since version 4 - I bought JBuilder 5 Pro with no regrets - but lately I've been getting disillusioned. First, it seems their release schedule is trying to get me to pay for upgrades too frequently. I bought the just-released 5 Pro in May of last year, and they're now at version 7. If I'd actually wanted to keep my Pro version current, that would've been $800. I'll check out Personal first to see if I really like it, thanks. For some time they kept announcing that JBuilder 7 was "released" (seemingly including the Personal edition here), and when I went to the actual download page I could only find version 6. Just recently they made a separate announcement for the release of 7 Personal, and yes indeed it was finally available. But when I donwloaded it, I found that despite claims to the contrary, it appears that it can still only use JDK 1.3, not 1.4. Screw that! I have since downloaded the latest versions of Forte and Eclipse, which do both support 1.4. And I'm definitely thinking about shelling out actual money for IDEA - the demo version is a blast. But JBuilder has lost its luster for me. Perhaps if I worked for a company that wanted to pay for an Enterprise license, I might enjoy all the cool toys they claim to offer. But for the individual user, it seems there are better choices available nowadays.
</rant>
OK after all that JBuilder griping I have to agree with your basic point that people really shoudl check out the free IDE's available. But only after they're confident in the fundamentals of Java programming. IMO, YMMV, and all that.
[ July 15, 2002: Message edited by: Jim Yingst ]

"I'm not back." - Bill Harding, Twister
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
Eugene Kononov wrote: our project is about 300,000 lines of code in about 1500 classes ... if there is a problem in the code, I like to actually go through the code and debug it (view the call stack, variables, evaluate expressions, etc).
Wow. I guess you must have more patience than me. Everytime I've used a debugger on any decent sized system I've got so bored with stepping in and out and wondering where to put breakpoints for hours at a stretch that I gave it up in disgust.
I tend to look at this sort of debugging session as "sequential" debugging; working through the program in order, finding out one thing at a time.
The sort of debugging I prefer is "parallel" debugging, where I use the power of the programming language to tell me lots of information about the system all at once. So I scatter lots of diagnostic prints in the area where I think the problem lies, then run a test case which shows the problem. In most cases it only takes one or two rebuild/retest cycles to find the problem.
By the way. I hope your "lines of code" total includes a lot of comments and blank lines, otherwise it averages our at 200 lines per class, which seems way higher than I'm used to. Maybe that's a key differentiator in when to use serial debugging?


Read about me at frankcarver.me ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
alex earnshaw
Ranch Hand

Joined: Nov 05, 2001
Posts: 60
Originally posted by Eugene Kononov:

But I am jsut curious, how do you people with all these TextPad/NotePad/DosEdit editors debug your Java code? Put in a thousand of System.out.println()?
Eugene.

The entire java development team where I work just use editors (my favourite being ConTEXT).
For debug purposes we have implemented our own logging feature, which allows us to trace output at different levels as needed. We've never had any problems, and now that Java 1.4 has logging capabilities built in...
I've used several IDEs before and although some of them have some neat features, I did find that you often got bogged down in using the IDE, rather than your full concentration being on writing the java code...I would never change to an IDE now, regardless of project size
alex
Manfred Mueller
Greenhorn

Joined: Jul 18, 2002
Posts: 10
Originally posted by Sam Smoot:
In the light of this discussion, has anyone used Micro$oft's Visual J++? (just curious, not overly serious)....

Yes Sam, I admit that did :roll: ! I used Visual J++ in 1996 for porting a commercial product. I turned a 32-bit C-language-/Windows API-based comm. application into an AWT-based JAVA application/applet hybrid.
I liked Microsoft's ultra-fast compiler jvc.exe - it saved me plenty of hours. Just to make sure J++ didn't spoil anything "under the hood" and everything remained 100% pure java, I compiled the project frequently with Sun's JDK compiler javac.
And it worked fine
[ July 18, 2002: Message edited by: Manfred Mueller ]
Chris Reeves
Ranch Hand

Joined: Apr 03, 2002
Posts: 95
All this talk of debugging, and not a single mention of unit tests or log4j.
Log4J has saved me a great deal of time, and you can shut off all that pesky debug output at runtime.
It takes me a lot less time to drop into the code, add a couple of .debug lines, ant, and then check the output than to step, step, step, step...
I would rather get smacked with an iron skillet than have to step through the code with an IDE. I use Forte for the pretty colors.
[ July 18, 2002: Message edited by: Chris Reeves ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: JDK or IDE ? whats best to start ?