Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet
Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
|
 |
Linux Application Development |
List Price: $47.95
Your Price: $32.61 |
 |
|
|
|
| Product Info |
Reviews |
Rating:  Summary: Fantastic book Review: Johnson and Troan is a great book for Linux programmers. It covers in good detail a wide range of topics in system programming, including process management, file and directory structures, linux development tools, signals, and terminal programming. Network programming is lightly covered, but network programming is a very large topic and is covered well in other books. Threads are also not covered, but again, threaded programming is a complex topic and is covered elsewhere. Johnson and Troan contains a long running example program, ladsh, which is a shell. This is a great example because developing a shell requires a high degree of interaction with the kernel and file system. The book does a great job of accurately covering the function prototypes for the core system library, including the many flags passed as parameters. Overall this is an excellent book, and it is one of the most frequently used programming texts on by shelf. I highly recommend it.
Rating:  Summary: Fantastic book Review: Johnson and Troan is a great book for Linux programmers. It covers in good detail a wide range of topics in system programming, including process management, file and directory structures, linux development tools, signals, and terminal programming. Network programming is lightly covered, but network programming is a very large topic and is covered well in other books. Threads are also not covered, but again, threaded programming is a complex topic and is covered elsewhere. Johnson and Troan contains a long running example program, ladsh, which is a shell. This is a great example because developing a shell requires a high degree of interaction with the kernel and file system. The book does a great job of accurately covering the function prototypes for the core system library, including the many flags passed as parameters. Overall this is an excellent book, and it is one of the most frequently used programming texts on by shelf. I highly recommend it.
Rating:  Summary: The best Linux programming book on market now. Review: Most Linux books on market now are aiming users or beginning programers, but this is the book for real Linux programmers. You can find many things you can not in other Linux books.
Rating:  Summary: Good content, but poor or missing examples Review: The book was a big disappointment after reading all the reviews. I found the content to be complete, but I would like to see more examples. Also the examples they have were not explained well.
Rating:  Summary: A lot of good info in one place, but organization needs work Review: The Linux operating system provides a sophisticated framework for running programs. Within its sturdy covers, Linux Application Development by Michael K. Johnson and Erik W. Troan provides much of what intermediate to advanced programmers need to know to take advantage of that framework.
The book is divided into four major parts: Getting Started, Development Tools and Environment, System Programming and Development Libraries.
Part 1 - Getting Started, is a very high-level overview of Linux itself. The three chapters cover barely 20 pages, and discuss the history of Linux, its licensing, and the online documentation.
Part 2 - Development Tools and Environment gets more detailed, but ends up as a medium-level view of what tools you might use to actually create and debug your application. Six chapters covering about 75 pages discuss editors (Emacs and vi), make, the GNU debugger gdb, tracing, gcc options, glibc, memory debugging tools, libraries, and the environment. Each chapter feels a little light-weight except for the one on memory debugging tools.
If the first two parts seemed to just skim the surface somewhat, Part 3 - System Programming definitely dives into the deep end of the pool. Part 3 has 13 chapters and covers 450 pages, almost two-thirds of the total book. My major complaint with Part 3 is that related chapters appear to be separated by others. Five major groups of functionality are covered.
The Unix/Linux process model is explained in detail in Chapter 10, and should be followed by chapter 15, which goes into job control. File handling is introduced in chapter 11, expanded in chapter 13, and directory handling is covered in chapter 14. Interprocess communication is discussed in chapters 12 - Signal Processing (discussing simple semaphores) and chapter 17 - Networking with Sockets, which extends IPC across the network. User interfaces are covered in chapters 16 (terminals and pseudo-terminals), 20 (virtual consoles), and 21 (text-based interfaces for the Linux console). Timers, encryption, and writing secure programs are the topics of chapters 18, 19, and 22.
Finally, Part 4 covers the various development libraries commonly available to the programmer. Chapter 23 covers the ins and outs of string handling and regular expressions. Using S-Lang to handle the terminal is the main interest of the next chapter. Chapter 25 discusses database interfaces, specifically qdbm, which is licensed under the LGPL. Traditional option functions getopt and getopt_long and their cousin on steriods popt are detailed in the following chapter. The final two chapters cover dynamic loading of shared objects with the advantages that provides, and user identification and authentication, covering id-to-name translation, and Pluggable Authentication Modules (PAM).
This book has a lot of information packed within its covers, When programming, one needs a number of reference books at hand, and Linux Application Development should definitely be one of the handiest. My only concerns were how the first two parts seemed skimpy compared to the rest of the book, and the part on System Programming could have been laid out better. That said, Linux Application Development rates a 4 out of 5.
Rating:  Summary: Contains information that is hard to find in other places. Review: This book contains information that is just not in more introductory level Linux programming books. It is really Linux specific, rather than a Unix programming book that just has Linux printed on its cover because Linux sells books right now. In addition to covering the traditional interfaces, the Linux specific interfaces that those are built on top of are also covered. Readers should notice that several of the interfaces used in this book are being depreciated infaver of reintrant (thread/signal safe) versions. This is something that hadn't yet happened when this book was written and is easily fixed by reading the man pages for any function that you worry about, as most have been made thread safe or have a thread safe version now. Before reading this, I spent a lot of time using strace (easier than reading source code for apps and libs) on programs to figure out how they did things that other books on Unix or Linux programming left out. The GOOD parts of this book are mostly in section 3 (system programming) and later, but well worth getting the book just for that. To read this book you should: _ know how to program in C _ know how to use Unix or Linux from a command shell _ know what users and groups are Like most Linux books, this one waste too much space in the beginning telling what Linux is, what Unix is, and other stuff that is just included in too many books already. This book may not tell you everything there is to know about programming for Linux, but it tells you enough to let man pages tell you the rest.
Rating:  Summary: Contains information that is hard to find in other places. Review: This book contains information that is just not in more introductory level Linux programming books. It is really Linux specific, rather than a Unix programming book that just has Linux printed on its cover because Linux sells books right now. In addition to covering the traditional interfaces, the Linux specific interfaces that those are built on top of are also covered. Readers should notice that several of the interfaces used in this book are being depreciated infaver of reintrant (thread/signal safe) versions. This is something that hadn't yet happened when this book was written and is easily fixed by reading the man pages for any function that you worry about, as most have been made thread safe or have a thread safe version now. Before reading this, I spent a lot of time using strace (easier than reading source code for apps and libs) on programs to figure out how they did things that other books on Unix or Linux programming left out. The GOOD parts of this book are mostly in section 3 (system programming) and later, but well worth getting the book just for that. To read this book you should: _ know how to program in C _ know how to use Unix or Linux from a command shell _ know what users and groups are Like most Linux books, this one waste too much space in the beginning telling what Linux is, what Unix is, and other stuff that is just included in too many books already. This book may not tell you everything there is to know about programming for Linux, but it tells you enough to let man pages tell you the rest.
Rating:  Summary: Good Book for beginning Linux Programming Review: This book covers many of the GNU tools for debugging and Makefiles before it even gets into the actual OS specific stuff. It is an excellent book for learning about the Process model of Linux also.
Rating:  Summary: Elementary introduction to linux/unix programming Review: This book does a decent job introducing basic concepts of unix (system) programming. It would be great for a newcomer to linux/unix. However, the unix/linux specific information is very incomplete - searches on google for related topics often yield more useful leads. On the system programming aspects, beyond the basics, this book is of no comparison to classics like Stevens' "Advanced Programming in the UNIX Environment". It only skims various system calls without detailed description of what's going on behind the scene, which most seasoned unix programmers would consider important. For newcomer who prefers a more rigorous approach to learning unix programming (but not as detailed as Stevens'), I would recommend Robbins' "Practical UNIX Programming: A Guide to Concurrency, Communication, and Multithreading".
Rating:  Summary: Excellent book for anyone interrested in coding Linux apps. Review: This book is a great place to start for the experienced and semi-experienced programmer who is somewhat new to Linux. It has an excellent chapter explaining the sometimes confusing legal code behind Open Source Software. It is also a very good book for those simply curious about the Open Source model as it applies to Linux.
|
|
|
|