About
Yakov Fain is Managing Director at Farata Systems, a company that provides consulting services in the field of development of enterprise Rich Internet applications. He authored several technical books, and dozens of articles on software development. Recently he co-authored the books “Java Programming. 24-Hour Trainer.” and “Enterprise Development with Flex”. Sun Microsystems has nominated and awarded Mr. Fain with the title of Java Champion, which was presented to only a hundred people in the world. He leads the Princeton Java Users Group and New Jersey Flex Users Group.

Hello Yakov,
I was using your book for my daughter to learn programming, and there are a few pages with some “publishing” problems (see below for specifics.)
Is there any way you can take a look?
Finally, I apologize if this is the incorrect place to write you, but I couldn’t find any contact information on the JavaForKids website: http://myflex.org/books/java4kids/java4kids.htm
Thank you very much for both your work on the book & for whatever assistance you may be able to provide us.
George
(… & my daughter Cemre)
\\\\\
\\\\\
Details:
\\\\\
\\\\\
At the bottom of p53 (in the book “JavaKid811.pdf”, downloaded from: http://myflex.org/books/java4kids/JavaKid811.pdf) there are some sections “missing” due to “publishing” to the pdf probably.
Let’s Modify the method dive()…
//… it would appear there’s missing text.
[[ in the green code box ]]
public class Fish extends Pet {
int currentDepth=0;
//… it would appear the code snippet / picture is cut off.
Also on the bottom of page 56, the same sort problem with missing text & code snippet.
George B
April 21, 2012 at 11:53 pm
Thanks,George for letting me know. I’ll find some time and to fix it. Meanwhile, download and refer to the code samples for the book available at the bottom of this page: http://myflex.org/books/java4kids/java4kids.htm.
Yakov Fain
April 23, 2012 at 1:59 pm
Hi Yakov
I would like to thank you for the book “Enterpise Software without the BS”
A lot of fun during reading but also opportunity to deeply think about my career.
Because I manage my bookshelf at Goodreads I added the book to the library:
http://www.goodreads.com/book/show/15727911-enterprise-software-without-the-bs
Marcin
June 29, 2012 at 1:14 pm
“Enterprise Software without the BS”, nice one. Really a lot of fun during the reading, it shows me a light in putting my next step on the carreer. Thanks again Yakov.
Ramanujam Mariappan
October 25, 2012 at 7:37 pm
Hi,
I am a developer from india in the enterprise software. I liked your blog post, especially the title of senior developer and how it is blatantly misused, as this is a trend which is too normal in our nation. You have hit the right tone.
Radhakrishna Lambu
December 10, 2012 at 4:41 am
Hello Yakov,
recently I found your book “java programming for kids …” (Russian version), and enjoy the reading.
It so happened awhile ago I started to think about a book based on quite similar principals (for high school student, teachers and beginners, professional language (Java), professional IDE (I thought about NetBeans), oriented on quick start, with exercises linked to new information about language). I am glad that my “bus 315″ didn’t see too much efforts on inventing what was already done so nice. Still, I have plenty of room to continue: server-side programming, DBs,
basics of HTML, xml…
At the beginning I decided to suspend my reply until I’ve read the whole book, but I have no patience…
Of course, “discussion” means “what I don’t like about the book” (what is good I’ll keep for my friends to recommend it
).
First, terminology of OOP. It’s a bit loose in English, as ‘object’ is in shadow of ‘instance’. From my prospective, a book, especially for beginners, should be quite strict on that terminology. I think, proper terms are ‘class’, ‘object’ and, maybe, formula ‘object is an instance of a class’ (in Russian, I would limit it to ‘класс’ and ‘объект класса’, I don’t think ‘экземляр (копия) класса’ is useful).
Second, description of classes and objects. Unfortunately, in Java this separation is absent on syntax level, and chosen key word (static) refers to memory allocation procedures (instead of OOP realities). I personally would try to compensate it in explanations, starting from page 36 (I do avoid here particular recipes). Also, I would accent it in recommendation on program structure, with clear textual separation of class attributes, instance attributes, class methods, instance methods.
Third, I personally don’t see much reason to use char type, especially since Java 7 abandoned limitation on usage of Strings in switch.
Forth, overriding method without @override. It’s a bit tricky, as if we made an error in signature, we’ll add another method, and wouldn’t see it until run time.
Fifth, and so far, most important, from my prospective: Car class (page 57).
Meaning of start(), stop() is not clear, but advice to hardcode speed…
From my prospective, hardcoding is one of the most terrible (and quite easy avoidable) design sins.
What I see here is attributes speed and distance, plus methods setSpeed(), getDistance() (along with drive()).
Thank you!
MS
Mikhail Semionenkov
January 12, 2013 at 8:06 pm