On Tue, Apr 22, 2014 at 8:05 PM, Derek Smithies
<[email protected]> wrote:
> Hi,
>  Not sure if I would call it beginners Linux programming.
>
> python is a language commonly taught in computer science schools, and then
> combined with all the python bindings
> for the various widgets - this is a good beginners language - easy to start
> with.

As much as I like Python, and as good as it is for beginners, it's not
a 'linux programming' language. This book is clearly about Linux
programming: learning how to bugger about with processes and threads
and IPC and /proc and low level I/O and such. It's not a book about
how to write a particular language (like Python) with stuff like "this
is an if-statement in Python" or even "this is what an if-statement
means" because that wouldn't be very Linux-specific now, would it?

Arguably something like C is 'easier' to start with than Python. I've
certainly seen lots of students in courses I have taken in the last
couple of years treat Python like a 'magical black box' where you put
in code and you get output, without actually putting any thought into
what is happening 'behind the scenes' so to speak. Whereas as soon as
those students got into courses teaching C using microcontrollers they
all seemed to very quickly gain a much higher appreciation both for
how computers work and how nice Python is.

> They have a whole chapter devoted to inline assembly code. Please. Not
> beginner material.

Plenty of people programmed first in assembly. I didn't, but plenty of
people quite some time ago did. Assembly isn't actually particularly
complicated in and of itself in my opinion, if anything it's a simpler
model to program than C or god forbid C++. The only real complexities
come from the god-awfulness of x86-64 and its various extensions.

It's not even a particularly big chapter.

Fun fact: x86-64 has instructions specifically for AES.

> Autotools are "universal". Every project is supposed to use them, and every
> user hates them. They are regarded as so
> complicated that they are usually written incorrectly, and so their wrong
> operation is "wrong". Try cross compiling
> with autotools. Urgh.  The book does not mention them. Given their
> complexity - better to keep it away from beginners.

Perhaps autotools aren't mentioned because they're not actually all
that relevant to Linux programming specifically? I'm not sure 'every
project is supposed to use them' either, lots of projects use CMake or
equivalents.

> Yes - maybe this a book for Linux C/C++ beginners.

As far as I can tell:

"beginners Linux programming" != "Linux programming for people that
are beginners to programming"
"beginners Linux programming" == "Linux programming for people that
are beginners to programming specifically on Linux"
_______________________________________________
Linux-users mailing list
[email protected]
http://lists.canterbury.ac.nz/mailman/listinfo/linux-users

Reply via email to