Programmers have long said that the quickest way for them to
learn is by seeing and experimenting with sample code. Couple that
with the historical shortage of current, tutorial-style information
for some aspects of Linux, including development, and the rapidly
increasing number of Linux programmers, and you can see why we're
launching our newest project on LinuxProgramming.com,
In essence, SourceLib will be a categorized, searchable library
of sample code. Each sample will be a complete, standalone package
of one or more programs that demonstrates how to use certain APIs
for some specific task, and it will include the source, make file,
and anything else needed to compile and run it. All samples will be
either freeware or released under one of the licenses approved by
the Open Source Initiative.
SourceLib is intended to help just about anyone programming for
Linux. This includes newbies just learning to program, programmers
moving to Linux from another platform, and even experienced Linux
programmers who might be looking for a quick way to learn about
some aspect of Linux coding they've never touched before.
Eventually we'll be covering almost every area of program
development, including the kernel, device drivers, and command-line
and GUI applications. We'll be covering core techniques, like file
handling basics, memory mapping files, and interprocess
communication, as well as using the more popular toolkits and
environments, like Qt, Gtk+, KDE, and GNOME.
The code samples in SourceLib will not be quick, fragile hacks
that manage to "get something to work" under ideal circumstances.
Instead, they'll be oriented toward teaching about API's and
techniques, and how to use them effectively. All samples will be
heavily commented, and many will also include special make file
targets or script files to run tests. Perhaps most important of
all, they're intended to be examples of good coding practice--
noticeably better than those routinely published in magazines and
Initially all the samples will be written in C or C++, but we
plan to expand the languages covered to include bash, Perl, Python,
Java, assembly language, and others.
Of course, the most important part of the SourceLib project is
the feedback we'll get from readers. If you want to pitch in and
help write some samples, see the link below for our submission
guidelines. If you'd like to help but aren't sure your coding
skills are up to the job, don't worry, you can still make a
valuable contribution simply by suggesting new topics for us to
cover or sending us your comments about the project. I look forward
to hearing what you want SourceLib to be, and seeing how the
The first SourceLib code samples were posted this morning.