Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / First Aid / May 2004

Tip: Looking for answers? Try searching our database.

Begginner to java

Thread view: 
script-learner - 30 May 2004 19:32 GMT
To keep me away from the 'darker side' of computers i was advised by a
computer expert to start learning computer languages. I currently no
small amounts of c++ and html. I was advised that java was a good
starting point, does anyone disagree? What is the best medium for
learning java, book - online tutorial etc. Are there any peices of
software required such as a compiler? Thanks for any info given SK
Nicholas Pappas - 30 May 2004 20:58 GMT
> To keep me away from the 'darker side' of computers i was advised by a
> computer expert to start learning computer languages.

    Out of curiosity, what is this "darker side" and how does the knowledge
of programmer help to ward off the daemons that come forth from within
its bowels?

> I was advised that java was a good
> starting point, does anyone disagree? What is the best medium for
> learning java, book - online tutorial etc. Are there any peices of
> software required such as a compiler? Thanks for any info given SK

    I learned C/C++ before learning Java.  I'd suggest doing the same as
you have little choice in the matter when it comes to actually
understanding how the language is interacting with the underlying OS.
If you learn straight from Java, you just understand how the language
interacts with the VM.
    That's not to say that a lot of courses teach Java as the introductory
language.  The fact that the class no longer has to worry about teaching
the underlying OS is probably part of that.
    Books are good.  Classes are better; not online tutorials -- I'm
talking real people.
    You will need the JDK in order to compile Java applications.  You can
get it from Sun - http://java.sun.com.  I would also suggestion a good
IDE; I personally use JBuilderX, which will install the 1.4.2 JDK for you.
Panama Red - 30 May 2004 22:42 GMT
I believe it was Nicholas Pappas who said...
>     You will need the JDK in order to compile Java applications.  You can
> get it from Sun - http://java.sun.com.  I would also suggestion a good
> IDE; I personally use JBuilderX, which will install the 1.4.2 JDK for you.

 Why an IDE? Doesnt that complicate things? Isnt it harder to
 understand what is happening when much of it is done for you?
Shane Mingins - 30 May 2004 23:02 GMT
> I believe it was Nicholas Pappas who said...
> > You will need the JDK in order to compile Java applications.  You can
[quoted text clipped - 3 lines]
>   Why an IDE? Doesnt that complicate things? Isnt it harder to
>   understand what is happening when much of it is done for you?

IMO, that depends on the IDE.

And then it is a balance between what you know, what you need to know, and
what makes your life so much easier.

Using an IDE like IntelliJ IDEA http://www.intellij.com/idea/ makes my life
a lot easier.  And it does not have those wizardy things that some people do
not use :-)

Shane
Nicholas Pappas - 30 May 2004 23:24 GMT
> I believe it was Nicholas Pappas who said...
>
[quoted text clipped - 4 lines]
>   Why an IDE? Doesnt that complicate things? Isnt it harder to
>   understand what is happening when much of it is done for you?

    It certainly wouldn't complicate things, and I'm not sure how it makes
things harder to understand what is going on when used.  I'll have to
agree with Shane that "it depends on the IDE", or perhaps how you use it.
    I'll admit that I've never used most of JBuilder's internal "stuff", so
I don't know everything that it may do for you, but as a straight up
editor it simplifies the development process tremendously.  Without
diminishing the knowledge of the language you are working with.
Ryan Stewart - 30 May 2004 23:47 GMT
> I believe it was Nicholas Pappas who said...
> > You will need the JDK in order to compile Java applications.  You can
[quoted text clipped - 3 lines]
>   Why an IDE? Doesnt that complicate things? Isnt it harder to
>   understand what is happening when much of it is done for you?

Oh, man. You don't even want to open that can of worms!

See this recent thread:
http://groups.google.com/groups?&threadm=451qc.3168%24325.391184%40news20.bellgl
obal.com

Ryan Stewart - 31 May 2004 00:08 GMT
> > I was advised that java was a good
> > starting point, does anyone disagree? What is the best medium for
[quoted text clipped - 6 lines]
> If you learn straight from Java, you just understand how the language
> interacts with the VM.

I'm not quite grasping your argument. With C/C++ you have to know more about
your environment, including about the OS you'll run your program on. With
Java, your code will run the same on any OS and you're freed of needing to
know exactly what's happening at 0x1334ff or wherever your stack pointer is
currently pointing (slight hyperbole). And you'd recommend learning a C
language first? I'm with Chris on this one. Start with Java. It's a much
cleaner, more idiot-proof language. Grasp the concepts, let the language
point out your dumb mistakes, get used to OO, and then look at C/C++.
Nicholas Pappas - 31 May 2004 01:58 GMT
> I'm not quite grasping your argument. With C/C++ you have to know more about
> your environment, including about the OS you'll run your program on.
> [snip]
> And you'd recommend learning a C language first?

    Exactly. :)

    My view is that you deal with all that first.  If you understand what
is happening under the hood, you'll have a much easier time learning how
Java (or whatever else you are working with) is interacting with the system.
    It is certainly a matter of opinion, and different for each person.
Some people like to start with the guts and work move out, while others
like to work their way in.  They both end up going through the same layers.
    I'm a guts->out guy. ;)
Ryan Stewart - 31 May 2004 02:09 GMT
> > I'm not quite grasping your argument. With C/C++ you have to know more about
> > your environment, including about the OS you'll run your program on.
[quoted text clipped - 10 lines]
> like to work their way in.  They both end up going through the same layers.
> I'm a guts->out guy. ;)

