Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Complete noob needs guidance on path to learning.

Reply
Thread Tools

Complete noob needs guidance on path to learning.

 
 
Google Man
Guest
Posts: n/a
 
      12-05-2007
Hi,

I am a C++ programmer trying to make the jump to java world. I am not
even able to make a head start on where to begin. I mean, there is
Java, J2EE, JavaSDK, JavaBeans, etc etc. Then there seem to be
libraries like AWT and SWING. Is AWT obsolete? Or can I skip it? Do
I need to learn both AWT or just SWING? Can I learn J2EE without
first learning Java? As you can see I am totally confused.

I could start picking up any of the thousands of books out there but I
am afraid I will end up wasting valuable time learnings things that I
probably don't need to. I don't want to go through reading a whole
book only to find out that everything I just spent the last 2 months
on has been superceded waaay back already by some other version.

Can anyone help me in this regards. Would Bruce Eckel's Thinking in
Java be a good start?

regards.
GM.

 
Reply With Quote
 
 
 
 
mnml
Guest
Posts: n/a
 
      12-05-2007
On Dec 5, 7:27 am, Google Man <(E-Mail Removed)> wrote:
> Hi,
>
> I am a C++ programmer trying to make the jump to java world. I am not
> even able to make a head start on where to begin. I mean, there is
> Java, J2EE, JavaSDK, JavaBeans, etc etc. Then there seem to be
> libraries like AWT and SWING. Is AWT obsolete? Or can I skip it? Do
> I need to learn both AWT or just SWING? Can I learn J2EE without
> first learning Java? As you can see I am totally confused.
>
> I could start picking up any of the thousands of books out there but I
> am afraid I will end up wasting valuable time learnings things that I
> probably don't need to. I don't want to go through reading a whole
> book only to find out that everything I just spent the last 2 months
> on has been superceded waaay back already by some other version.
>
> Can anyone help me in this regards. Would Bruce Eckel's Thinking in
> Java be a good start?
>
> regards.
> GM.


O'Reilly, "Learning Java" is quite good to start in my opinion
http://www.oreilly.com/catalog/learnjava/
I don't know if you need to bother about all this things at the
begining,
I would advise you to install sun-java6-jre & sun-java6-jdk and try to
play with it.
javac to compile, java classname to run it.
 
Reply With Quote
 
 
 
 
GArlington
Guest
Posts: n/a
 
      12-05-2007
On Dec 5, 7:27 am, Google Man <(E-Mail Removed)> wrote:
> Hi,
>
> I am a C++ programmer trying to make the jump to java world. I am not
> even able to make a head start on where to begin. I mean, there is
> Java, J2EE, JavaSDK, JavaBeans, etc etc. Then there seem to be
> libraries like AWT and SWING. Is AWT obsolete? Or can I skip it? Do
> I need to learn both AWT or just SWING? Can I learn J2EE without
> first learning Java? As you can see I am totally confused.
>
> I could start picking up any of the thousands of books out there but I
> am afraid I will end up wasting valuable time learnings things that I
> probably don't need to. I don't want to go through reading a whole
> book only to find out that everything I just spent the last 2 months
> on has been superceded waaay back already by some other version.
>
> Can anyone help me in this regards. Would Bruce Eckel's Thinking in
> Java be a good start?
>
> regards.
> GM.


Try this too, I just stumbled on it while searching for something else
- seems short and good intro.
http://www.learn-programming.za.net/...a_learn01.html
 
Reply With Quote
 
rossum
Guest
Posts: n/a
 
      12-05-2007
On Tue, 4 Dec 2007 23:27:08 -0800 (PST), Google Man
<(E-Mail Removed)> wrote:

>Hi,
>
>I am a C++ programmer trying to make the jump to java world. I am not
>even able to make a head start on where to begin. I mean, there is
>Java, J2EE, JavaSDK, JavaBeans, etc etc. Then there seem to be
>libraries like AWT and SWING. Is AWT obsolete? Or can I skip it? Do
>I need to learn both AWT or just SWING? Can I learn J2EE without
>first learning Java? As you can see I am totally confused.
>
>I could start picking up any of the thousands of books out there but I
>am afraid I will end up wasting valuable time learnings things that I
>probably don't need to. I don't want to go through reading a whole
>book only to find out that everything I just spent the last 2 months
>on has been superceded waaay back already by some other version.
>
>Can anyone help me in this regards. Would Bruce Eckel's Thinking in
>Java be a good start?
>
>regards.
>GM.

Sun's own Java tutorials are a useful start:
http://java.sun.com/docs/books/tutorial/index.html

rossum

 
Reply With Quote
 
Stefan Ram
Guest
Posts: n/a
 
      12-05-2007
Google Man <(E-Mail Removed)> writes:
>Can anyone help me in this regards.


Java is the most popular language of this decade and so
there are very many books and tutorials on learning it.

Don't assuma that you can learn it all in a week or so,
take some time to do the exercises as well.

Some resources can be found in

http://www.purl.org/stefan_ram/pub/java_resources_en

My review of a single sentence, reportedly from »Thinking in
Java«, follows.

~~

Recently someone claimed that "Thinking in Java 3", 8
contained this sentence:

|If you're defining an anonymous inner class and want to use an
|object that's defined outside the anonymous inner class, the
|compiler requires that the argument reference be final, like
|the argument to dest().

Here, Eckel writes:

»object that's defined«.

Objects, however, are not "defined", they are /created/ at
run-time. Names of reference variables are being /declared/
in the source text, not "defined".

http://java.sun.com/docs/books/jls/t...ents.html#5920

Then, he continues to write

»argument reference be final«.

This might intend to say that a reference parameter was
declared with "final". "final" is not an attribute of a,
/reference/, but of a variable.

However, this is not about /arguments/ (the reference
arguments do not have to be declared "final" here), but
about /parameters/. The distinction between these to
Java terms seems to be unknown to Eckel.

parameter:

http://java.sun.com/docs/books/jls/t...mes.html#6.8.7

arguments:

http://java.sun.com/docs/books/jls/t...ons.html#15.12

He also writes:

»the compiler requires«.

It might be the case that the compiler of Mr Eckel indeed
requires this, but he should teach a language instead of an
implementation, so it might be preferable to write
"the language specification requires«.

Also, anonymous inner classes are not being /defined/ in
Java, as Eckel writes at the beginning of the quotation, but
they are being /declared/.

Moreover, "anonymous" is an unnecessary restriction, because
the assertion is valid for /all/ inner classes. Someone
learning by this sentence thus needs to learn anew at another
time that this is also valid for non-anonymous inner classes,
or he might believe erroneously for an indetermined amount of
time, that it is only valid for anonymous inner classes.

Is there a way to improve the sentence? One attempt by me:

A parameter to be used within an inner class of its method
needs to be declared »final«.

Even the Java Language Specification itself is easier to
read than Eckel (and of course, much more correct):

Any local variable, formal method parameter or exception
handler parameter used but not declared in an inner class
must be declared final.

http://java.sun.com/docs/books/jls/t...ses.html#8.1.3

All the reported faults have been found by me within a single
sentence chosen at random (I did not read the book, but
discovered the sentence in another posting, claiming to quote
this sentence from "Thinking in Java".) If one extrapolates the
error quotient to the whole TIJ, it gives a horrid impression.

Some books might sell chiefly because the buyer wants to
express agreement with their title. When one is learning a
foreign language one does not want to think everything in
English first and then painfully translate it word-by-word.
So one might choose "Thinking in Java" instead of a
garden-variety "Introduction to Java", because one longs for
the promise given by its title, not suspecting that the author
Eckel himself might be far from "thinking in Java".

 
Reply With Quote
 
Mark Space
Guest
Posts: n/a
 
      12-05-2007
Google Man wrote:

> I am a C++ programmer trying to make the jump to java world. I am not
> even able to make a head start on where to begin. I mean, there is
> Java, J2EE, JavaSDK, JavaBeans, etc etc. Then there seem to be


Start with Java SE (Standard Edition). For compiling though, you'll
need the JavaSDK (Software Development Kit) version of SE. J2EE also
comes in two flavors, stay away from it for now.

> libraries like AWT and SWING. Is AWT obsolete? Or can I skip it? Do


AWT is not exactly obsolete. Swing uses it internally, but you
shouldn't have to worry about AWT to begin. Use NetBeans IDE (Sun's own
tutorials tell you to) so you can use the GUI layout tool and avoid hand
coding. You should read the bits in the tutorial about hand coding but
again to get started you don't want to get into it.

After you get more familiar with the over all API, hand coding things
will get easier and be more realistic for learning and actual projects.

> I need to learn both AWT or just SWING? Can I learn J2EE without
> first learning Java? As you can see I am totally confused.


Nope, gotta start with Java first. J2EE is a bunch of libraries. Java
is the core language. By analogy: learn C++ first, then you can
understand the STL.

>
> I could start picking up any of the thousands of books out there but I
> am afraid I will end up wasting valuable time learnings things that I
> probably don't need to. I don't want to go through reading a whole


I'll second O'Reilly's Learning Java. The tutorials on the web from sun
are also good, but I found them hard to actually get started on. Sun's
tutorials worked better as a kind of live reference in between Learn
Java and the JavaDocs.

http://java.sun.com/docs/books/tutorial/
http://java.sun.com/javase/6/docs/api/


> book only to find out that everything I just spent the last 2 months
> on has been superceded waaay back already by some other version.
>
> Can anyone help me in this regards. Would Bruce Eckel's Thinking in
> Java be a good start?


I don't care for Mr. Eckel's books personally.

>
> regards.
> GM.
>

 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      12-05-2007
Google Man wrote:
>> Would Bruce Eckel's Thinking in Java be a good start?


