[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: learning programming



"Mr. Jan Hearthstone" <hearthstone11@yahoo.com> wrote:

>     But let's suppose that I want to learn programming
> (perhaps to compile kernels, etc.) - what would be a
> good start? Symbolic logic? (Where to get a good
> instruction on that one?) C++? ... Slip? What language
> is the one most widely used for Linux?
>   Thnx, Hrthstn.

I'm fairly new to Linux, but it sounds to me like you're just wanting to
know what I wanted to know not very long ago:  How the heck can I really
"dig into" Linux?  I think the specific "language" you're looking for is the
language of the shell (most likely BASH).  There are quite a few books with
titles like "Linux Programming" or "UNIX Shell Programming" that you might
find helpful, but I've yet to find one that I feel is ideal for beginners
(suggestions would be welcomed).  But the two that have proven the most
useful to me are:

_Debian GNU/Linux Bible_   by Steve Hunger
_Linux:  Networking for Your Office_   by Roderick W. Smith  (don't worry if
you don't have an "office"; this is a very carefully written and valuable
general reference)

Here's a quote from _Debian GNU/Linux Bible_ Chapter 14:  "Shells", which
immediately precedes the chapter on compiling the kernel:

"The true power and flexibility of the Linux operating system is perhaps
best realized in the shell.  With the shell, you have at your fingertips the
means to accomplish almost any computing task.  At its simplest, the shell
provides an interface between the user and the operating system.  The user
enters commands into the shell, and the shell arranges for them to be
carried out.  But the shell's greatest strength is that it serves as a
high-level programming language.  This means that you can arrange the shell
commands into programs called scripts."

As for a general programming language suitable for creating large, very
efficient programs, I'm keeping my eye on the interesting new (still
immature) language called Pliant (http://pliant.cx).

Charles



Reply to: