This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Recently, someone could not compile a program using Visual Age for Java. I suspect that an old version of the SDK (which I believe you are locked into when using VAJ) is in use. Yesterday, I could not run a program using NetBeans, with a message about not finding the main method even though it is inherited. So, just be aware of the limitations of your IDE. I guess the only safe approach is to run from the command line, though it's not always convenient.
Yesterday, I could not run a program using NetBeans, with a message about not finding the main method even though it is inherited.
Have a look at this code:
It compiles and runs fine on NetBeans 3.5. To be absolutely sure I tested it with NetBeans 3.4.1: compiles and runs fine. NetBeans allows you to use any jdk you want by setting jdkhome in ide.cfg You can plug in an other Look & Feel like KunstStoff or Platic. There are numerous other settings which can be useful to speed up NetBeans on Windooooze. NetBeans runs lightening fast on Linux and OSX. I have used other IDEs like JBuilder, IDEA, Eclipse, but none comes even close to NetBeans. For example the modern Virtual File System is absolutely fantastic as it is so intuitive. You can debug Tomcat right out of the box. You can attach to any external server for debugging like Tomcat, JBoss or WebSphere. The GUI editor is one of a kind, support for JSP pages and JSP tags, plugin available for refactoring and the list goes on and on.
I guess the only safe approach is to run from the command line, though it's not always convenient.
I disagree! Let me give you a simple example. Imagine you want to travel 100 miles and you have two options: using a car and using your feet. Well, of course using your feet is the safer approach, but is it the most efficient? You are right, your car might break down in the middle of the way and you might even have to continue the rest of the way on your feet, but you still manage to save some time and energy. It is true that no single IDE is perfect. I have done extensive research on different IDEs to figure out the best overall IDE around, and although Visual Studion 2005 seems to be the best (well, for .net technology), it is not perfect. Nor is Jbuilder 2005,IDEA intellij,JCreator,MyEclipse, or even Sun Java Studio. But I always recommend using a good IDE like Jbuilder so you could study the auto-generated code, and if you already know what the autogenerated code does, then you just save some time, and believe me you want to save some time when you get a bit older
I agree with Panah... the learning curve is by far much better if you are using an IDE. not to mention all the tools that can help you figure out what is happening behind the scene, like debugging.
I use Eclipse and NetBeans. I especially looove Eclipse.
the only problem I see, as far as the certification is concerned, is the automatic completion of code, or drop-down list with all method available.
In a way, it is a lot easier to use classes you know noting about, so I guess the learning curve is better. But, when you go back to notepad or simple paper and pencil, you have no clue what are the methods.
Joined: Apr 15, 2005
If you love Eclipse, then I bet you'll love Jtest from ParaSoft. It is Eclipse skeleton with a lot of other useful features added to it. Here is the link:
As far as the issue of remembering the methods goes when using pico or notepad, there is a technique that I have found useful and you might know it already. I usually have one of these Class Library Posters in my place e.g ISBN: 0321304780 and everyday I spend some time looking at the Java Framework hierarchy and that way after a while you just get used to the names of the methods. However, I personally hate notepad coding just because it does not have code-coloring features. Use Textpad instead if yyou are in the middle of the desert and don't have any access to any other IDE
Alex Belisle Turcot
Joined: Apr 26, 2005
Have a look at this code:
It compiles and runs fine on NetBeans 3.5. To be absolutely sure I tested it with NetBeans 3.4.1: compiles and runs fine.
Im not sure what is so special about this code and why it should be amazing that netbeans runs it. Can you please explain.
Panah, I will take a look at Jtest and try it out, thx.
When you use an IDE when learning you're learning the tool instead of the language as is readily apparent from the problems people constantly flood the forum with (this thread being no exception) which are easy to avoid if the poster had only known how to use the commandline tools properly.
Classpath problems, not knowing how to start a program from outside their IDE, etc. etc. etc.
These people can't do ANYTHING outside the IDE they've chosen to use. Even when given another IDE they can no longer function because they don't know what they're doing when they're pressing that button which generates a lot of code for them, a button that in another IDE might not be there or might be labelled differently.
I like using a good IDE, and wouldn't do any serious programming without it. But when preparing for the SCJP exam, specially for J2SE 5.0, the automatic code generation and code completion of modern IDEs might have an negative impact on those using it. For example, one of the new objectives states: Given the fully-qualified name of a class that is deployed inside and/or outside a JAR file, construct the appropriate directory structure for that class. Given a code example and a classpath, determine whether the classpath will allow the code to compile successfully. These are the kind of things one should learn to use correctly from the command line.
Joined: Apr 15, 2005
I know this may sound harsh, but if you switch your IDE and you absolutely don't know what to do then you are in the wrong business. For example, even a Visual C# programmer should be able to open up the intellJ and know what to do. I am not saying that he/she should be able to write an advanced remoting application with Java though.