What is up with JAVA

Dear Experts,
I am new to the Java programming language, and I just purchased the Jbuilder 4 development kit. Everything is going okay; however, I would like to know the advantages of writing in JAVA as opposed to writing in other languages. I pretty much need the complete spiel on the power of the this new language and how it will help me in future, as far as jobs are concerned.
Also, I need a couple of things defined:
JDK
JDBC
HOW TO USE JAVA IN CONJUCTION WITH A WEB PAGE - THE INSERTION POINT (IN HTML) AND THE LIKE.
Finally, is J Builder a good tool?
Thank you group,
Robert Lawrence Perkins
P.S. I need a mentor, please help.

Java is by far the best programming language that I've worked with so far. Here're a few of the advantages it has:
1] Portable - Java is portable. That means a program developed under one Operating System will work just fine on a different Operating System. So far only some of the more popular OS's are supported i.e. UNIX, Windows etc. The cliche "write once, run anywhere" is more true for Java than for any other language nad this is a really big plus
2] Object-Oriented - Java is a purely object oriented language. You can find various comparisions between Java and C++. I'll like to point out that for it's time C++ was not bad, but now Java is definitely a better choice
3] Robust - Java is a fairly robust language and has a very rich set of tools for developers. Newer additions are being made to the language at a rapid pace and there's practically nothing that one can't get done with Java
4] Security - Java places a lot of emphasis on security. With the advent of the Internet this is a very big plus again
JDK - Is the acronym for Java Developer's Kit. The JDK consists of the various Application Programming Interfaces (APIs). These APIs enable developers to develop applications rapidly since most of the functionality needed is already provided by the APIs rapidly and "one does not need to reinvent the wheel"
JDBC - Java Database Connectivity is a again an API designed for fast and efficient extraction of data from a Relational Database Management System (RDBMS) using SQL queries
HOW TO USE JAVA IN CONJUCTION WITH A WEB PAGE - THE INSERTION POINT (IN HTML) AND THE LIKE.
There are several ways Java is deployed in conjunction with Web pages. Depending upon the application's requirements you might make use of 'Applets'. You can find more information on applets at
http://java.sun.com/docs/books/tutorial/applet/index.htm
Amongst the other technologies servlets are pretty commonly used. See
HREF http://java.sun.com/products/servlets
for more information. A good reference book would be "Core Servlets and Java Server Pages" by Marty Hall.
Finally, is J Builder a good tool?
It is a good tool but I think it's utility to a beginner is limited. If you're just starting developing in Java you'll probably be better of starting at scratch. That way, you'll be able to know the language better. Once you acquire enough familiarity with the language then you might want to move to an IDE. This is just my personal opinion. I personally prefer using JEXT for editing most of my stuff and the ubiquituos command-line for compiling and building. You should know what suits you best once you start developing yourself
Future Prospects: This is what lot of people are betting on. With the rapid endorsement of the Java platform definitely there's going to be a lot of progress

