As an added bonus, O'Reilly has offered a chance to win a free pass to OSCON Java conference this week! Two winners will be randomly selected for a free pass for the first event about open source Java.
OSCON Java 2011 • July 25-27, Portland, OR
Open source is the heartbeat of Java. See what's hot and learn from in-depth sessions & tutorials about Java 7, JVM, Android development and more.
And if you don't win, they are offering a CodeRanch Exclusive: Use code OS11CR to save 20% on all conference passes
Posts in this welcome thread are not eligible for the drawing.
This seems to be an interesting book. I saw this review on Amazon which may help people who are thinking about buying:
"If you are already somewhat familiar with Java and need a good book to motivate you a little and reinforce good practices, this is a great choice. The sections on exceptions and interfaces are superb for nearly any Java programmer to read, while the more advanced topics can serve as either reinforcement of good design principles, or as an introduction to those topics, for someone wanting to know more about how and why they are in Java in the first place.
The book is also written in an effective, friendly (and at times hilariously sarcastic) tone."
Welcome James. I read the TOC and intro and it sounds like a very useful book. I also happen to agree that the language - as all languages, including human ones - has accumulated redundancies and unneeded additions, as well as mistakes. But it remains a great language. Perhaps, hopefully your book will help direct programmers away from that stuff.
Joined: Jun 22, 2011
Well, we should also realize that one person's incredibly useful feature is another person's swill.
For example, I've never liked the programming model for J2EE-- all the getters and setters violate the object abstraction, and the whole three-tier architecture is something I find confining and inflexible. But I don't write database-backed enterprise applications; if I did I'd probably love J2EE (well, maybe not love, but at least have more appreciation for it). I fought the addition of generics (or, at least, the particular way generics were added) for a long time, and while I still don't like the compile-time type system being different from the runtime type system, I've found that generics are useful.
There are very few places in Java or its libraries that are badly designed; the community process (and a bunch of very talented engineers, both inside of the Java engineering organization and from other companies) made sure that didn't happen. What may be lacking is an overall design; some parts of the language and libraries don't conceptually play well with other parts. Part of what I argue for in the book is that "good" is a relative term, in that you have to specify "good for what".
Joined: Nov 17, 2005
I'm going to open up a new topic, because I want to reply to your last post, but this really isn't the place for that ;)
Good welcome Waldo, and in spanish my native language Bienvenido Waldo, excelente tenerte por aquí
Joined: Jun 22, 2011
Sid Singh wrote:Hi James,
I have a question from you that how you got motivated to write such a book as it is quite a bit off league from the rest available out there.
The more genuine motivation is that I thought it would be an interesting forcing function to think about what it was that I liked about Java, and a vehicle to explain to others what I think the most valuable aspects of the language are. I'd always thought of Java (and continue to think of Java) as an interesting mix of dynamic, object-oriented language and environment that is particularly good at support large-scale, distributed systems. But the parts of Java that help in this have gotten lost in discussions about where Java is weak (and, as I've said before, there are certainly those places as well). So the book became a way for me to remind myself, and others, of why you should think of using Java in some sorts of projects.
Welcome to the ranch! Some pointers and tips :
1. Watch out for the chickens. They bite.
2. Don't try to eat eat the Java tree. The farmer next door will come out with a big, loaded shotgun.
3. Enjoy yourself!
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.” (Mosher's Law of Software Engineering)
“If debugging is the process of removing bugs, then programming must be the process of putting them in.” (Edsger Dijkstra)
As the week is coming to an end, I just wanted to thank all of you for a terrific set of discussions. I can't remember a time that I felt more welcomed by a group, or a time when I found the discussion as interesting (and civilized). The ranch is a great place, and I hope to be able to stick around some time as a non-promotional member.