Average Customer Review:     
| If you want to learn to program on Linux, this is the book |     | Sam's TEACH YOURSELF C FOR LINUX IN 21 DAYS is the ideal book for the total beginner wanting to program in Linux. C is the dominant language on Linux, as the kernel and most GNU and GNOME apps are written in it, and this book teaches C in a clear manner without expecting the reader to already know programming concepts.The book opens with a few chapters of basic C program structure and the mathematical functions needed to perform tasks. After that, it immediately introduces three key programming concepts: strings and streams (inputing from and outputing to an external source). While most programming books don't discuss these concepts until late in the book, keeping the reader caged in mere theory without being able to make a useful program, TEACH YOURSELF C FOR LINUX introduces them early so that the learner can immediately start producing useful programs to solve common tasks. While Sam's guide to C++ programming on Linux is actually just its generic C++ guide with a few token Linux references, happily Sam's TEACH YOURSELF C FOR LINUX is really solid on Linux and its authors are have actual experience in open-source design. My only complaints are the limited coverage of structs, which can really make C programming easier and more powerful if used correctly, and of the GNU C Library. The glibc info documentation is so concise and difficult to follow that beginners need a better guide, and it's a shame that this book didn't provide it. The book is also three years old, so its chapter on GUI programing with GTK is somewhat out of date now that GTK2 has been released, although porting a GTK+ app to GTK2 is not a lot of work. Linux is a platform where luckily all the tools one needs to get started programming are shipped free, and contribution to free (or "open-source") is encouraged. If you want to capitalize on the advantages of the platform, Sam's TEACH YOURSELF C PROGRAMMING FOR LINUX is the way to go.
| An Excellent Choice For The Beginning C Programmer |     | Before I read this book I had already some experiences in Turbo Pascal, Delphi and little Visual C++. But since I recently switched to Linux as my primary operating system I decided to learn C.This book does an excellent job explaining C from the very basics. It does not assume any previous programming experiences! Although this was helpful to me, I am sure I could have understood the presented concepts without knowing other programming languages. You also do not have to know much about Linux itself, mostly is explained in the book in a very direct and clearly understandable way. It teaches you almost everything compiling your code with gcc, how to use pointers (one of the most difficult aspects in C, I think) to programming for the GUI (Graphical User Interface) with gtk+. Although the chapter about GUI and gtk+ is existent it shows only the very basics. If you consider programmming with gtk an additional book will certainly be required. The book is devided in 21 easy to read chapter that each cover one aspect of C. But it seems like some chapters, which are suggested to read one at a time,( especially 13, 14, 18), cover a little bit too much for just one day, while others like chapter 1,2 and 19 could be joined with others. The book also claim to teach you how to acces the printer with C, but it simply does NOT. It mentions the possibility to redirect a "stream" to the printer, but does not actually tell how to achieve that. To learn C the way the book teaches it you seriously need to invest some time and stay focused. Since the chapters build up on each other you sometimes wil have to go back and reread some sections. After you learned C with this book you may want to buy a "refernce" that explaines more functions and commands in order to look the syntax of some commands up for which this book is unsuited. O verall the book does a good job teaching the C language with specifications for the Linux environment (it also tells you what to do in order to make your code portable!). If you are new to Linux and want to learn a powerful programming language this is definetelly the book for you! I gave the book only four stars because of some editing errors and the nonexistent printer-acces feauture. If this is revised in the second edition it absolutely earns FIVE stars!
I have been learning C++ for a while on a linux platform, and started to look at some C stuff in the kernel and other programs to broaden my knowledge. I saw that that although C++ is derived from C it doesn't necessarily do stuff the same way, so I picked up this book. It was right on the mark! and explained some peculiar C stuff right away and in a good easy to read style. It consolidated my knowledge well an added to my understanding, particularly with pointers to pointers by including well thought out text and pictures well done. It also provides a good tutorial into basic GCC usage and the peculirities of programming for Linux, I recomend it.
|