Similar Messages

  • What Is Wrong With Java? STILL NOT ANSWERED, PLEASE ANSWER!

    So today (10 PM January 20th), the Firefox Plugin Checker said that my Java version was outdated. I also got a pop-up saying that my current version of Java at the time (Java 7 update 10) had vulnerabilities. So to try and fix this, I went to the Java page and downloaded the update (Java 7 update 11).
    To check and see if my update was working, I went to Java's check page, as well as another page I use. And here I discovered a problem. I got a notification that an old version of Java had been detected, and another prompt to download the current version (which I had already done). So I erased all versions of Java from my control panel, and tried to check it again. And when I did, I got this: http://oi50.tinypic.com/35b6xx2.jpg and http://oi47.tinypic.com/15fg37p.jpg.
    As you can see, both pages tell me that I need to install a missing plugin of some sort. So, thinking this would resolve the issue, I clicked the Install Missing Plugin button. This is what it told me was missing: http://oi45.tinypic.com/302uwbl.jpg. So I clicked next to install it.... and got this: http://oi45.tinypic.com/2cici0x.jpg, which I assume means that the plugin did not install. So I pressed Manual Install... and was lead/linked right back to the Java download page (where it all began, and what doesn't seem to be working in the first place)
    I go to check my plugins again (Just to make sure and also for extra information), and it appears to say that my Java version is current (is that what "Java Deployment Toolkit 7.0.110.21" is? I don't know, I am not good at technology at all. Either way, here is what it looks like: http://oi48.tinypic.com/4kxzz4.jpg). So...if it is current, why is it not working (i.e. I am unable to play games, DO MY COLLEGE CLASSWORK, or play Java-based games)?
    If it helps anything, here is what my control panel looks like in regards to Java right now: http://oi45.tinypic.com/2qlxu9t.jpg Am I missing anything that would make Java work?
    And before anyone says that Java is not essential: It may be that way to you, but I need Java to do classwork for college. Veterinary college.
    So, in short, what is going on with Java, and how can I fix it?
    EDITEDITEDIT: I Have found that I can do my classwork without Java.
    HOWEVER, this DOES NOT mean that the problem is solved or over with. I STILL WANT TO KNOW HOW TO FIX THIS PROBLEM AND GET JAVA TO WORK. Even if I never actually need it, I would still like to have a (working!!!) Java version because of two reasons: 1) I would rather have such a program and not need it, than need such a program and not have it, and 2) aesthetics. Sorry to say, but I am very particular about how things look when it comes to my belongings, and the fact that Java is messing up is making me actually stressed. In short, I still want the above issue solved, even if it's just purely for the sake of Peace Of Mind.

    STILL HAVE NOT GOTTEN A REPLY. PLEASE ANSWER ASAP, AS THIS IS STILL IMPORTANT TO ME. COME ON NOW, I KNOW THAT THERE ARE PEOPLE ONLINE AND ANSWERING QUESTIONS!!

  • What's wrong with java.util.Date type?

    Hi!
    When I try to persist object having field of type java.util.Date I get the
    following SQL logged by Kodo with subsequent transaction rollback:
    2002-11-14 15:03:35,099 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnecti
    onFactoryImpl.supportcrm/kodo] INSERT INTO BILLY.TT_COMMENTS(COMMENT_TYPE,
    TEXT,
    CREATED_BY, ID, SUBJECT, CREATE_DATE, TT_MAIN_ID) VALUES (1, '1', 10, 279,
    '1',
    {ts '2002-11-14 15:03:35.059'}, 147)
    When I change "{ts '2002-11-14 15:03:35.059'}" with "TO_DATE('2002-11-14
    15:03', 'YYYY-DD-MM HH24:MI')" in SQL editor
    and execute it everything works fine.
    What does "{ts '..'}" mean? Is it a SQL generation error?
    Thank you in advance.
    Best regards,
    Alexey Maslov

    I've created my own dictionary with dateToSQL() method overridden.
    Now it works fine. But it's a kind of strange. Oracle is used often and my
    JDBC drivers
    are the most recent (at least, from the oracle.com).
    Anyway, thank you again.
    "Alexey Maslov" <[email protected]> wrote in message
    news:[email protected]...
    Patric,
    Thank you for response.
    We're using Oracle 8.1.7 via OCI driver from Oracle 9.2.
    I've already tried 2.4.0 and it works fine there but I've found another
    problem there
    preventing me from using it. See my post in solarmetric.kodo.betanewsgroup.
    >
    "Patrick Linskey" <[email protected]> wrote in message
    news:[email protected]...
    That's odd -- what version of Oracle are you using?
    Moving to Kodo JDO 2.4.0
    (http://www.solarmetric.com/Software/beta/2.4.0) will almost certainly
    get rid of this problem, as we use exclusively prepared statements in
    it, and therefore pass dates etc. to JDBC as parameters.
    But, to get things working with your Oracle database and Kodo JDO 2.3,
    you could create your own extension of OracleDictionary and override the
    dateToSQL() method to generate the appropriate TO_DATE() syntax. See our
    documentation for more details on creating custom database dictionaries.
    -Patrick
    Alexey Maslov wrote:
    I've added TRACE level logging for transactions in JBoss and got
    original
    exception:
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT
    INTO
    BILLY.T
    T_MAIN(TT_SOLUTION_ID, DELAY_REASON, TT_STATE_ID, ID, CONTACT_PHONE,
    CANCEL_REAS
    ON, OPER_DESCR, TT_TYPE_ID, CREATED_BY, EXP_CLOSE_DATE,SERV_OPEN_DATE,
    OPEN_DAT
    E, FLAGS, TAKEN_BY, TT_CAT_ID, SUBJECT_ID, SUBJECT, SERV_CLOSE_DATE)
    VALUES
    (NUL
    L, NULL, 1, 439, NULL, NULL, '____________ ________________ ________________', 7, 5, {ts
    '2002-11-14 1
    8:38:16.075'}, NULL, {ts '2002-11-14 18:18:16.075'}, 0, NULL, 11,24099,
    '1', NU
    LL)] ORA-00904: invalid column name
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLEx
    ceptions.java:17)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.insert(JDBCSt
    oreManager.java:421)
    at
    com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.insert(D
    ataCacheStoreManager.java:265)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.insert(StateManagerImpl
    ..java:1783)
    atcom.solarmetric.kodo.runtime.PNewState.flush(PNewState.java:31)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.flush(StateManagerImpl.
    java:372)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(Persistence
    ManagerImpl.java:426)
    at
    com.solarmetric.kodo.ee.EEPersistenceManager.beforeCompletion(EEPersi
    But when I try to execute the statement above against the database
    manually
    everything works fine.
    I'm absolutely desperate!
    P.S. On 2.4.0 RC the operation invoking this database insert completes
    fine.
    "Alexey Maslov" wrote in message
    news:[email protected]...
    Hi!
    When I try to persist object having field of type java.util.Date I
    get
    the
    following SQL logged by Kodo with subsequent transaction rollback:
    2002-11-14 15:03:35,099 INFO
    [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnecti
    onFactoryImpl.supportcrm/kodo] INSERT INTOBILLY.TT_COMMENTS(COMMENT_TYPE,
    TEXT,
    CREATED_BY, ID, SUBJECT, CREATE_DATE, TT_MAIN_ID) VALUES (1, '1',
    10,
    >>>
    279,
    '1',
    {ts '2002-11-14 15:03:35.059'}, 147)
    When I change "{ts '2002-11-14 15:03:35.059'}" with
    "TO_DATE('2002-11-14
    15:03', 'YYYY-DD-MM HH24:MI')" in SQL editor
    and execute it everything works fine.
    What does "{ts '..'}" mean? Is it a SQL generation error?
    Thank you in advance.
    Best regards,
    Alexey Maslov
    Patrick Linskey [email protected]
    SolarMetric Inc. http://www.solarmetric.com
    Best regards,
    Alexey Maslov

  • What's wrong with Java readline()?

    I just updated to OS X 10.6.8 and installed the Java update 1.6.0_26-b03-384.
    It appears that BufferedReader.readLine() is broken for reading input lines from the console.  readLine() does not terminate with a newline.
    This is pretty basic.  What's up?
    import java.io.*;
              This class demonstrates how to read a line of text from the keyboard
    class ReadLine{
              public static void main(String[] args) throws IOException{
                        String CurLine = ""; // Line read from standard in
                        System.out.println("Enter a line of text (type 'quit' to exit): ");
                        InputStreamReader converter = new InputStreamReader(System.in);
                        BufferedReader in = new BufferedReader(converter);
                        while (!(CurLine.equals("quit"))){
                                  CurLine = in.readLine();
                                  if (!(CurLine.equals("quit"))){
                                            System.out.println("You typed: " + CurLine);

    As it turns out, there's nothing wrong with ReadLine(), the problem was Ant 1.8.2.
    http://issues.apache.org/bugzilla/show_bug.cgi?id=50960
    The Apache distribution is dated late 2010.  The Apple version of 1.8.2 states that it was compiled on June 3, 2011, but if Apple built from the distribution and not from the corrected svn trunk that would explain it.
    My work-around was to install and link ant 1.8.1.

  • What's wrong with java.util.Date??

    Hi all,
    I was just practicing a bit of java.util ,when i was compiling my code-
    import java.util.Date;
    import java.text.SimpleDateFormat;
    class DateStamp{
    public static void Main(String args[]){
    doDate1;
    String D;
    int D1,D2,D3;
    Date dt=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat("dd-mm-yyyy");
    /*When using method .setDate(x) ,is x an integer or String?can x=2/5/2002 or 2-5-2002?*/
    public void doDate1{
    dt.setDay(12);
    dt.setMonth(12);
    dt.setYear(102);
    D=dt.getTime();
    D.parseInt(D1);D=""
    D=sdf.getTime();
    D.parseInt(D2);
    int D3=D2-D1;
    int D3=D3/86400000;/*How do you convert milisec-to-days?*/
    D=D3.toString().
    System.out.println(D+"days have elapsed since then");
    the compiler said this-
    File Compiled...
    --------------------------- Javac Output ---------------------------
    DateStamp.java:7: Invalid expression statement.doDate1;^DateStamp.java:14: Instance variables can't be void: doDate1public void doDate1; ^2 errors
    this problem is persistant, and i'm a java newbie ,Does anyone know what's wrong here?
    Thanks!
    Regards,
    aesh83

    How do you get System date onto a Date variable?Calendar.getInstance().getTime() returns a java.util.Date for the current time. You can also use System.currentTimeMillis() and turn it into a Date.
    Will date.after(Date when) method work when Date
    variables are in milisecs?Date.after(Date when) compares two date objects. As the JavaDoc says "Returns:
    true if and only if the instant represented by this Date object is strictly later than the instant represented by when" To me that says that milliseconds are taken into account, I.E. comparing dates actually compares the date plus the time portion.
    >
    What methods-
    *Convert a date(dd/mm/yy) to milisec?If you look in the javaDoc you'll see "long getTime() Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object." Calendar also has the getTimeInMillis() method.
    *Convert a milisec value to a date(dd/mm/yy)?Calendar.setTimeInMillis(long);
    I'm have this little problem.
    When using GregorianCalander-
    *need to initialize?
    *need set today's date?Calendar.getInstance() will return an appropriate Calendar object for the current locale initialized to the current date/time.
    *how do you check if a date exceeds 3 weeks?I'm not sure what you mean. There are a couple of roll(...) methods that will allow you to add a unit of time to a date. I.E. you could add three weeks to a date.
    To ignore the time portion of a date just set the time to "00:00"
    Col

  • What the HELL with java.util.Scanner

    Hello people...
    Somebody have a pointer that teaches how to work with Scanner, or everybody fells like me, as this API just don't work well!!!?
    At this right moment I have the same JAR file, run something at linux and work well, but when at windows got an exception...

    http://java.sun.com/developer/JDCTechTips/2004/tt1201.html
    http://java.sun.com/docs/books/tutorial/essential/io/scanning.html
    ~Tim

  • HT5246 What about users with Java installed?

    What about users who have Java installed? Do they not need to run this program? Why?

    The flashback malware removal tool is included in the latest security update. If you've downloaded all your updates, it's been installed and if you got no message you had no malware.

  • What's up with Java formatting standards?

    I've always wondered about this:
    The Standard:
    public class HelloWorld{
      public static void main (String [] args){
        System.out.println("Hello World");
    }VS.
    The way I do it:
    public class HelloWorld
      public static void main (String [] args)
        System.out.println("Hello World");
    }I like my way because the code is more readable. Braces are matched on the same column, so it is much easier to trace braces, yet the first method is the standard that most people (including people in the industry) use... It's just always sorta bothered me, and I wanted to know if there is a reason that I'm not seeing that people do this? It gets especially nasty when there are a bunch of loops and other things nested. Following the braces then just gets insane...

    (C: A simple explanation woulda sufficed. But who
    cares about vertical space? What about the case when
    a certain loop takes up more than a page or something
    like that, then tracing the brace back is very
    difficult because you can't trace it back to the word
    above it. Yeah, in my example, there's very little
    difference and either way looks fine, but in some
    situations with loops that have tons of if-else
    statments in them and for loops and all that, it gets
    pretty nasty, and hard to follow.i don't follow what you are saying. i care about vertical space because it is much easier to read. instead of confining my search to a open brace when traversing up code to find the scope, i look for any character that starts on the same column as my close brace. there is no difference really... unless you are doing some weird code... if a loop, as you say, goes past one page in your format, it may not go past one page in my format making my format more easily readable because it is condensed... it is all a matter of opinion but whenever i get code like yours, i run it through Eclipse to condense it down to a more readable format (for me).

  • What's up with Java Zero Day, and is Snow Leopard endangered?

    That.

    Patched or not and regardless of the version, I'd keep Java disabled, period. Best place for Java is shackled, locked up and caged.
    http://krebsonsecurity.com/2012/08/attackers-pounce-on-zero-day-java-exploit/
    If you do not need Java, get rid of it, and if you do need it for specific applications or sites, limit your use of Java to those sites and applications, using a secondary browser for that purpose.

  • JTDS not connecting with SQL Server 2008 R2 SP2 + SSL with Java 6 U34-35

    Environment:
    Windows 7 Pro 32-bit
    SQL Server 2008 R2 SP2 (Forced Encryption = Yes, No Certificate provided to server)
    Java 6 Update 27-35 and Java 7 Update 2-7
    jTDS 1.2.2 and 1.2.6
    Under the following setup, our Java application is able to connect to the SQL Server database:
    - SQL Server 2008 R2 SP2
    - Java 6 Update 27-33 or Java 7 Update 2-5
    just switching the JVM to the following would cause the application to be unable to connect to the database:
    - Java 6 Update 34 or 35, or Java 7 Update 6 or 7
    Browsing through the Java 6 Update 34 release notes, it looks like nothing big was changed, so I'm wondering what has changed with Java 6 U34 and Java 7 U6. I was also looking through a packet sniffer, and indeed the behavior of Java 6 Update 33 and lower was different from Java 6 Update 34 (although I couldn't understand the messages being passed, the number of connections and messages were different).
    * This is different from the issue with Java 6 Update 29-30 and Java 7 wherein they were patched for the BEAST SSL vulnerability. That was fixed with the SP2 patch for SQL Server 2008 R2, and for SQL Server 2008 you'd need a hotfix aside from SP3. After patching the server with those updates, Java 6 Update 29-33 and Java 7 U1-5 should be able to connect to the database.
    * If I do switch off Force Encryption, all Java versions are able to connect to the database.
    Edited by: user1357749 on Oct 12, 2012 1:20 AM

    Hi,
    It's four months later, but my colleague and I have reproduced the same behavior in both our commercial product, and a very simple example class. It's exactly as you describe it, where the latest versions of both Java 6 and 7 (and several previous versions) hang during the first jTDS SQL query to the DB (immediately after the SSL and handshake). It also happens with the Microsoft JDBC driver.
    If you disable the BEAST SSL fix (-Djsse.enableCBCProtection=false), then the connections work without any problems. So, while this is different from the original BEAST SSL problem and subsequent fix, it really seems like some additional changes were made to the fix in a later Java release that broke things.
    My colleague has filed a bug with Oracle, and is awaiting a response. We also filed a bug at the jTDS project (#690 - http://sourceforge.net/p/jtds/bugs/690/) that has simple reproduction steps. A contributer at the jTDS project agrees that this seems to be a problem with the JRE, and is not specific to jTDS.
    I hope that Oracle will address this issue soon. We need to periodically update the JRE due to vulnerabilities, and we need to have SSL for our JDBC connections for security reasons. This bug puts us and others in a difficult position.

  • Sneak Preview Java 04s : what to do with it?

    Hi everyone,
    I downloaded and installed Sneak Preview 04s full Java edition. I'm a BW consultant, not too experience with Portal, and I can't fin out what to do with this installation. I thought this Java edition would also give me access to an classic BW application server with all regular BI screens like RSA1 etc... but i'm not able to find that.
    Can you please shred some light on what you guys achieved to do with Java editions, if classic BI screens are accessible through Portal or if I should rather go to ABAP edition of sneak preview?
    thanks!

    Finally found answers in the forum.

  • What is the highest Java version running with SOA Suite v10.1.3.3 ?

    What is the highest Java version running with SOA Suite v10.1.3.3 ?
    From my point of view at least v1.4.1
    Maybe v1.5
    but not v1.6
    Is this true?
    Peter

    I guess only 1.5.
    1.6 is officially not supported and 1.4 does break stuff, I tried running it with it, and didn't even come up.
    Regards,
    Chintan

  • What are the limitations of Java,what cannot be done with Java?

    Hello.I want to ask, is there anything which cannot be done with Java related to computer programming ,does Java have limitations?

    BIJ001 wrote:
    You need a JVM to run Java applications.Usually yes but nothing prevents you from writing a compiler to compile Java sources right into native code.@Everyone: Sorry folks, I meant to say "Never say unequivocally that something cannot be done. Time will more than likely prove you wrong."... which I think you all got the gist off, despite what I actually said.
    @BIJ: Hmmm yep, so that sort-of brings writing a device driver in the Java language into the realms of practicality, except you'd still have to work-around the fact that Java is by design a device/OS idependant language, so one suspects that you'd probably end-up using to JNI to call a large and complex library of assembler (or something) functions, which actually do the work... hence you'd probably be better of in assembler, C, or indeed any "native" language, or combination thereof.
    Java excels at writing "large and complex business systems". Java pretty much sucks at writing "low-level CS stuff", which C (and assembler) both excel at... Hence some knowledge of both helps you pick the tool for the task, and create "complementary" layers of abstraction in your application, which (the theory goes) make it robust and flexible.
    I do think that it's interesting that Java excels in exactly the places where C is/was "undercooked".... I do sometimes wonder if that was by design; like the language designers intended them to be complementary tools or something.
    Cheers. Keith.

  • What do you plan to do with java

    I know this is a game development forum, but I had one question. What does everyone 'who is nice at java example abuse' (i'm not saying that no one else is nice, but he's name is the most catchyest) what do you plan to do with java. Do you really want to make games in java for the rest of your life, and prove to the world that java is gaining power? Or you just use java as the jump off point to learn anything else.
    Sorry if i'm getting to personally, but I was just wondering. This is a question to everyone not just abuse. lol

    Development speed:
    C / C++ (DJGPP):
    downloading many parts - 1 week
    installing - 1 weekend
    looking for basic tutorials - 1 week
    getting hello world to work - 1 afternoon
    getting more tutorials - 1 week
    getting past hello world - 3 weeks
    doing something worth doing - never
    total time to becoming a basic C programmer - 18 months & counting (I still try every couple of months, it never works)
    compiling someone else's code - 1% success (only one program not specifically designed for DJGGP ever compiled - C is portable eh?)
    Java
    dowloading JDK - 4 hours
    installing - 1/2 hour
    basic tuts - 1 hour
    hello world - 3 hours (java.lang.NoClassDefFoundException :-) )
    more tutorials - 10 mins
    getting past hello world - 1 week
    doing something worth doing - 2 weeks
    total time to becoming a basic java programmer - 1 month
    compiling someone else's code - 95% success (some people use the GNU regexp and GL4java, now there's regexp & 3D in the main package, so that shouldn't be a problem for much longer)
    Running speed:
    http://members.lycos.co.uk/wjgoh/JavavsC.html
    pure java JITted for the current machine is faster than generalised C, it's just that in C you get like
    prog: printf("xxx\n")
    stdlib: some assembler
    wheras java
    prog: println("xxx");
    lib: print("xxx"+"\n");
    lib: print("xxx\n");
    lib: write("xxx\n");
    lib: write(new byte[] {'x','x','x','\n'});
    lib: native void write({'x','x','x','\n'});
    stdlib: write(bytes);
    stdlib: some assembler
    I know that's not the right chain, I'm just showing the idea. Also you get things like this:
    //deprecated - don't use
    getSize() {
    return size;
    //ok, use this
    getPanelSize() {
    return getSize();
    where it's faster to use dodgy old methods.
    Shish

  • Up an running with Java. What tools to download?

    Hello, I use to work with Java applications about three years ago, but had switched over to another language. Now I need to develop code using Java again. In fact, I need to reuse some of the code I developed a few years ago. The code does alot with animations. So here is my question.
    "What tools do I need to get up and running with Java?"
    1. What compiler to use (recommend the best open source editor, or one that is not that expensive)?
    2. Where is the Java SDK that I need to download?
    3. Will my three year old code still be compatible with the SUN, Java code I wrote 3 years ago?
    Ralph

    Actually Jwenting is right, IntelliJ is by all measures the best IDE.
    I have used textpad, programmers notepad (which I still use for some things), VIM, eclipse for a number of years, intelliJ for a short time, and Netbeans since earlier this year.
    textpad - Great place to learn the basics, but once the basics are down you need to find an IDE.
    Programmers notepad - love it, still use it for some languages, has some features you will find nowhere else
    VIM - You have your vi lovers and your vi haters, I would say I fall into the haters camp but still keep up with it because when you need an editor to make a quick change on some obscure system with very little on it, some version of Vi will undoubtedly be there. Once you get into the flow it is not bad, but there is lots of annoying things about vi and its offspring.
    Eclipse - Great IDE, was the better of the free ones for a long time. For me eclipse's strength became it's albatross. That is plugins ofcourse. There are literally thousands of plugins that can make eclipse do just about anything you want. The problem is there is very little oversite so some plugins are great, some good, some ok, some suck, and some are deliberately hostile. You don't really know what you are going to get until you try it, but removing it can be a pain so sometimes you are stuck. Plus getting the plugins to play nice with each other can be a chore, the more plugins you have the harder it gets to get new ones to play nice. It was after a whole day stint trying to get eclipse to work again after picking a bad plugin that i simply decided to give netbeans 6.0 a try since it had what I wanted packaged in already.
    IntelliJ - Only got to use this for a short time as they went ahead and bought it at my last job after I gave my months notice for leaving. Guess they figured it would be easier to replace me that way. From the little I got to play with it, it was extremely user friendly to the point of being a pleasure to work with, You definitely got what you paid for.
    Netbeans 6.0 and higher - Netbeans pre 6.0 sucked. Even 5.5 was not as good as eclipse at the time of it's release, but was a sign they were headed in the right direction. After releasing version 4 only to have it suck and laughed at in the java community since eclipse was hundreds of times better Sun realized netbeans was making them look bad. So they decided to fix that and decided the best way to fix it was to model netbeans as closely after IntelliJ (which was the best even back then) as legally possible. With each release they get closer to realizing this goal, and since it is free with each release netbeans picks up more and more former eclipse fanbois. It is now at the point where most people following the eclipse vrs netbeans war will agree that netbeans has taken the lead and has more current users than eclipse. I would even wager that most of the people who said netbeans was best in this thread were not long ago eclipse fans. Bottom line, of the free IDEs netbeans is the better choice at this point.
    But I got to ask, when you say a salary of R8,000 - R12,000 do you mean monthly income or annually? If annually can you even survive on about $1,000 in US dollars for a year? I mean I make about 8 times that in a month, after uncle sam takes his portion, and i wouldn't call myself rich by any means.
    Also jwenting have you tried the newer netbeans? I think if you do you will see they are strikingly similar to IntelliJ in many ways.
    JSG
    Edited by: JustSomeGuy on Dec 5, 2008 7:24 AM

Maybe you are looking for