| By Kevin Bedell | Article Rating: |
|
| March 16, 2004 12:00 AM EST | Reads: |
17,145 |
In this installmant of the Book Rookery, LWM Editor-in-Chief Kevin Bedell talks with Arnold Robbins about his new book, Linux Programming by Example: The Fundamentals, which will be invaluable to those just learning to develop under Linux.
Which programming languages are most popular for developing Linux applications and why?
- C. C is the language used for developing Linux and the basic libraries are all intended for use from C.
- C++. C++ is upwardly compatible with C, making it easy to use all the exisitng libraries and facilities. However, it provides considerable additional power and the ability to use multiple programming paradigms (object-oriented, generic, procedural) within one language.
- Perl. Perl is highly popular for application development, since it works across a huge range of systems and can access libraries written in C via dynamic loading.
What kind of applications are people developing using the techniques in your book?
Just about anything. The book deals with the fundamental Linux/Unix APIs: files and I/O, data about files, users and groups, sorting, searching, signals, times and dates, process creation, and management.After reading this book, a programmer will understand enough to write an application as complicated as a basic shell for doing process creation and I/O redirection, including pipelines and wildcarding. I feel that the chapters on internationalization and basic debugging are particularly valuable for someone just learning to develop under Linux.
Will your book help me develop KDE or GNOME applications?
Not specifically; it’s not aimed at GUI development. However, as KDE and GNOME applications are likely to do file I/O, the book provides a foundation of the basic Linux concepts upon which to build.How can I get started developing Linux applications? What are the first things I need to learn?
- The C or C++ languages. My book assumes you know C.
- How to use a text editor such as Emacs or Vim for entering programs.
- How to run the C compiler. The basic GCC command line is similar to that of C compilers everywhere, and you can do something as simple as
gcc -O *.c -o myprogram
to compile your source.
- How to use make and Makefiles. The online Info documentation on GNU Make should be enough to get started.
What are the most popular development tools used by people writing Linux applications?
- GCC, for both C and C++ compilation
- Emacs or Vim for text editing
- GNU Make to build software
- Autoconf and Automake for portability and configuration
- GNU Gettext for internationalization
- GNU Libtool for managing shared-library issues for programs that need to deal with shared libraries
- GDB or a graphical debugger built on top of it for debugging
- Gprof for performance profiling
Will learning the material in your book help me get a job? What kind of job?
If you know nothing about Linux development, this book will get you started. The job you’d be doing would be programming, not administration or support, although understanding the way Linux works is useful for understanding how the basic command-line tools work, which in turn is very helpful for doing system administration.About Arnold Robbins
Arnold Robbins is a professional programmer. He has an MS degree in computer science from Georgia Tech and has been working with C, C++, many kinds of Unix systems, and GNU/Linux since 1980. He has worked in both industry and academia, doing software development and teaching continuing education courses in the C, Unix, and networking areas. As a long-time volunteer for the GNU project, he maintains GNU Awk (gawk) and its documentation. He is the author of several other books, including UNIX in a Nutshell.arnold@skeeve.com
Published March 16, 2004 Reads 17,145
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Kevin Bedell
Kevin Bedell, one of the founding editors of Linux.SYS-CON.com, writes and speaks frequently on Linux and open source. He is the director of consulting and training for Black Duck Software.
- What Does 2004 Hold in Store for Linux?
- Linux.SYS-CON.com's Editor Responds to SCO CEO's Open Letter
- Linux Looking Forward: Twenty Linux Luminaries Look at Linux in 2004
- The Linux Cookbook: Michael Stutz On Using Linux For Everyday Activities
- Who Owns Unix?
- If Sun Released Java Under an Open Source License, What Type of License Might It Use?
- Is "Free Software" Dead?
- Version Control with Subversion
- To Whom It May Concern
- Open Source Developers Are Rock Stars
- SYS-CON Radio Interviews Sam Hiser of OpenOffice.org
- Open Source and Open Standards


























