About

Yakov Fain is a Principal Developer Advocate for SuranceBay where he focuses on the latest Web technologies used in the Insurance Industry. His main responsibilities are connecting with developers and speaking publicly about cutting-edge technologies on conference panels, at user groups, and with the press. A Java Champion, he speaks on various software development topics at international conferences, and published more than a thousand blog posts.

Yakov authored and co-authored multiple books on software development.

15 thoughts on “About

  1. 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.

  2. 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.

  3. 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

  4. Hi Yakov,
    This is Caroline Kvitka, the editor of Java Magazine. I wanted to ask if it’s ok with you if we use of of your tweets plus your icon on our next cover. It will be very small…hardly legible…as part of a composite image of hundreds of actual tweets for our story on Twitter.

  5. Hello, Yakov. Can you give me few advice what knowledge do I need to work Java developer in USA?
    I know you as owner of leading software company Farata Systems, and good Java developer. I liked your report on JEEConf in Kyiv in this year (I was volunteer there). Last year it was your also interesting report “Becoming Professional Java Developer”. Now I am learning Java Core in trainee program of Global Logic in Kyiv. What also need I know to work Java developer in USA? Sorry for my english, I know that I must improve it also.

  6. Hello Yakov,
    tell me please how do you study something new in IT. Do you only read books or not?
    What is your algorithm to study something new?

    Regards, Max

  7. Hello Yakov,
    Two days back I purchased your book ” Java Programming 24 Hour Trainer ” .

    I am completely new to Java, using Java 7. I got your book hoping that it would put me on the right track. I am familiar with c programming and OOPs.

    I am stuck with selecting the right version of eclipse IDE for Java7. Please let me know the correct version.
    Once I complete the setup, I can start learning java from your book.

    Any more suggestions would also greatly help. I searched over the net, but its just information overload.

    Kindly help me with this.

    Regards,
    Salil.

    1. In chapter 2 I specifically recommend Eclipse for Java EE developers. It can work with any Java version.

      If you want to learn Java faster, get my video course that uses this book as a textbook:

      buff.ly/1Dn3crH

    1. Plans changed. It’s not going to be printed by no starch. At this point only pdf/mobi/epub versions are available.

Leave a comment