Book 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. Neil Matthew
has been interested in and has programmed computers since 1974. A
mathematics graduate from the University of Nottingham, Neil is just
plain keen on programming languages and likes to explore new ways of
solving computing problems. He's written systems to program in BCPL, FP
(Functional Programming), Lisp, Prolog, and a structured BASIC. He even
wrote a 6502 microprocessor emulator to run BBC microcomputer programs
on UNIX systems. In terms of UNIX experience, Neil has used almost every
flavor since the late 1970s, including BSD UNIX, AT&T System V, Sun
Solaris, IBM AIX, many others, and of course Linux. He can claim to have
been using Linux since August 1993 when he acquired a floppy disk
distribution of Soft Landing (SLS) from Canada, with kernel version 0.
99. 11. He's used Linux-based computers for hacking C, C++, Icon,
Prolog, Tcl, and Java at home and at work.
All of Neil's “home” projects are developed using Linux. He says Linux
is much easier because it supports quite a lot of features from other
systems, so that both BSD- and System V-targeted programs will generally
compile with little or no change.
Neil is currently working as an Enterprise Architect specializing in IT
strategy at Celesio AG. He has a background in technical consultancy,
software development techniques, and quality assurance. Neil has also
programmed in C and C++ for real-time embedded systems.
Rick Stones started programming at school (more years ago than
he cares to remember) on a 6502-powered BBC micro, which, with the
help of a few spare parts, continued to function for the next 15
years. He graduated from Nottingham University with a degree in
Electronic Engineering, but decided software was more fun.
Over
the years he has worked for a variety of companies, from the very
small with just a dozen employees, to the very large, including the IT
services giant EDS. Along the way he has worked on a range of
projects, from real-time communications to accounting systems, to very
large help desk systems. He is currently working as an IT architect,
acting as a technical authority on various major projects for a large
pan-European company.
A bit of a programming linguist, he has
programmed in various assemblers, a rather neat proprietary
telecommunications language called SL-1, some FORTRAN, Pascal, Perl,
SQL, and smidgeons of Python and C++, as well as C. (Under duress he
even admits that he was once reasonably proficient in Visual Basic,
but tries not to advertise this aberration.)