Features
- Cover Type: Paperback with 816 pages
- Published by: Wrox
- Edition: 4th Edition November 5, 2007
- Written in: English
- ISBN 10 Number: 0470147628
- ISBN 13 Number: 978-0470147627
-
Book Dimensions:
9.1 x 7.3 x 1.8 inches
- Weighs: 2.6 pounds
Product Review
Provided you have some previous basic exposure to C and Unix,
Beginning Linux Programming delivers an great overview of the world of Linux development with an appealing range of essential tools and APIs.
The standout feature of
Beginning Linux Programming is its wide-ranging coverage of important topics in basic Unix programming. In a series of short chapters, the authors discuss the basics of writing Unix programs in C, with material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and advanced topics such as socket programming and how to create Unix device drivers.
Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. While you will not be an authority on X or GTK+ after reading this book, you will certainly be able to explore real Linux development on your own after the capable introductory guide provided here. (The book's main example, a CD-ROM database, gets enhanced in subsequent chapters using new APIs and features as the book moves forward.) This text also serves as a valuable primer on languages and tools such as Tcl, Perl, and CGI. (There's even a section that explains the basics of the Internet and HTML.)
More than ever, there is no shortage of specific information on Linux programming, but few titles provide such a wide-ranging tour of what you need to know to get serious with Linux development. In all,
Beginning Linux Programming gives the reader an intelligent sampling of essential topics in today's Linux. It's a wise choice for aspiring Unix C developers or folks seeking to extend the range of their Linux knowledge.
--Richard Dragan Topics covered: Linux overview, compiling C programs, shell programming, pipes, script keywords and functions, Unix file I/O in C, Unix system functions, terminal interfaces (termios, keyboard input, the curses library), memory management, file locking, dbm databases, make and source control basics, man pages, debugging with gdb, processes and signals, POSIX threads and synchronization, IPC and pipes, semaphores, queues and shared memory, sockets, Tcl basics, X Windows and GTK+ for GNOME, Perl basics, HTML and CGI, writing Unix device drivers.
--This text refers to an out of print or unavailable edition of this title.
Product Description
Beginning Linux Programming, Fourth Edition continues its unique approach to teaching UNIX programming in a simple and structured way on the Linux platform. Through the use of detailed and realistic examples, students learn by doing, and are able to move from being a Linux beginner to creating custom applications in Linux. The book introduces fundamental concepts beginning with the basics of writing Unix programs in C, and including material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and shell programming. Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. Advanced topics are covered in detail such as processes, pipes, semaphores, socket programming, using MySQL, writing applications for the GNOME or the KDE desktop, writing device drivers, POSIX Threads, and kernel programming for the latest Linux Kernel.
Reader Reviews
This review is from: Beginning Linux Programming (Programmer to Programmer) (Paperback)
If you are a sysadmin or want to learn programming on UNIX/LINUX you must have this book. I have several books on C and several on other languages I would trade them all for this. It covers the basics (essentials) that other books written exclusively for one language don't even touch on. I explains how all of the languages covered interplay with UNIX/LINUX. The first chapter covers programs, the C compiler, header files, staic libraries, and shared libraries. It explains they all come together to make a program in a way that it can be understood The second chapter covers UNIX shell scripts at length. I have good book on shell scripts, and this chapter alone is just as good as that book. The third chapter covers working with UNIX files, system calls, library functions etc... The sample programs all work as they are supposed to. Everything is clearly explained and easily understood. The 4th chapter covers passing arguments to C programs, envorment variables, temporary files, configuring logs, and system resources. I have not read any further, because I've only had this book a week. I've been looking for a book like this for a few years. It talks about how C and other languages interface with LINUX/UNIX rather than just giving you the pure language and leaving you to fend for yourself. Other chapters include: 5) Terminals 6) Curses 7) Data Management 8) Development Tools 9) Debugging 10) Processes and Signals 11) POSIX Threads 12) Inter-process Communication: Pipes 13) Semaphores, Mesage Queues, and Shared Memory, 14) Socets 15) TCL: Tool Command Language 16) Programming for X 17) Programming for GNOME using GTK+ 18) The Perl Programming Language 19) Programming for the Internet: HTML 20) Internet Programming 2: CGI 21) Device Drivers Appendex A) Portability Appendex B) FSF and the GNU Project Appendex C) Internet Resources Appendex D) Bibliography If you are only get one book on programming, this is the one you need. I have at least 8 other books on various programming languages, and this one is better than all of them combined. This book is 900 pages packed full information, and it's easily understood. The sample programs all work and are well documented. I write this review after reading only four chapters, because the information I have gotten out of them is worth way more than the price of this book. This book gives you all the pieces to the puzzles and tells you how to put it together. This book can be used by advanced programmers as well to fill in any knowlege gaps they may have. This book gets my highest recommendation, as it will be by my side for years to come.