Java Forum / First Aid / May 2004
Begginner to java
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 MagazinesGet 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 ...
|
|
|