Learning a programming language often involves learning the syntax and semantics of a language. However to become an expert at a language requires one to move beyond writing simple programs to developing a large enough system in which the code needs to be readable, maintainable and can be evolved in future.Writing small programs using the syntax of a language does not teach these key skills to developers. In simple programs, one can get away with having non meaningful names and brittle code. Since the only person reading this code is the same developer, it does not create readability issues, at least in the short run, which is typically the lifetime of these small programs. However such habits can carry over when working with on a large system comprising of a large team of developers. As Harlan Mills wrote in his book, Software Productivity.Our present programming courses are patterned along those of a "course in French Dictionary". In such a course we study the dictionary and learn what the meaning of French words are in English. At the completion of such a course in French dictionary, we then invite and exhort the graduate to go forth and write French poetry. Of course some people are able to write French poetry and some not, but the skills critical to writing poetry were not learned in the course they just took in French dictionary. This book takes a different approach to acquire expertise on a language. It takes a use case of developing a key value datastore using Go. Not only does it cover the language fundamentals, it also does a deep dive into distributed storage and system models and concepts, consensus algorithms, API design and implementation.
Read More
Specifications
Book Details
Publication Year
2019 August
Contributors
Author Info
MANEESH CHATURVEDI lives in Bangalore, India. He has two decades of programming experience. Over these two decades, he has worked on different programming languages like C, Java, Erlang, Scala and most currently Go. He has architected, designed and developed high scale systems in Yahoo, Intuit and Target.
Dimensions
Width
6
Height
9
Weight
486
Be the first to ask about this product
Safe and Secure Payments.Easy returns.100% Authentic products.