Mark Space wrote:
> I don't care for Mr. Eckel's books personally.


I thought TIJ was great when I was first trying to master Java, back in 1.2
days, but his way of thinking isn't really consonant with how most of the Java
gurus are thinking these days. As I learned more from other sources I learned
better ways of thinking in Java. OTOH, there are darned few books that even
try to get an newcomer thinking in Java in any manner.

--
Lew
 
Reply With Quote
 
Mark Space
Guest
Posts: n/a
 
      12-05-2007
Lew wrote:
> Google Man wrote:
>>> Would Bruce Eckel's Thinking in Java be a good start?

>
> Mark Space wrote:
>> I don't care for Mr. Eckel's books personally.

>
> I thought TIJ was great when I was first trying to master Java, back in
> 1.2 days, but his way of thinking isn't really consonant with how most
> of the Java gurus are thinking these days. As I learned more from other
> sources I learned better ways of thinking in Java. OTOH, there are
> darned few books that even try to get an newcomer thinking in Java in
> any manner.
>



Ten years ago that TIJ have been reasonable, but as you say the state of
the art has advanced quite a bit.

What made OOD/P click for me in Java was just reading and studying a lot
of existing code that was correctly designed. API source code and
JavaDoc, output from the Matisse GUI builder (note: Sun's Swing
tutorials are pretty terrible code examples), Apress's Expert Spring MVC
and Web Flow (which contains a pretty good explanation of Inversion of
Control), books on Design Patterns, etc.

It's better to jump in and start learn the real stuff. The epiphany
will come faster that way.
 
Reply With Quote
 
Ramon F Herrera
Guest
Posts: n/a
 
      12-05-2007
On Dec 5, 3:27 am, Google Man <(E-Mail Removed)> wrote:
> Hi,
>
> I am a C++ programmer trying to make the jump to java world. I am not
> even able to make a head start on where to begin. I mean, there is
> Java, J2EE, JavaSDK, JavaBeans, etc etc.


Don't let that alphabet soup to confuse you. All you need is Java
Standard Edition, you can worry about things like Enterprise Edition
later (if at all!). You may spend years being a competent and
productive Java developer (I have) without knowing the first thing
about JavaBeans or even J2EE. Some of the confusing numnbers (Java 2,
or the recent Java 6) are marketing gizmos.

> Then there seem to be
> libraries like AWT and SWING. Is AWT obsolete? Or can I skip it? Do
> I need to learn both AWT or just SWING?


Swing is built on top of AWT. It supersedes and improves on it.

The real contenders are Swing (from Java's biological father, Sun) and
SWT from its adoptive father, IBM (which is to say, from Eclipse).

> Can I learn J2EE without
> first learning Java? As you can see I am totally confused.



Absolutely not. You have to walk first. Everything that can be done
with the EE can be done without it (with more manual work). EE is good
for sites that have a LOT of traffic and/or developers.

> I could start picking up any of the thousands of books out there but I
> am afraid I will end up wasting valuable time learnings things that I
> probably don't need to. I don't want to go through reading a whole
> book only to find out that everything I just spent the last 2 months
> on has been superceded waaay back already by some other version.
>


You must be used to Microsoft's way of destroying the past and forcing
users and developers to endless upgrades. Java builds upon the past.
Old Java programs compile and run in new versions, and vice versa.

> Can anyone help me in this regards. Would Bruce Eckel's Thinking in
> Java be a good start?


It is a perfect start, if you are considering free stuff.

Oh, you know about the official Java Tutorial, don't you?

If you come from the M$ camp, other than telling you: "poor guy, what
did you do in a previous life to deserve that!?" I can assure you
that the developers in this sode of the street are more intelligent,
insightful and helpful not to mention fun and good looking. Oh, I
forgot modest.

-Ramon

 
Reply With Quote
 
Mark Space
Guest
Posts: n/a
 
      12-06-2007
Ramon F Herrera wrote:

> Don't let that alphabet soup to confuse you. All you need is Java
> Standard Edition, you can worry about things like Enterprise Edition
> later (if at all!). You may spend years being a competent and


The rest of the advice here is quite good, but just to be clear, the
Java SE (Standard Edition) is just the runtime. For development, you
need the JDK. I'm pretty sure the JDK comes with a standard runtime
plus other goodies, so you're getting everything. There aren't two
versions of the runtime, one for users and one for developers, it's all
the same.

Well, I think there's 32 bit and 64 bit versions....
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Here a noob, there a noob.... JimDoire MCSE 0 04-10-2008 07:23 PM
2.0 Noob needs help with sitemap Velvet ASP .Net 1 11-01-2006 10:03 PM
noob guidance polar086@gmail.com UK VOIP 0 07-13-2006 01:53 AM
Absolute noob to Linux programming needs language choice help stylecomputers@gmail.com Python 10 06-26-2006 02:57 AM
Noob script needs some input: CVS PatchMaker Holger Python 2 06-19-2006 09:59 AM



Advertisments