Question for Java Gurus

Discussion in 'Java' started by George Copeland, May 17, 2004.

  1. I have been a professional programmer for about 14 years on MVS, HP-UX, and
    Windows. I have been following Java since about 1997, but I have never done
    any app development in it. Here are my questions:

    1. Where do the gurus go to get programming information? A newsgroup,
    website, what?

    2. What is the best freeware IDE, and what is the best professional IDE?

    3. If you were a professional programmer like me who wanted to get up to
    speed quickly, what resources would you use?

    Thank you very much for your time.
     
    George Copeland, May 17, 2004
    #1
    1. Advertising

  2. George Copeland

    Ryan Stewart Guest

    "George Copeland" <> wrote in message
    news:EvUpc.9197$...
    > I have been a professional programmer for about 14 years on MVS, HP-UX,

    and
    > Windows. I have been following Java since about 1997, but I have never

    done
    > any app development in it. Here are my questions:
    >
    > 1. Where do the gurus go to get programming information? A newsgroup,
    > website, what?
    >

    http://java.sun.com/
    For example: http://java.sun.com/j2se/1.4.2/docs/api/
    And Google Groups.

    > 2. What is the best freeware IDE, and what is the best professional IDE?
    >

    Much debated questions. Do a Google search. As far as free ones, I use
    NetBeans because it's what I learned to use. It has its good points and bad
    points. Oracle JDeveloper looks promising, though I've only tinkered with it
    so far. Eclipse and IntelliJ Idea are two other free IDEs I've seen in use.
    However, just about any experienced Java programmer will tell you to learn
    the basic command-line stuff before getting into an IDE or you'll end up in
    trouble. The Java Tutorial (below) is good for teaching you that.

    > 3. If you were a professional programmer like me who wanted to get up to
    > speed quickly, what resources would you use?
    >

    http://java.sun.com/docs/books/tutorial/index.html
    And Google Groups. (Notice a trend here? :)

    > Thank you very much for your time.
    >

    Not a problem. Good luck.
     
    Ryan Stewart, May 17, 2004
    #2
    1. Advertising

  3. "Ryan Stewart" <> schrieb im Newsbeitrag
    news:...
    > "George Copeland" <> wrote in message
    > news:EvUpc.9197$...
    > > I have been a professional programmer for about 14 years on MVS,

    HP-UX,
    > and
    > > Windows. I have been following Java since about 1997, but I have

    never
    > done
    > > any app development in it. Here are my questions:
    > >
    > > 1. Where do the gurus go to get programming information? A newsgroup,
    > > website, what?
    > >

    > http://java.sun.com/


    plus:
    http://forum.java.sun.com/
    http://www.javaworld.com/
    http://mindprod.com/jgloss/jgloss.html

    I'd recommend these books:

    Things that you can easily get wrong in the beginning: Java Pitfalls
    http://www.amazon.com/exec/obidos/tg/detail/-/0471361747

    There's even a new version which I don't know: More Java Pitfalls
    http://www.amazon.com/exec/obidos/tg/detail/-/0471237515

    If you want to dig into multithreading: Concurrent Programming in Java
    http://www.amazon.com/exec/obidos/tg/detail/-/0201310090

    Doug Lea also has a nice website at
    http://gee.cs.oswego.edu/dl/

    Regards

    robert
     
    Robert Klemme, May 17, 2004
    #3
  4. George Copeland

    perry Guest

    Good question and only someone whose been then there can save you time
    on it.

    While you'll inevitably end up using Borland's tools in one form or
    another, there are other promising platforms out there (fortunately).
    But Borlands freebie is not a whole lot different from their full blown
    version. (And ofcourse there is always the wonderful Together product
    which you'll find indepensible)

    But before you get to enjoy any of that, you really need to start at
    ground zero. It is quite simply, the quickest way to understand
    everything Java is about. To fully appreciate Java, one must try to
    imagine that perfect language they may have always ever thought of
    writing if ever they wanted to write one themselves or had the time to
    do so.

    Well, enough plugging on Java and more about what you, the seasoned
    programmer, must do, in order to quickly ramp up how to properly use the
    language.

    The first thing you must do is plan to spend the next 15 days going thru
    it's certification study guide. There are a few on the market claiming
    to be the #1 book for this purpose but pick only the one written by the
    same people that wrote the certification exam.

    http://www.amazon.com/exec/obidos/ASIN/0782140777/ref=pd_sxp_elt_l1/103-8442938-6823845

    that is if passing the Java Certification exam is of any interest to
    you. the reason why i recommend this is due to the fact that i studied
    this one after i used another and i can say that due to subtle
    differences in the texts, certain aspects of the Java language are not
    highlighted. i believe these subtle differences to be of the upmost
    importance for you, the seasoned professional, to be able to literally
    port over your experiences with other developement languages and
    understand how things are done in Java.

    now, i know, you'll probably be thinking "but i can do this in a day".
    why rush? what's the rush? why don't you plan instead to go get this
    book and find a nice coffee shop somewhere and go thru each chapter, one
    by one over the course of a week or two absorbing each concept as they
    come to you (and try not to cheat, because you'll only be cheating on
    yourself - the answers at the end of each chapter will be an excellent
    way for you to figure out what you don't fully understand).

    beyond that, your in for bit of a surprise. you are probably also
    thinking, well, it looks nice enough (Java), but i'm not sure if it's a
    real heavy duty language like C++. well if that's you line of thinking,
    i'll bet the stockmarket your in for a rather delightful surprise....

    but just like the matrix, i can only offer you the red pill, you have to
    see it for yourself...

    as for the seemingly more advanced tools like J2EE, get an understanding
    of RMI, JDBC and perhaps JNI first. right now, there seems to be a Java
    framework for every major concept out there and many to choose from to
    suit your purposes. what i like about it the most though i think is that
    everything just seems to want to work together, no struggle. everything
    just seems to fit so nicely. i don't know why C++ people are so
    intimidated by it, they shouldn't be. use C++ for developing operating
    systems and areas where tight memory management is absolutely required,
    use Java where garabage collection is not top priority or wherever you
    want the best of both worlds and need to get something out the door
    without reinventing the wheel (for the record, JIT native Java code runs
    99.99% as fast as C++, sometimes faster depending on the app). there are
    other languages too, do not discount those. just don't fall into the
    trap of Java for everything but appreciate it for what it is....

    but being a "professional programmer" i don't think i have to tell you
    that...

    cheers

    - perry


    George Copeland wrote:
    > I have been a professional programmer for about 14 years on MVS, HP-UX, and
    > Windows. I have been following Java since about 1997, but I have never done
    > any app development in it. Here are my questions:
    >
    > 1. Where do the gurus go to get programming information? A newsgroup,
    > website, what?
    >
    > 2. What is the best freeware IDE, and what is the best professional IDE?
    >
    > 3. If you were a professional programmer like me who wanted to get up to
    > speed quickly, what resources would you use?
    >
    > Thank you very much for your time.
    >
    >
     
    perry, May 17, 2004
    #4
  5. George Copeland

    Chris Uppal Guest

    George Copeland wrote:

    > 1. Where do the gurus go to get programming information? A newsgroup,
    > website, what?


    The documentation (the javadoc that comes with the JDK).
    The source (comes in a zip file with the JDK)
    These newsgroups.

    Worth whisking through the Java tutorial on Sun's java site.

    Other than that it depends on your tastes and on how you learn. Some people
    love books with lots of examples, others (like me) prefer to work as much as
    possible from the raw specs and standards.

    One thing you should decide early is whether you are attempting to learn the
    Java language (and the associated standard library), or whether you are
    focussing on learning some application domain like J2EE.

    Personally I'd advise against trying to learn domain specific stuff (even you
    have considerable experience already of that domain) until you've got the
    foundations solid.

    Another thing to ponder: are you already an experienced OO programmer ? That's
    a very difficult question to answer, even for yourself, since there are a lot
    more programmers who /think/ they understand and use OO properly, than there
    are who actually do.


    > 2. What is the best freeware IDE, and what is the best professional IDE?


    I think most people will tell you the same thing. Don't use an IDE until
    *after* you've got well underway with Java. One reason is that IDEs by there
    very nature attempt to hide some of the complexity of "what's really going on",
    and you don't need that when you are trying to /learn/ what's really going on.
    Another reason, paradoxically, is that all the IDEs I've tried are massively
    complicated and so you end up putting more effort into learning the IDE than
    into anything constructive (and, too, you have to understand Java concepts
    pretty well before you can understand what the IDEs are trying to do).

    The only reservation I have about that advice is that if you are new to OO,
    then using an environment that is designed to emphasise OBJECTS may be an
    enormous help. If that's the case then the /best/ thing you can do is go learn
    Smalltalk before Java, but assuming that's not an option for you ;-) then maybe
    using the BlueJ environment would be a good idea. I haven't tried it myself,
    but I have read some of their discussion of what they are trying to do and it
    looks good.

    (None of the major IDEs emphasise objects in this way. They are wretched from
    that point of view -- all you ever see is the source code for classes, you
    never get a feel for working with real objects at all.)


    > 3. If you were a professional programmer like me who wanted to get up to
    > speed quickly, what resources would you use?


    Read as much as you can stand of the Java tutorial. Find a book which
    approaches the subject in a way you are happy with (many people find Bruce
    Eckel's "Thinking in Java" to their taste). Then *practise*...

    Good luck

    -- chris
     
    Chris Uppal, May 17, 2004
    #5
  6. George Copeland

    perry Guest

    And as for where to get programming information on Java, true,
    java.sun.com is the authority but they are not always the best tutors.
    however, i have another surprise for you, depending on your budget, plan
    on picking up a new Java book per week. the addiction hit me so bad, i
    lined my office wall off with primarily Java books. as a matter of fact
    for badness, i'll go find what i did with my old picture and post it for
    you.

    they are expensive but you can save money in two ways. one, to write all
    this off as a business expense in one form or another. the 2nd method is
    to go to 2nd hand book stores, because the beauty of Java is that it
    really hasn't changed all that much since it's inception, hence books
    written from the start are actually very useful. just another reflection
    of how everything works well and builds on top of itself with Java. i
    can say, it's been the best attempt at the principles of OO i've ever
    seen successfully used in today's programming environment.

    as for websites there's a new one everyday....

    other than that you'll have to contact a consultant from one of the more
    reputable companies, that is, with a focus on doing quality work versus
    wasting your time... the best one i worked for is based in Dallas, TX.

    www.osgcorp.com

    and get whoever your working for to hire some consultants to come in and
    give you a first hand view on Java and Object design principles and how
    it can best help your company.

    cheers

    - perry

    George Copeland wrote:
    > I have been a professional programmer for about 14 years on MVS, HP-UX, and
    > Windows. I have been following Java since about 1997, but I have never done
    > any app development in it. Here are my questions:
    >
    > 1. Where do the gurus go to get programming information? A newsgroup,
    > website, what?
    >
    > 2. What is the best freeware IDE, and what is the best professional IDE?
    >
    > 3. If you were a professional programmer like me who wanted to get up to
    > speed quickly, what resources would you use?
    >
    > Thank you very much for your time.
    >
    >
     
    perry, May 17, 2004
    #6
  7. George Copeland

    David Segall Guest

    "George Copeland" <> wrote:
    >
    >2. What is the best freeware IDE, and what is the best professional IDE?
    >

    I'm no Guru but I have spent some time looking at IDE's. I was coming
    from Visual Basic and my requirements were minimum cost and a "What
    You See Is What You Get" editor for graphical user interfaces. Here
    are my findings.

    Netbeans (www.netbeans.org) is free and Open Source. I think you will
    find it the best choice. Borland's JBuilder Foundation
    (http://www.borland.com/jbuilder/foundation/) is also a free download.
    I found JBuilder felt the closest to the VB IDE. Oracle's JDeveloper
    (http://otn.oracle.com/products/jdev/content.html) is a free download
    but the license severely restricts what you can do with programs you
    write if you do not pay for it. If you are into large database
    applications it is well worth your attention because it comes with the
    equivalent of VB's data bound controls and is the cheapest of the
    commercial "Enterprise" IDEs. It's also a great WYSIWIG HTML editor.

    Sun One Studio 4 Community Edition, which is derived from Netbeans, is
    still available, without charge, from
    http://jsecom16d.sun.com/ECom/EComA...I9-401-TL9M&TransactionId=try&LMLoadBalanced=
    but has been superseded by Studio 5. Sun suggest you use Netbeans if
    you want a free version. Sun have some free on-line courses in using
    Sun One and the transition from Sun One to NetBeans is trivial.

    Websphere Studio Application Developer
    (http://www-3.ibm.com/software/awdtools/studioappdev/) is based on
    Eclipse but has many enhancements including a WYSIWYG editor for
    GUI's. It is not free but a 60 day trial is available. I mention
    Eclipse in this summary only because there will be an irate follow up
    if I don't. :) Eclipse (www.eclipse.org) is a popular Open Source IDE
    and there are free or cheap plug-ins like
    http://www.cloudgarden.com/jigloo/index.html,
    http://www.assisiplugins.com/index_start.html and
    http://www.eclipse.org/vep/ that provide WYSIWYG GUI development.

    To complete this list I should also mention the popular IntelliJ IDEA
    (http://www.jetbrains.com/idea/index.html) which has recently added a
    GUI builder. It is not free but you can download a 30 day trial. I
    have not tried it.
     
    David Segall, May 17, 2004
    #7
  8. George Copeland

    Enrique Guest

    "George Copeland" <> wrote in message news:<EvUpc.9197$>...
    > I have been a professional programmer for about 14 years on MVS, HP-UX, and
    > Windows. I have been following Java since about 1997, but I have never done
    > any app development in it. Here are my questions:
    >
    > 1. Where do the gurus go to get programming information? A newsgroup,
    > website, what?


    Multiple resources, really. I read textbooks, visit ngs. Some people
    like mags, but I feel they re-hash a lot of information that is free
    elsewhere.

    > 2. What is the best freeware IDE, and what is the best professional IDE?


    I, personally, use a plain text editor. The IDEs will generate lots
    of code for you, but that doesn't help you learn what the code does.

    > 3. If you were a professional programmer like me who wanted to get up to
    > speed quickly, what resources would you use?


    The platform is huge. Read java.sun.com to get a sense of the breadth
    of technologies out there. White papers or other "executive
    summaries" will provide similar perspective.

    But to know the language you have to write the code. If you know what
    specific applications you are targeting, focus on related
    technologies. As you write the code, you will find yourself reading
    the API documentation. That's where the learning really happens, IMO.

    Apache.org is one big resource for learning about how the technology
    is advancing. Folks keeping building more software on top of existing
    software.

    Finally, learn the command-line tools before you get wrapped up on
    what IDE(s) to pick. All of those IDEs are using the command-line
    tools.

    You can probably get as many different opinions on how to go about
    this as there are respondents.
     
    Enrique, May 17, 2004
    #8
  9. George Copeland

    Tim Tyler Guest

    In comp.lang.java.advocacy David Segall <> wrote or quoted:

    > Netbeans (www.netbeans.org) is free and Open Source. I think you will
    > find it the best choice. [...]


    > I mention Eclipse in this summary only because there will be an irate
    > follow up if I don't. :)


    Giving it that sort of billing is likely to prove ineffective at
    preventing such responses.
    --
    __________
    |im |yler http://timtyler.org/ Remove lock to reply.
     
    Tim Tyler, May 17, 2004
    #9
  10. George Copeland

    asj Guest

    "George Copeland" <> wrote in message news:<EvUpc.9197$>...
    > I have been a professional programmer for about 14 years on MVS, HP-UX, and
    > Windows. I have been following Java since about 1997, but I have never done
    > any app development in it. Here are my questions:
    >
    > 1. Where do the gurus go to get programming information? A newsgroup,
    > website, what?



    Over the years, I've noticed I get the most programming knowledge out
    of books I've borrowed or bought (mostly bought), followed closely by
    the internet docs. The reason is probably because books provide a much
    more structured approach to learning, whereas most internet docs are
    either too short and hasty, or scattered.

    Some sites that might be useful for what books to buy:
    Amazon.com actually has a Java section all to itself:
    http://www.amazon.com/exec/obidos/tg/browse/-/3608/ref=br_bx_c_2_0/002-5868930-0098408

    Also, I just found this
    http://www.javashelf.com/



    >
    > 2. What is the best freeware IDE, and what is the best professional IDE?



    Someone already gave a good list for general IDEs (eclipse, netbeans,
    etc).

    But if you're thinking of doing any J2ME work, and using stuff beyond
    the J2ME Wireless Toolkit, then here are some more:
    http://www.microjava.com/articles/techtalk/ide

    IBM's Websphere Studio Device Developer is awesome because it allows
    development beyond just Midlets into CDC profiles for handhelds and
    more powerful smartphones:

    http://www-306.ibm.com/software/wireless/wsdd/


    > 3. If you were a professional programmer like me who wanted to get up to
    > speed quickly, what resources would you use?



    depends on what niche of java you're going to get into, eh.
    server-side? mobiles and other pervasive devices? smartcards? desktop
    and gui (gasp!)?

    probably for general purposes, i quick stop at javasoft.com would be
    warranted, then head over to javaranch.com for newcomers...


    > Thank you very much for your time.


    no problem.
     
    asj, May 18, 2004
    #10
  11. (Enrique) wrote in message news:

    > > 2. What is the best freeware IDE, and what is the best professional IDE?

    >
    > I, personally, use a plain text editor. The IDEs will generate lots
    > of code for you, but that doesn't help you learn what the code does.


    I think this is very bad advice.

    I know, it is repeatedly said that IDEs are bad for learning Java,
    because they

    - generate too much code for you, or
    - are too complicated, or
    - hide too much stuff from you
    - or all of the above.

    While this is true for many IDEs, it is not true for all of them.

    I am involved with the development of an educational IDE (so I am
    heavily biased!), and I am convinced that you can learn to understand
    OO _much_ better given the right environment tools.

    The solution is not avoiding IDEs, it is choosing the right IDE.

    This question comes up every couple of weeks, so a while ago I wrote a
    summary of arguments why I think the "Don't Use An IDE"- advice is
    wrong.

    If you're interested, you can find it here:

    http://homepage.mac.com/mkolling/mrt/C54415237/E848832883/index.html

    Regards,

    Michael
     
    Michael K?lling, May 18, 2004
    #11
  12. George Copeland

    Ryan Stewart Guest

    "Michael K?lling" <> wrote in message
    news:...
    > (Enrique) wrote in message news:
    >
    > > > 2. What is the best freeware IDE, and what is the best professional

    IDE?
    > >
    > > I, personally, use a plain text editor. The IDEs will generate lots
    > > of code for you, but that doesn't help you learn what the code does.

    >
    > I think this is very bad advice.
    >
    > I know, it is repeatedly said that IDEs are bad for learning Java,
    > because they
    >
    > - generate too much code for you, or
    > - are too complicated, or
    > - hide too much stuff from you
    > - or all of the above.
    >
    > While this is true for many IDEs, it is not true for all of them.
    >
    > I am involved with the development of an educational IDE (so I am
    > heavily biased!), and I am convinced that you can learn to understand
    > OO _much_ better given the right environment tools.
    >
    > The solution is not avoiding IDEs, it is choosing the right IDE.
    >
    > This question comes up every couple of weeks, so a while ago I wrote a
    > summary of arguments why I think the "Don't Use An IDE"- advice is
    > wrong.
    >
    > If you're interested, you can find it here:
    >
    > http://homepage.mac.com/mkolling/mrt/C54415237/E848832883/index.html
    >
    > Regards,
    >
    > Michael


    I can agree with you on all but your third point. I would like to say a
    majority, but I'll limit it to "a whole lot" of the newbs that come through
    the groups (not mailing lists, btw) are having problems related to either
    classpath or directory structure. If everyone took the time to at least
    write their "Hello World" program in a text editor and compile and run it at
    the command line, I suspect we'd all be better off.
     
    Ryan Stewart, May 18, 2004
    #12
  13. George Copeland

    Chris Uppal Guest

    Michael K?lling wrote:

    > > I, personally, use a plain text editor. The IDEs will generate lots
    > > of code for you, but that doesn't help you learn what the code does.

    >
    > I think this is very bad advice.


    No. It's very *good* advice. Maybe not the *best possible* advice, but still
    very good.

    People tend to think that all IDEs are roughly the same except for different
    ticks in their feature lists. Indeed for the vast bulk of Java IDEs that has
    been true (VAJ was something of an exception). And -- since they are also
    unsuitable for learning -- the general advice is to avoid them. If there was
    much difference between them (on this issue) then the advice would be more
    specific.

    I quite agree that it's not /necessarily/ the case that an IDE is bad for
    learning. In fact its demonstrably possible to make an IDE that is excellent
    for learning -- although Java is not the language of choice for this.

    I mentioned BlueJ in my own reply to the OP, as a possible exception to the
    general rule. But, since I haven't actually /used/ it myself (or tried to
    teach anyone with it), I can't honestly recommend it -- I /can/ (and do) say
    that it's looks promising but I can't claim from personal knowledge that it
    delivers on that promise.

    In the absence of a wide user-base for BlueJ, questions about what IDE a
    beginner should use will usually elicit a clamour of votes for peoples' own
    personal favourites -- and that list is unlikely to include BlueJ. So those of
    us that think that Eclipse, NetBeans, IntelliJ, et al, are bad learning tools
    will continue to try to balance the clamour with a blanket "no IDE"
    recommendation.

    > If you're interested, you can find it here:
    >
    > http://homepage.mac.com/mkolling/mrt/C54415237/E848832883/index.html


    One comment on that: Obviously I don't agree that the standard advice is
    "rubbish", but leaving that aside ;-) you've missed a reason for not using
    IDEs, or -- if you prefer -- you've missed a reason for using BlueJ in
    preference to a mainstream one. All the Java IDEs I've used or played with
    have the same problem -- they are focussed on the mechanics of producing code.
    They all emphasise syntax-colouring, code-completion, folding, and all the
    other claptrap. Stuff which has a lot to do with the mechanics of editing text,
    but nothing whatever to do with objects. And (IMO, anyway) the objects should
    be the programmer's primary focus -- /behaviour/ not code. If you add the
    code-centric attitude of the IDE to the already code-centric attitude that the
    Java language tends to promote (through the intricacy of its syntax and surface
    semantics) then it is hard for a programmer ever to get a feel for objects.
    And, IMO, that's a very serious problem indeed.

    When I looked at BlueJ some time ago, what I liked most about it was that its
    designers seemed to feel the same way, and were trying to bring the objects
    right into the foreground. That's why I suggested it might be a good place to
    start if the OP wasn't already happy working with objects.

    I hope that's still true, but just dropping in at <http://www.bluej.org/> to
    see what's new, I find
    Syntax colouring (14 May 2004)
    New extension: Checkstyle (14 May 2004)
    at the top of the News and Developments list -- not at all what I'd hoped for
    :-( Although, to be fair, the article behind the Syntax colouring headline
    does make a very good point.

    -- chris
     
    Chris Uppal, May 18, 2004
    #13
  14. George Copeland

    Anon Amous Guest

    Chris,
    you have obviously put a lot of thought & experience into your post. Well
    done.


    "Chris Uppal" <-THIS.org> wrote in message
    news:...
    > Michael K?lling wrote:
    >
    > > > I, personally, use a plain text editor. The IDEs will generate lots
    > > > of code for you, but that doesn't help you learn what the code does.

    > >
    > > I think this is very bad advice.

    >
    > No. It's very *good* advice. Maybe not the *best possible* advice, but

    still
    > very good.
    >
    > People tend to think that all IDEs are roughly the same except for

    different
    > ticks in their feature lists. Indeed for the vast bulk of Java IDEs that

    has
    > been true (VAJ was something of an exception). And -- since they are also
    > unsuitable for learning -- the general advice is to avoid them. If there

    was
    > much difference between them (on this issue) then the advice would be more
    > specific.
    >
    > I quite agree that it's not /necessarily/ the case that an IDE is bad for
    > learning. In fact its demonstrably possible to make an IDE that is

    excellent
    > for learning -- although Java is not the language of choice for this.
    >
    > I mentioned BlueJ in my own reply to the OP, as a possible exception to

    the
    > general rule. But, since I haven't actually /used/ it myself (or tried to
    > teach anyone with it), I can't honestly recommend it -- I /can/ (and do)

    say
    > that it's looks promising but I can't claim from personal knowledge that

    it
    > delivers on that promise.
    >
    > In the absence of a wide user-base for BlueJ, questions about what IDE a
    > beginner should use will usually elicit a clamour of votes for peoples'

    own
    > personal favourites -- and that list is unlikely to include BlueJ. So

    those of
    > us that think that Eclipse, NetBeans, IntelliJ, et al, are bad learning

    tools
    > will continue to try to balance the clamour with a blanket "no IDE"
    > recommendation.
    >
    > > If you're interested, you can find it here:
    > >
    > > http://homepage.mac.com/mkolling/mrt/C54415237/E848832883/index.html

    >
    > One comment on that: Obviously I don't agree that the standard advice is
    > "rubbish", but leaving that aside ;-) you've missed a reason for not using
    > IDEs, or -- if you prefer -- you've missed a reason for using BlueJ in
    > preference to a mainstream one. All the Java IDEs I've used or played

    with
    > have the same problem -- they are focussed on the mechanics of producing

    code.
    > They all emphasise syntax-colouring, code-completion, folding, and all

    the
    > other claptrap. Stuff which has a lot to do with the mechanics of editing

    text,
    > but nothing whatever to do with objects. And (IMO, anyway) the objects

    should
    > be the programmer's primary focus -- /behaviour/ not code. If you add the
    > code-centric attitude of the IDE to the already code-centric attitude that

    the
    > Java language tends to promote (through the intricacy of its syntax and

    surface
    > semantics) then it is hard for a programmer ever to get a feel for

    objects.
    > And, IMO, that's a very serious problem indeed.
    >
    > When I looked at BlueJ some time ago, what I liked most about it was that

    its
    > designers seemed to feel the same way, and were trying to bring the

    objects
    > right into the foreground. That's why I suggested it might be a good

    place to
    > start if the OP wasn't already happy working with objects.
    >
    > I hope that's still true, but just dropping in at <http://www.bluej.org/>

    to
    > see what's new, I find
    > Syntax colouring (14 May 2004)
    > New extension: Checkstyle (14 May 2004)
    > at the top of the News and Developments list -- not at all what I'd hoped

    for
    > :-( Although, to be fair, the article behind the Syntax colouring

    headline
    > does make a very good point.
    >
    > -- chris
    >
    >
     
    Anon Amous, May 18, 2004
    #14
  15. On Tue, 18 May 2004 13:01:58 GMT, Anon Amous wrote:

    > you have obviously put a lot of thought & experience into your post.


    You have apparently lost your delete key.
    For help, check here..
    <http://www.physci.org/kbd.jsp?key=del>

    ;-)

    --
    Andrew Thompson
    http://www.PhySci.org/ Open-source software suite
    http://www.PhySci.org/codes/ Web & IT Help
    http://www.1point1C.org/ Science & Technology
     
    Andrew Thompson, May 18, 2004
    #15
  16. George Copeland

    Chris Smith Guest

    Ryan Stewart wrote:
    > I can agree with you on all but your third point. I would like to say a
    > majority, but I'll limit it to "a whole lot" of the newbs that come through
    > the groups (not mailing lists, btw) are having problems related to either
    > classpath or directory structure. If everyone took the time to at least
    > write their "Hello World" program in a text editor and compile and run it at
    > the command line, I suspect we'd all be better off.


    I must be missing something here. It seems to me that, if students are
    constantly running into problems with the details of command-line Java
    tools (such as classpath and the like), then it would be best if they
    didn't use those command-line Java tools. You seem to conclude the
    opposite; that they should face them head-on and overcome their
    difficulties.

    I suspect that the difference lies in how fundamental we think those
    concepts are. I think that the classpath environment variable is a
    rather peculiar aspect of the JDK command-line tools. I much prefer,
    say, Eclipse 3.0, where I can choose project properties and just check
    all of the user-defined libraries that my project uses and expect
    everything to work, without dealing with questions of whether I can set
    an environment variable in one place or another, or oops I only set it
    in this shell so it doesn't appear in other shells, etc. I think it's
    clearly possible to develop Java software without worrying one bit about
    environment variables. So I question why understanding the CLASSPATH
    environment variable (or command-line option, etc) would be a necessary
    prerequisite to learning programming in Java.

    So, I guess I'm with Michael on this one.

    --
    www.designacourse.com
    The Easiest Way to Train Anyone... Anywhere.

    Chris Smith - Lead Software Developer/Technical Trainer
    MindIQ Corporation
     
    Chris Smith, May 18, 2004
    #16
  17. George Copeland

    Galen Boyer Guest

    On Tue, 18 May 2004, wrote:

    > I suspect that the difference lies in how fundamental we think
    > those concepts are. I think that the classpath environment
    > variable is a rather peculiar aspect of the JDK command-line
    > tools. I much prefer, say, Eclipse 3.0, where I can choose
    > project properties and just check all of the user-defined
    > libraries that my project uses and expect everything to work,
    > without dealing with questions of whether I can set an
    > environment variable in one place or another, or oops I only
    > set it in this shell so it doesn't appear in other shells, etc.
    > I think it's clearly possible to develop Java software without
    > worrying one bit about environment variables. So I question
    > why understanding the CLASSPATH environment variable (or
    > command-line option, etc) would be a necessary prerequisite to
    > learning programming in Java.


    This is analogous to java programmers thinking they can code
    database applications without understanding the underlying
    database. Oh, I'm sorry, the JVM is the only world one needs to
    know.

    --
    Galen Boyer
     
    Galen Boyer, May 18, 2004
    #17
  18. George Copeland

    Chris Smith Guest

    Galen Boyer wrote:
    > > I suspect that the difference lies in how fundamental we think
    > > those concepts are. [...]


    > This is analogous to java programmers thinking they can code
    > database applications without understanding the underlying
    > database. Oh, I'm sorry, the JVM is the only world one needs to
    > know.


    Well, I'm sure you won't be surprised to find that I disagree.

    What we're talking about in this case are two different ways to provide
    the same information to the JVM. One is rather more convenient because
    it makes use of both persistent knowledge about the subject matter
    (which JAR files and classes correspond to which libraries) and GUI
    interfaces (adding things to a list rather than redefining an
    environment variable). The other works, but is rather arcane.

    And we're talking about an educational environment: which things should
    be taught. The motivations for teaching a concept are (a) how relevant
    it is to the teaching goal, and (b) how necessary it is for the student
    to make progress. Clearly, setting the CLASSPATH environment variable
    is neither the point of teaching programming, nor necessary to succeed
    in Java programming, assuming you have the right tools. The choice of
    setting PATH and CLASSPATH versus using an integrated environment is
    relevant to neither functionality nor any other characteristic of the
    result of programming.

    That's clearly different from a database, where the information model of
    the database, its performance characteristics, and its features have a
    direct impact on the software development process.

    --
    www.designacourse.com
    The Easiest Way to Train Anyone... Anywhere.

    Chris Smith - Lead Software Developer/Technical Trainer
    MindIQ Corporation
     
    Chris Smith, May 18, 2004
    #18
  19. "Chris Uppal" <-THIS.org> wrote in message news:<>...
    > Michael K?lling wrote:

    ....
    > > I think this is very bad advice.

    >
    > No. It's very *good* advice. Maybe not the *best possible* advice, but still
    > very good.
    >
    > People tend to think that all IDEs are roughly the same except for different
    > ticks in their feature lists.


    I still have to disagree. The fact that people have misconceptions or
    are not fully informed about available IDEs does not make ignoring the
    most appropriate solutions good advice.

    ....
    > I mentioned BlueJ in my own reply to the OP, as a possible exception to the
    > general rule. But, since I haven't actually /used/ it myself (or tried to
    > teach anyone with it), I can't honestly recommend it -- I /can/ (and do) say
    > that it's looks promising but I can't claim from personal knowledge that it
    > delivers on that promise.


    Yes, you did mention BlueJ - and I am very happy about that. I have
    used it in my own teaching for seven years now (and I'm still using
    it) and I can only agree with your reasoning here.

    But then again - I am the designer of BlueJ, and I would, wouldn't I?

    > In the absence of a wide user-base for BlueJ, questions about what IDE a
    > beginner should use will usually elicit a clamour of votes for peoples' own
    > personal favourites -- and that list is unlikely to include BlueJ.


    BlueJ has downloads of about 40,000 a months and is used for teaching
    at least at 500 universities and training institutions around the
    world - that is a large enough user base to make some reasonably
    confident statements about it.

    And our experience generally is: teachers who have actually used BlueJ
    and another environment (and thus can make a first hand comparison)
    are usually the most devoted users of BlueJ.

    > > If you're interested, you can find it here:
    > >
    > > http://homepage.mac.com/mkolling/mrt/C54415237/E848832883/index.html


    > [...] you've missed a reason for not using
    > IDEs, or -- if you prefer -- you've missed a reason for using BlueJ in
    > preference to a mainstream one. All the Java IDEs I've used or played with
    > have the same problem -- they are focussed on the mechanics of producing code.
    > They all emphasise syntax-colouring, code-completion, folding, and all the
    > other claptrap. Stuff which has a lot to do with the mechanics of editing text,
    > but nothing whatever to do with objects. And (IMO, anyway) the objects should
    > be the programmer's primary focus -- /behaviour/ not code. If you add the
    > code-centric attitude of the IDE to the already code-centric attitude that the
    > Java language tends to promote (through the intricacy of its syntax and surface
    > semantics) then it is hard for a programmer ever to get a feel for objects.
    > And, IMO, that's a very serious problem indeed.


    I couldn't agree more!!!! (Can't even decide how many exclamation
    marks I should shoot behind this...)

    I am aware that this is missing from that web page, while actually
    being the main argument. This was, in fact, the main goal at the
    beginning of the design of BlueJ.

    I think, essentially, we are on the same wavelength here.

    Regards,

    Michael
     
    Michael K?lling, May 18, 2004
    #19
  20. In article <>,
    "Chris Uppal" <-THIS.org> wrote:

    > Michael K?lling wrote:
    >
    > > > I, personally, use a plain text editor. The IDEs will generate lots
    > > > of code for you, but that doesn't help you learn what the code does.

    > >
    > > I think this is very bad advice.

    >
    > No. It's very *good* advice. Maybe not the *best possible* advice, but
    > still
    > very good.
    >
    > People tend to think that all IDEs are roughly the same except for different
    > ticks in their feature lists. Indeed for the vast bulk of Java IDEs that has
    > been true (VAJ was something of an exception). And -- since they are also
    > unsuitable for learning -- the general advice is to avoid them. If there was
    > much difference between them (on this issue) then the advice would be more
    > specific.


    I disagree - I think that general advice is incorrect in many cases. A
    good ide like IDE or Eclipse can help a student stay focussed on
    objects, rather than syntax.

    If you are trying to teach a language, or use it in a teaching
    situation, you have a lot of choices about presentation. In the main,
    though, you have a very limited number of facts that you can slip in to
    the lesson, without overwhelming your students. Thus, you have to pick
    and choose.

    Learning javac, directories, jar files and command syntax, and the like
    can be useful, and will be important to a student eventually. Given a
    choice, though, between a student thinking about the proper methods for
    their class, and thinking about the proper directory layout to make
    javac happy, I want them thinking about the object and its behavior, not
    the mechanics of the command line tool.

    [...]

    > They all emphasise syntax-colouring, code-completion, folding, and all the
    > other claptrap. Stuff which has a lot to do with the mechanics of editing
    > text, but nothing whatever to do with objects. And (IMO, anyway) the objects
    > should be the programmer's primary focus -- /behaviour/ not code. If you add the
    > code-centric attitude of the IDE to the already code-centric attitude that
    > the Java language tends to promote (through the intricacy of its syntax and
    > surface semantics) then it is hard for a programmer ever to get a feel for objects.
    > And, IMO, that's a very serious problem indeed.


    To me, you learn best by doing. Thus, the best way to learn how to
    write decent classes is to write some, and then go through a critique.
    I would rather they spend much of their early time thinking about the
    result, rather than the process of getting there.

    I want students to bang out a lot of code, with enough feedback so they
    can see what good classes look like. If they can see the ideas I am
    trying to get across in many contexts, they are more likely to see the
    meaning behind the syntax.

    If syntax coloring makes them familiar with what Java code should look
    like syntacticly before we delve into the details, I am happy. They
    will need the details, no way around it, but having the editor get them
    started is a big help.

    Put another way - in the early stages of learning a language or library,
    there are a lot of facts to pick up. A good ide hides some of that
    complexity. You will need to learn it eventually, which is why I also
    get them using ANT fairly quickly, but I want their first Java efforts
    to be pointed at the classes and what that means, rather than at the
    mechanics. Let an IDE make those mechanics easier during the early
    stages, so that they stay focussed not on code, but on solving their
    problems with it.

    Scott
     
    Scott Ellsworth, May 18, 2004
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. LA Recruiter

    java swing gurus wanted

    LA Recruiter, Oct 6, 2003, in forum: Java
    Replies:
    0
    Views:
    330
    LA Recruiter
    Oct 6, 2003
  2. Rajatheone

    Salute to all Java Gurus (?=JTapi)

    Rajatheone, Nov 5, 2003, in forum: Java
    Replies:
    9
    Views:
    654
    David Iain Greig
    Nov 5, 2003
  3. Mondo Dynamo
    Replies:
    17
    Views:
    723
    steve
    May 14, 2004
  4. Storm
    Replies:
    2
    Views:
    907
    Storm
    Oct 16, 2004
  5. new
    Replies:
    5
    Views:
    444
Loading...

Share This Page