John Smiley

Author
+ Follow
since Mar 01, 2002
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by John Smiley

Hi Dipmani

Although I think you could certainly find value in my book, Ivor Horton's book, Beginning Java, and Herbert Schildt's Complete Reference to Java 2 both get my recommendations.
The pace of both books is a great deal faster than mine, and experienced programmers find them very useful.
Hope this helps.
John Smiley
19 years ago
Hi Rashid
Your Questions:
Through the content you provided above, i am afraid that this book could cover upto the certification level, and as you mentioned that this is for the beginner's level, this could also not be digging into the depth of certification's objectives as they required from very minor to very major information on the topics covered in objectives.
But i am sure that after going through your book one can easily pickup any certification preparation book and can be well prepared for the exam easily which i guess from your discussion above as it provides thorough discussion on all the basic topics covered in the exam.
And would you like to tell us that how much of the exam's objective that book covers, in %age.
ANSWER:
Based on the Sun Certified Programmer Exam requirements located here
http://suned.sun.com/US/images/certification_progj2se_07_01.pdf
I would say that, with the exception of threads, the book covers all of the fundamental aspects of the exam.
However, and this is true of any Certification exam, merely reading a book that covers the materials is not enough to pass--you need to work with the language, ideally immerse yourself in one or two major projects (and when I say immerse, I mean eat, sleep, and dream in Java), and have a bunch of things go wrong (making mistakes is the best way to become a great programmer--hardly anyone learns well when things go swimmingly fine the first time around).
Hope this helps.
John Smiley
19 years ago
Hi Comp
Great to hear from you!
I'm always interested in writing more advanced books on Java, and I hope to do so along the lines you just proposed. In fact, I was just talking to my publisher about that today.
John Smiley
19 years ago
Hi Derron
Your Questions:
1. Is this book for a true greenhorn such as myself?
ANSWER:
You're exactly the type of person I write my books for---people with no experience who might be intimidated by other books.
2. And if I truly understand this book, will I be well-prepared to transition to a more advanced text?
That is, does this book cover all the necessary bases?
ANSWER:
Absolutely--when you complete the book, you'll know the basics of Java, and be well prepared to move onto more advanced topics without getting lost.
I like to think that anyone who goes through my book can pick up any book, or visit any Java website, and no longer feel overwhelmed.
Most importantly, the book teaches you how to program---how to design a program, what a Selection Structure is, why you use Loops, etc.
3. Does this book presuppose knowledge of other programming languages?
ANSWER:
Absolutely none---it's not necessary to know any other language prior to coming to Java--in fact, I think it's better if you don't.
Hope this helps.
John Smiley
19 years ago
Hi Brett
Thanks for your interest in my book--as far as a French or German translation, I'm not sure.
I just sent an email to my publisher, and I'll get back to you.
John Smiley
19 years ago
Hi Geetanjali
Your question is a common one I get from my students (Java as well as Visual Basic students).
They understand how to create an Interface, but wonder why in the world they would ever need to do so.
In the work environment, we typically have several types of programmers. If you're really good at what you do, eventually you get to write code for others to use. If you're very, very good, you may even write code that's incorporated into the JDK (but that's another story).
In the Java world, this code takes the form of a class, containing methods. Sometimes it takes the form of an Interface, which you can think of as a class containing methods which have no code.
Back to why?
Let's pretend that you work for a company that wants all of its applications (applets, servlets) to perform some rudimentary security functions such as validating the user, maintaining an audit trail of actions performed against one of the many corporate databases, etc. This is fairly common in the corporate world.
You, as the top notch programmer at this company, decide to write a class to implement methods such as LogIn, VerifyUser, RecordAdded, RecordUpdated.
The problem is that the company's applications may run on a variety of platforms (Unix, Linux, Windows), and interact with a variety of databases (Oracle, SQLServer, Sybase, MySQL). Plus, there may be new platforms and Databases in the future that you can't even anticipate.
Rather than write the code for each of these methods, you design an Interface called Security containing just the Method signatures, not the code, and your boss then forces every Java application written to implement this Interface, leaving the actual implementation of the methods up to the programmer (who at that time will know the implementation details).
Does this help?
John Smiley
19 years ago
I'll affirm what Dan said--I use Notepad myself, but have also used Textpad.
If for no other reason, I recommend to my students that after they download and install the JDK, they also download and install the Textpad trial version---it nicely updates the Path and ClassPath environment variables.
By the way, I have a list of IDE's on my Java Links page
http://www.johnsmiley.com/java/links.htm
One I've heard great things about is Blue Jay
http://www.sd.monash.edu.au/bluej
John Smiley
John Smiley
19 years ago
Hi Ken
What are the colons for?
John Smiley
19 years ago
Hi Laks
This can be a bear to explain (and Corey already did a good job of it).
Because I'm a teacher, I like to explain things using analogies.
A class is to an object like a blueprint of a car is to an actual car. When cars are produced from the blueprint design of an engineer, it's like an object being instantiated from a class that a Java designer has coded.
At the time the designer codes the class, he or she has no way of knowing the name (ie the object variable name) that the user of the class will use to refer to the particular instantiation of the object--that's why the designer of the class uses the keyword 'this'--to refer to the current instantiation of the object, no matter what it happens to be called.
Hope this helps.
John Smiley
If you
19 years ago
Hi Rashid
Thanks for your question!
The book's final two chapters are devoted to Swing.
Writing a book using my style results in a book with a page count a bit higher than normal (it reads like a story). As a result, if I included that additional information, the book would probably be close to 1,000 pages, along the lines of the Deitel and Deitel Java book.
My main purpose is to get timid potential programmers going---once they have the confidence, they can either move to another book or pick up additional skills through great resources like JavaRanch (and believe me, this is the best!).
John Smiley
19 years ago
Hi Arathi
Although I teach advanced topics at the university, my vocation is primarily teaching and writing for beginners--those folks likely to give up in the early stages of learning what can be an incredibly rewarding and valuable skill.
As a result, my book is aimed primarily at beginners----someone who needs to know not only what a loop is and how it is constructed in Java, but why you would use one in the first place.
My last two chapters are devoted to the construction of a GUI using Swing components.
As far as Java Certification, I consider my book a first step.
John Smiley
19 years ago
Hi Brett
Sorry, no info in the book on threads.
I hope to cover threads either in an intermediate book I'm hoping to write or in one of the articles I typically write in support of my books.
John Smiley
19 years ago
Hi Gerry
I wrote the book using the Java SDK 1.3--which was the latest at the time.
The great thing about writing an introductory book that really covers the basics is that you are seldom 'burnt' by revisions to the product.
Although 1.4 is an advance over 1.3, my book is still a good pick for you.
John Smiley
19 years ago
Hi Dan
The last two chapters of the book deal with using the Java Swing libraries to create a windows program, complete with Buttons, RadioButtons, Labels and Textboxes--that's the culmination of the Grades Calculation project that the 'students' complete during the class.
I've been told that the coverage is excellent.
John Smiley
19 years ago
Hi Sandy
Thanks for your question!
I don't mention C++ at all in my book---I presume NO prior knowledge of any computer programming language.
Trying to determine the rationale behind an author's approach to writing a 'beginner' programming book can be difficult, but I've found over the last four years that about half of the beginner's book presume that you already know a programming language to begin with--sounds like the one you are alluding to probably did that with C++.
There are reasons that authors do this--primarily, it absolves them of the responsiblity to cover true introductory material (such as explaining what a loop is and why you would do it), which inflates the size of the book, and limits their ability to cover more advanced material.
As for me, I love teaching the fundamentals, and would rather be criticized for having my books be 'too' elementary rather than start from the premise that the reader already knows a language.
John Smiley
19 years ago