|Linux for Developers
Author: William "Bo" Rothwell
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.
|Last Updated ( Tuesday, 17 October 2017 )