Linux for Developers

Author: William "Bo" Rothwell
Publisher: Addison Wesley
Pages: 284
ISBN: 978-0134657288
Print: 0134657284
Kindle: B06ZY85CPJ
Audience: Wannabe Linux programmers
Rating: 2
Reviewer: Harry Fairhead

Programming in Linux is an interesting topic because there are so many ways to approach it.

I was very much looking forward to reading this book because while I have programmed using Linux, I have mostly been working with embedded systems and this doen't really count as general Linux programming. What I was looking forward to was finding out the bigger picture - how do you create a command line app and what about something with a GUI?

Sadly this book simply isn't about this topic. Despite having the subtitle "Jumpstart Your Programming Skills" it is almost devoid of programming content. 




The first part of the book is an introduction to open source software written as if the reader had never encountered the concept before. More importantly it outlines some programming concepts as if the reader had never encountered a program before - remember this is a book aimed at "developers". 

The second part of the book consists of five chapters which constitute a user or a sys admin view of Linux. It's a traditional course in the Linux command line - the files system, essential commands, text editors and so on. This is the sort of stuff you need to know to make your way around Linux from the command line and perhaps set things up so that you can have a productive development environment, but this isn't specifically targeting developers. This is a general introduction to Linux that you can find in all sorts of places. 



Part III is titled "Linux Programming Languages" and this consists of an overview chapter, a chapter on BASH, one on Perl/Python; and one on C, C++ and Java. This is where you might think that the book would finally prove useful to the developer who is supposed to be reading it.

It might but only if the developer is a very very beginning programmer. Each of the chapters is very short and amounts to a cameo of the language in question. Yes, the examples do target Linux but not in any meaningful way - you could be using these language on almost any OS.

The chapter on C, C++ and Java is about as deep into Linux programming as the book gets. It describes shared library files, which is something different about Linux from the programming view. So what is there about C, C++ and Java in the chapter? Virtually nothing at all. At the end of the chapter we get some notes about installing Java - that's it.

The final part of the book  consists of four short chapters on using Git. It's a reasonable introduction and relevant to the programmer, but again not really about programming in Linux.


This is not a terrible book, indeed it is well written - but it doesn't deliver on its title. It isn't for developers because there are lots of places where it talks to its readers as if they were complete non-programmers. It isn't really about programming in Linux in that it doesn't get down to the things that makes Linux different from, say, programming in Windows. It does give you a sort of survey of the languages you might use, but it really only covers Bash, Perl and Python in any depth and at the end of the day it's up to you which one to choose. It is even arguable that Bash shouldn't be included in the same breath as the other two as it is arguably not a full programming language. It also leaves out so many topics - what IDEs are available, what toolkits, what GUI Frameworks, what are system calls, how does the file system work and so on... 

There might very well be readers who would gets something out of this book, but if you are a programmer or a developer then you have been warned. 


To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.



Understanding Software Dynamics (Addison-Wesley)

Author: Richard L. Sites
Publisher: Addison-Wesley
Pages: 464
ISBN: 978-0137589739
Print: 0137589735
Kindle: B09H5JB5HC
Audience: Every developers
Rating: 5
Reviewer: Kay Ewbank

This book looks at the different reasons why software runs too slowly, and what developers can do about it, starting by looki [ ... ]

Seriously Good Software

Author: Marco Faella
Publisher: Manning
Date: March 2020
Pages: 328
ISBN: 978-1617296291
Print: 1617296295
Kindle: B09782DKN8
Audience: Relatively experienced Java programmers
Rating: 4.5
Reviewer: Mike James
Don't we all want to write seriously good software?

More Reviews

Related Reviews

Linux Kernel Development (3e)
Shell Programming in Unix, Linux and OSX, 4th Ed
Wicked Cool Shell Scripts 2nd Ed
Last Updated ( Tuesday, 17 October 2017 )