The quality of programming books

    Despite the proliferation of screencasts, blogs of programmers, e-books, etc., a regular paper book remains an important element in training a novice programmer or to improve the skills of a more experienced coder.
    And it is very important which book will fall into the hands of a reader who has decided to gain new knowledge. I myself buy books quite regularly, and earlier, when I just started learning languages, I bought even more often. The bulk of the books I read are (made up) of the languages ​​Visual Basic 5/6, Visual Basic.NET, C #, and to a lesser extent C ++ and Delphi. Therefore, we will draw conclusions on the basis of these books, but I think that the picture will be similar with other languages.

    The first thing that always catches your eye is the difference in class, in professionalism, call it what you like, between the books of foreign authors and domestic writers. In fact, any programming language has its own recognized gurus, whose books are read, reprinted and studied up and down. But this applies specifically to foreign authors. As a rule, foreign authors write freshly, informatively and readily. Often, even in a serious book, the author has time and place to insert some kind of joke or give a funny comment on a problem. This style can be found both in C. Petzold, and J. Richter and many others.
    In order not to be unfounded, I will give a few quotes from the book Programming in C # tonality :
    This happens because an algebraic expression like “B = 2” means some fixed value of B; this is similar to the statement “The fluff is the cat.”
    What is great about programming is that experimenting is both easy and safe. This is not like in chemistry. You will not blow up your house.
    To become a good programmer, you need to learn how to think like a computer. Of course, not all the time. Otherwise, you can clink glasses.
    Always consider user convenience first, rather than programmer convenience. You are smarter than them (or at least you think so).
    If you understand the haiku made up by this program, you may need to stop programming and go to sleep.
    In order to help the programmer answer such questions, C # supports the bool data type (rhymes with "cool"), the name of which is four-fifths of the English spelling of the name of George Boole.
    You can help yourself remember the OR symbol if you imagine that the vertical bar is like an oar (in English, oar, which resembles the logical OR operator - OR. 

    This is only part of the interesting phrases from the book. Or take the preface to the book by Jeffrey Richter CLR via C # , written by his baby son (I will give only part of the text, it is very difficult to copy it):
     fgb lkbiubr, g463wb / '[]

    For those who do not understand what is written above - imagine that a kitten has run through your keyboard - is the hint clear?
    And now let us turn our eyes to the works of domestic authors. It is no secret that a lot of books in Russia are written by various teachers. And, apparently, they are not at all joking. The main thing is to write a smart book to be recommended for study by university students across the country. Reading our authors is very difficult and boring. But all the records were broken by a book that I bought recently. It's called C #. Start programming(author E. Ishkova). On the cover of the book was a contented saffron cat sitting on the moon, who was fishing with the help of a fishing rod #. I could not resist and bought this book for my collection. But the first chapters shocked me. Judge for yourselves - in chapter 1.2 it is described about the organization of the workspace in the computer and the following fact is given (hereinafter referred to as the book) - in the names of folders (directories), as well as in file names, there should not be more than 8 characters and should not be used non-Latin letters.. The last time I heard about a limit of 8 characters, probably when I was working under DOS. At first I could not believe my eyes and immediately began to look at my projects, as well as examples downloaded from MSDN. Almost all of the folders and file names contained more than 8 characters and loaded perfectly. What am I doing wrong? As for non-Latin characters - I did not find any ready-made examples, so I created my own example, gave the files Russian names and started again - again, no problems. The answer came on the next page of the book - it mentions and gives a screenshot of the Windows Commander 5.0 program. It turns out that in order to learn C #, you need to install not only Visual Studio, but also an additional program Windows Commander. And this is written in a book published in 2009. Perhaps the author is not yet aware that Windows Commander no longer exists. By the wayWindows Commander 5.0 - Gold Soft 2002 . I have big doubts about the legality of this product, and you? And, ending the topic with WC - apparently there was a limit of 8 characters, which the author gives out as a feature of the system.
    Further, the book was no longer of practical interest when you read, for example, that Russian characters cannot be used in variable names, since the compiler will give an error. Oh well. And the examples with the keywords for, if / else, etc., evoked just deadly boredom. Well, why, foreign authors try to give examples from life - for example, to calculate the cost of fuel, or the amount of the loan payment, and so on, and our authors give such an example.
    if (m == n) {Console.WriteLine ("m equals n"); m ++};
    if (m! = n) {Console.WriteLine ("m is not equal to n"); n ++);

    What are these faceless m and n? And so for all the examples. By the way, pay attention to how the code is designed - no spaces or indents. Visual Studio does not allow sloppy writing, text int val = 55; will be automatically converted to int val = 55; . Perhaps this is not the fault of the author, but of the publisher, but reading the code glued in this way is very unpleasant.

    In fact, writing about programming in a lively and understandable language is very difficult, and even good experienced teachers may not be able to express their thoughts intelligibly. Writing correctly is also a kind of art, as well as the art of programming, but for some reason foreign authors own this art much better.

    PS I talked about the general level of books. It is clear that there are exceptions - and the book of our author may be good, and some book by a foreign author may be sucks.

    By the way, I put the third part of their lessons on C #. My lessons are not a masterpiece either :-).

    Also popular now: