Book I've read in 2018

Little review of each one

Posted by Otavio H. P. Valadares on December 31, 2018

I decided to make this post as a summarize of tech books that I’ve read this year, unfortunately this year I only read six technical books and six misc (that I’ll talk shortly at the end).

All these reviews I posted a book review on goodreads, as I started last month I’ve marked all books as “read” today but I’ve read it during the entire year, you can check my profile at Goodreads here that in 2019 I’ll use this social network on the right way, feels free to follow me.

This year I’ve read different kinds of books, because some books I decided to read because of unexpected needs like, the operating systems books I decided to read because I felt curious at university classes, or that I decided to read “Working effectively with legacy code” to improve my knowledge of legacy code and help more at my work. Let’s start each book review.

99 Bottles of OOP

99 Bottles of OOP Cover

You can check this review at Goodreads here

I don’t have how to not give a five star to Sandi Metz when talking about OOP. This book is a complete book of OOP and if you make the exercise at the beginning of the book it will blow your mind and increase your experience with the book. It’s a good sequel to Practical Object-Oriented Design in Ruby.

I have a love relationship with Sandi Metz books, and this is not an exception, I recommend this book for all programmers, the quality of the lessons about object oriented programming is unparalleled.

If you can, you can buy it at Sandi personal site, just click here

The Clean Coder

The Clean Coder Cover

You can check this review at Goodreads here

Robert C. Martin is very famous for the “Clean Code”, on this book he writes about something like one “code of conduct” that every programmer should follow, and It’s very controversial but for me, it’s normal because is his opinion. I didn’t like the book because the entire book sounds like someone telling you a list of conduct rules that you should follow to be a good programmer, it doesn’t mean that you don’t need to follow any rules described, some rules are good and in my opinion you need to follow them (some of them), but I feel worried if someone read it and start following all these rules as if they were all true without wondering about.

One good thing in this book is the real stories that uncle bob writes almost in the entire book, some stories are very interesting and tell a little about the past and the background of the author.

3 stars.

If you can, you can buy it at Amazon, just click here

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Cover

You can check this review at Goodreads here

This is a Brazilian book and as you can perceive with the title, it is written in Portuguese, but I’ll make a summary in English.

This book is awesome and the translated title is “Operating Systems architecture”, its not a deeply technical book if you compare with Tanenbaum’s books for example, but it works as expected as a starter kit for operating systems, it has many pictures that can help understand the topics. It is basically a summarize of all operating systems without going deep in any “code”. For me, it was a five stars read.

If you can, you can buy it at Amazon, just click here

The C Programming Language

The C Programming Language

You can check this review at Goodreads here

The C bible, this book nowadays still relevant and can be a good C book for those who are starting or want to remember to program on C language. I don’t recommend it for beginners, I think that there are good books of C programming for beginners that don’t have any background.

If you can, you can buy it at Amazon, just click here

Working Effectively with Legacy Code

Working Effectively with Legacy Code

You can check this review at Goodreads here

This book is famous and I think when it was written, it made a lot more sense than nowadays. In most parts, the book treats legacy code only as the project that doesn’t have tests and spend a lot of time telling you how to make changes in small steps and write tests, unfortunately nowadays many developers deals every day with legacy code that have tests and face other kinds of problems like, libs versions, architecture, technical debts, refactoring and much more (The book talks about some problems that I described here, but not in an up-to-date way), the fact that the code “doesn’t have tests” is not the only thing that classifies it as legacy code anymore.

If you’ll read this book, jump to chapter 14.

If they release the second edition of this book, I’ll buy for sure.

If you can, you can buy it at Amazon, just click here

Automate the Boring Stuff with Python

Automate The Boring Stuff With Python Cover

For those who already follow my activities you already know that I’ve read it, and I already have a full review here, at my blog, if you want to check the full review click here

You can check this review at Goodreads here

5 stars for beginners. 3 stars for programmers who already know how to program in another interpreted programming language like Ruby.

TL;DR: It’s a book recommended for novices, for me, it’s a good book for beginners, but for people who already know how to program in other dynamic and interpreted programming language, I think is not necessary to read this book, go ahead an read something more advanced.

The book is divided into two parts, the first one talks about all the basic things of any programming language like variables, loops, ifs/else and etc. This part is good to understand the basic of python. This part covers all between variables and manipulates text.

The most interesting is the second part when you create a lot of applications to automate boring stuff, but the first part is good to understand and knows the python basic. One thing that I loved on this book is the fact that it has a lot of exercises (with answers) to you train what you learned on the chapter, if you do all the exercises your read will be funnier and you’ll learn much more.

Conclusion: The only bad thing on this book is that this is a simple book for people that already know how to program, but this is not a problem because the book doesn’t say that is something advanced, but even for who already knows how to program, the second part with practical projects can be very good.

If you can, you can buy it at Amazon, just click here

How to Win Friends and Influence People

This is the only non-technical book that I’ll talk about on this post because for me it makes sense and I’ll be short.

How to Win Friends and Influence People Cover

You can check this review at Goodreads here

A good and classic book of how to deal with people and leadership. The book shows you a lot of real examples and histories, with some obvious things and some not so obvious.

If you can, you can buy it at Amazon, just click here

What’s next?

My focus on 2019 first semester will be compilers and programming languages design, I already bought some books and start reading, I think I’ll make great posts about compilers :)

Final thought

If you have any question that I can help you, please ask! Send an email ([email protected]), pm me on my Twitter or comment on this post!