True, but you never have to deal with that in Java because of the VM, so why
would it benefit you?
Nicholas Pappas - 31 May 2004 02:20 GMT
> "Nicholas Pappas" <noreply@rightstep.org> wrote in message
>>I'm a guts->out guy. ;)
>
> True, but you never have to deal with that in Java because of the VM, so why
> would it benefit you?

    Why would it benefit an auto mechanic to actually understand how the
car works, if his equipment just tells him what he needs to know?
    Lots of different reasons.
Ryan Stewart - 31 May 2004 03:17 GMT
> > "Nicholas Pappas" <noreply@rightstep.org> wrote in message
> >>I'm a guts->out guy. ;)
[quoted text clipped - 5 lines]
> car works, if his equipment just tells him what he needs to know?
> Lots of different reasons.

Not a good analogy. A pure Java programmer has no interaction with the OS,
unlike a mechanic's interaction with a car. The VM isn't "equipment that
tells you what you need to know". It's a layer between the programmer and
the OS that isn't *meant* to be breached. As a Java programmer, you don't
program for an OS. That's one of the points of the language. So if you're
not meant to have direct interaction with the OS, why does it benefit you to
know about the OS?
Nicholas Pappas - 31 May 2004 03:39 GMT
> "Nicholas Pappas" <noreply@rightstep.org> wrote in message
>>Why would it benefit an auto mechanic to actually understand how the
[quoted text clipped - 3 lines]
> Not a good analogy. A pure Java programmer has no interaction with the OS,
> unlike a mechanic's interaction with a car.

    It is a perfectly valid example, because:

    1) We aren't talking about learning *Java*.  We are talking about
"learning computer languages" (from the original poster's post).  Java
is simply one possible language that is being addressed.
    2) Is the mechanic actually understand what he is doing, or is he just
using a tool with no underlying knowledge of what is really going on (in
which case, you need to get your butt to the shop real quick and get
your car back).
    3) JNI
    4) A good developer understands how the OS works.

    Returning to (1), and referencing to (4), if you want to be worth your
salt as a "Software Engineer/Developer" you need to know what is
happening.  If you just want to call yourself a "Java Programmer" then
don't bother.
Ryan Stewart - 31 May 2004 03:49 GMT
> > "Nicholas Pappas" <noreply@rightstep.org> wrote in message
> >>Why would it benefit an auto mechanic to actually understand how the
[quoted text clipped - 9 lines]
> "learning computer languages" (from the original poster's post).  Java
> is simply one possible language that is being addressed.
From your post earlier today (the one I originally responded to):
"I learned C/C++ before learning Java.  I'd suggest doing the same as
you have little choice in the matter when it comes to actually
understanding how the language is interacting with the underlying OS."

This I read as, "You should learn C/C++ first so you'll understand how Java
is interacting with the underlying OS."

> 2) Is the mechanic actually understand what he is doing, or is he just
> using a tool with no underlying knowledge of what is really going on (in
> which case, you need to get your butt to the shop real quick and get
> your car back).
See the message you just replied to. A mechanic works on cars. A pure Java
programmer works on the Java VM.

> 3) JNI
I said "pure".

> 4) A good developer understands how the OS works.

That's quite a sweeping statement. In general, yes. But I'm speaking in the
context of Java development.

> Returning to (1), and referencing to (4), if you want to be worth your
> salt as a "Software Engineer/Developer" you need to know what is
> happening.  If you just want to call yourself a "Java Programmer" then
> don't bother.
"just"? This isn't the group to even make the appearance of belittling Java
:)
Chris Smith - 30 May 2004 21:09 GMT
Just FYI,

It's generally a poor idea to multipost (meaning, to post identical
articles to several different newsgroups).  If you have something to say
to multiple newsgroups, cross-posting (meaning, posting only one article
but listing all the newsgroups in the header) is a better way to do it,
because responses will be seen in the same places your article appeared.  
It's also easier to do.

As it is, I already responded to the copy of this post in
comp.lang.java.programmer.

Signature

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

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Oscar kind - 30 May 2004 22:37 GMT
> To keep me away from the 'darker side' of computers i was advised by a
> computer expert to start learning computer languages. I currently no
> small amounts of c++ and html. I was advised that java was a good
> starting point, does anyone disagree? What is the best medium for
> learning java, book - online tutorial etc. Are there any peices of
> software required such as a compiler? Thanks for any info given SK

IMO, Java is a good starting point because it has a clean design (ok, some
parts of the API have not). I prefer it over C/C++, Perl, etc. because it
has hardly any features that make it easy to write illegible code.

Personally, I learned programming during university courses, but I believe
that someone with limited programming experience can get by with a good
book, augmented by Sun's Java tutorials. See Sun's website for tutorials
online and in print: http://java.sun.com/docs/books/tutorial/

Other regulars will be able to recommend better books.

For software, I believe many posters in this newsgroup are correct that a
command line, a simple text editor and the Java SDK are perfect to start
with. The IDE "BlueCurve" is also said to be a good choice, but I have no
knowledge about that.

Oscar

Signature

Oscar Kind                                    http://home.hccnet.nl/okind/
Software Developer                    for contact information, see website

PGP Key fingerprint:    91F3 6C72 F465 5E98 C246  61D9 2C32 8E24 097B B4E2



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.