Book Announcement 7'2010

    Russian and foreign publishers are working hard for the benefit of simple developers and publish dozens of books a month from various fields of computer science. Moreover, as in many other areas, the percentage of quality goods remains at a certain (not too high) level. Before you go to the store and buy a book (yes, I’m old-fashioned in this matter and I don’t understand how to read a good technical book in electronic form) you have to spend a lot of time studying whether it is worth the money and effort.

    Before choosing a book, in the same way I try to find out the answer to this question using some criteria, which are “cross-references” of authoritative authors to each other, the name of the author himself (few doubt the quality of the next book by Jeffrey Richter, his books can be taken practically without hesitation), as well as reviews, preferably also well-known people.

    Recently, a sufficient number of interesting books have been published (or are going to be published), both in Russian and in English, so I decided to make a selection of books that I either just recently purchased or would love to do it in the very near future. I personally personally know some of the books below to one degree or another and my opinion is more justified, in some other cases I am based on the above criteria, so my opinion may not be very accurate (although my opinion may not be anyway match yours). The list below is such a wish list of new products in computer literature, which can be a starting point when choosing a book by other specialists.

    R. Martin. Pure code: creation, analysis and refactoring. Peter. 2010


    ( Original : Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008)

    image


    annotation

    Even bad code can work. However, if the code is not “clean”, it will always interfere with the development of the project and the development company, taking significant resources for its support and “taming”.

    This book is about good programming. It is full of real code examples. We will consider the code from various directions: from top to bottom, from bottom to top, and even from the inside. After reading the book, you will learn a lot about the code. Moreover, you will learn to distinguish good code from bad code. You will learn how to write good code and how to convert bad code to good.

    The book consists of three parts. The first part outlines principles, patterns, and techniques for writing clean code; A large amount of code examples are provided. The second part consists of practical scenarios of increasing complexity. Each scenario is an exercise in cleaning the code or converting the problematic code into code with fewer problems. The third part of the book is a concentrated expression of its essence. It consists of one chapter with a list of heuristic rules and “code smells” collected during the analysis. This part is a knowledge base that describes our way of thinking in the process of reading, writing and cleaning code.

    Opinion

    There are several arguments that speak in favor of this book, and although each individually may not look very convincing, if you put them all together, you can conclude that the book is at least worthy of close attention on your part.

    Firstly, “uncle” Bob Martin is a very famous person, the author of many famous and popular books and articles, in particular, he is the author of such a concept as SOLID design principles. Secondly, this book is very, very well received by the readership: rating 4,5 on amazon.com (with 67 reviews), a huge number of positive reviews on the stackoverflow website (look like this ), and it’s easy to find reviews on Google in this book (look like that) Thirdly, this is a high quality book and an unforgettable authorial style of presentation. The topic of clean code is not new in computer literature, quite a lot has been said about this, but Bob’s “uncle” does it cool: the book covers a large number of code examples; the style of presentation is clear and simple, and the authors have a good sense of humor.

    When I just started reading this book, the very first drawing made it clear that this lesson would be very interesting:

    image

    And I'm not disappointed in this yet.

    PS The book has a pretty good Russian translation. There are terms that I do not agree with the translation, but in general, the Russian edition made a very good impression on me (except for the translation of the second title of the book, which in the original sounds like “A Handbook of Agile Software Craftsmanship”, but in the Russian version it turned out “ Creation, analysis and refactoring ”).

    Sitelinks

    Buy : books.ru , ozon.ru , amazon.com

    Reviews : google , stackoverflow

    Quotes : quote sheet

    C. Date. SQL and relational theory. How to write SQL code correctly. Symbol Plus. 2010


    ( Original : CJ Date, SQL and Relational Theory, O'Reilly Media, 2009)
    image

    annotation


    The SQL language is ubiquitous. But working with it is not easy: it is complicated, confusing, it is easy to make a mistake when writing SQL commands. Understanding the theory behind SQL is the best way to ensure that your code is written correctly and that the database itself is reliable and easy to maintain.

    In the proposed book, C.J.Date, a recognized expert who began to deal with these issues back in 1970, demonstrates how to apply relational theory to everyday SQL practice. The author explains in detail various aspects of this model, argues and proves, gives numerous examples of the use of this language in accordance with relational theory.

    Without being tied to any specific product, the publication is based on many years of research experience and represents the most relevant material presentation to date. Anyone with at least some experience using SQL — from modest to very extensive — will benefit greatly from reading this book.

    Opinion

    Chris Date is one of the most respected people in the field of relational databases, on his account more than ten books (including "Introduction to Database Systems"), as well as more than a hundred scientific papers (many of which are available in Russian on the resource citforum.ru ) This is the last book by Chris Data, which is currently published and it is a logical continuation of one of his previous books “Database in Depth: Relational Theory for Practioners”. All Data's books cannot be called simple; they are hard enough to read; they deeply examine the theoretical aspects of the relational model; they often criticize modern DBMS implementations based on SQL, and many examples are given in Tutorial D. If you do not need a reference to the SQL language and you are not ready to devote enough time to this book to study this book, then, most likely this book will suit you. If you need a SQL reference or an introductory course on this topic, then it is better to turn your attention to other sources. But if you are willing to spend enough time studying more fundamental things, then this book may be useful to you.

    Sitelinks

    Buy : books.ru ; ozon.ru ; amazon.com

    Reviews : Review by xaprb

    Neil Ford et al. 97 Studies for Software Systems Architects. Symbol Plus. 2010


    (Original: 97 Things Every Software Architect Should Know, O'Reilly Media, 2009)

    image

    annotation

    A successful career as a software architect requires a good command of both the technology and business aspects of architecture design. In this unusual book, leading software architects from around the world discuss important development principles that go far beyond purely technological issues.

    The software architect acts as an intermediary between the development team and the business management of the company, therefore, in order to succeed in this profession, it is necessary not only to master various technologies, but also to ensure work on the project in accordance with business goals. In the book, more than 50 architects talk about what they consider to be the most important in their work, give advice on how to organize communication with other project participants, how to reduce the complexity of architecture, and how to support developers. They generously share many useful ideas and techniques that they have learned from their many years of experience. The authors hope that the book will become a source of inspiration and a guide to action for many professional programmers.

    Opinion

    I am familiar with this book closer than with other books presented in this review, since I worked on it as a scientific editor of a Russian-language publication, but I do not think that this will impose any restrictions on the objectivity of my judgments.

    I cannot apply such epithets to this book as “magnificent”, “unforgettable”, “delightful” and something like that, since frankly speaking, this is not true. This book cannot be placed next to the books of Fowler, Meyer, Butch or Beck, rather it is just a “solid”, “high-quality” and “interesting” book that will be useful to most professional developers. It does not reveal the sacred knowledge of the secret society of architects, after reading which you will be able to open the doors with your feet to your leader. But at the same time, interesting topics are raised in the book, ranging from simple technical tips like the benefits of continuous integration, to more philosophical questions, such as advice not to be too smart or recommendations for dealing with essential complexity.

    Books with a similar presentation format have been popular for several decades (remember that Brooks’s famous Mythical Man-Month is also an essay collection), but unlike many other editions, this book of studies was too short (97 studies on 255 pages ) As a result, the authors simply do not have the opportunity to reveal the topic, they can only state some facts that the reader can believe, or maybe not. Many of these facts will be useful even if the reader has never heard of them, but many of them, due to their small volume, can simply slip past the reader’s consciousness and not get stuck in the head. In addition, most of these sketches are familiar to almost every professional developer, but due to their diversity, almost every professional will find something interesting for himself.

    Sitelinks

    Buy : books.ru ; ozon.ru ; amazon.com

    Reviews : 1 , 2 , 3

    Electronic Version: The book is available as original, unedited contributions for the book on a separate OReilly wiki page at 97things.oreilly.com/wiki/index.php/97_Things_Every_Software_Architect_Should_Know_-_The_Book

    Jon Skeet. C # in Depth, Second Edition, 28 August 2010


    image

    annotation

    C # has changed significantly since it was first introduced. With the many upgraded features, C # is more expressive than ever. However, an in depth understanding is required to get the most out of the language.

    C # in Depth, Second Edition concentrates on the high-value features that make C # such a powerful and flexible development tool. Rather than re-hashing the core of C # that's essentially unchanged since it hit the scene, this book brings readers up to speed with the features and practices that have changed with C # from version 2.0 onwards.

    This completely revamped Second Edition is extremely current, covering the new features of C # 4 as well as Code Contracts. Readers will master the subtleties of C #, learning how to tame the trickier bits and apply them to best advantage. Insider tips teach readers how to avoid hidden pitfalls. This book is designed for readers who have learned the basics of C #.

    Opinion

    This year, literally in a month (August 28, 2010), the continuation of the wonderful book by Jon Skeet (C # In Depth) is due out. If we talk about the previous edition, we can definitely say that this is one of the most powerful books about the C # language that has ever been published (yes, do not confuse it with Richter's books; Richter still writes about the .net platform, and Skit - about the C # language). The book truly answers its title; topics are considered very deeply, but despite this, the presentation style is simple and clear, with a lot of good visual examples.

    In addition, even if you are not interested in computer literature, you may have come across the name of John Skeet earlier. He is the author of a very popular blog and number 1 on the stackoverflow website, so it is quite possible that when you were looking for an answer to a question related to the C # language or the .net platform, you came across answers or articles from this person.

    So I do not know about you, but I can’t wait for this book to be published.

    Sitelinks

    Buy : amazon.com

    Reviews of the previous edition : there are a lot of reviews on this book , it doesn't make any sense to cite them all, but it's still worth highlighting Eric Lippert's review .

    Anders Hejlsberg et al. The C # Programming Language. 4th Edition. October 18, 2010


    image

    annotation

    “Based on my own experience, I can safely say that every .NET developer who reads this will have at least one 'aha' moment and will be a better developer for it.”

    –From the Foreword by Don Box

    The popular C # programming language combines the high productivity of rapid application development languages ​​with the raw power of C and C ++. The C # Programming Language, Fourth Edition, is the authoritative and annotated technical reference for C # 4.0.

    Written by Anders Hejlsberg, the language's architect, and his colleagues, Mads Torgersen, Scott Wiltamuth, and Peter Golde, this volume has been completely updated and reorganized for C # 4.0. The book provides the complete specification of the language, along with descriptions, reference materials, code samples, and annotations from nine prominent C # gurus.

    The many annotations bring a depth and breadth of understanding rarely found in any programming book. As the main text of the book introduces the concepts of the C # language, cogent annotations explain why they are important, how they are used, how they relate to other languages, and even how they evolved.

    This book is the definitive, must-have reference for any developer who wants to understand C #.

    Opinion

    This is another book that will be published only in a few months, but which I would very much like to mention now.

    You might think (yes, I myself thought so for a long time) that reading the specification is not a very reasonable occupation that is not capable of bringing tangible benefits to a mere mortal, but this is not so. Although the specification is written in dry language, it contains a ton of useful information that can easily replace you with MSDN or books by other authors. Such a book cannot (although rather hard) be read from cover to cover; but it’s quite possible to return to it again and again when some controversial situations arise or you need to find out what behavior should be in a particular case. In addition, annotations written by recognized experts in their field complement this formal presentation and make reading this book a more enjoyable task.

    Sitelinks

    Buy: amazon.com

    Reviews of the previous edition: 1 , 2

    B. Meyer. Touch of Class: Learning to Program Well with Objects and Contracts. 2009


    image

    annotation

    From object technology pioneer and ETH Zurich professor Bertrand Meyer, winner of the Jolt award and the ACM Software System Award, a revolutionary textbook that makes learning programming fun and rewarding. Meyer builds his presentation on a rich object-oriented software system supporting graphics and multimedia, which students can use to produce impressive applications from day one, then understand inside out as they learn new programming techniques.

    Unique to Touch of Class is a combination of a practical, hands-on approach to programming with the introduction of sound theoretical support focused on helping students learn the construction of high quality software. The use of full color brings exciting programming concepts to life.

    Among the useful features of the book is the use of Design by Contract, critical to software quality and providing a gentle introduction to formal methods.

    Will give students a major advantage by teaching professional-level techniques in a literate, relaxed and humorous way.

    Opinion

    This book is very hard to call a novelty today, because almost a year has passed since its release, but I would still like to draw attention to it, since it received undeservedly little attention from the computer community. This is a textbook written by one of the most serious scientists in the field of object-oriented programming, Bertrand Meyer, which is based on the Computer Science course at the University of Zurich. I am very sorry that none of the Russian publishers undertook this book, since it would be an excellent textbook for students and many other specialists who want to supplement their knowledge in various fields of computer science. This book covers a wide range of topics, from the concept of variables, basic data structures and algorithms, to lambda calculations, object-oriented programming and design by contract. So I really hope that our publishers will still change their minds and still pay attention to the next book of Professor Meyer.

    Sitelinks

    Buy: amazon.com

    Additional links: official website of the book ; Bertrand Meyer on the release of a new book

    Also popular now: