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

Re: Book questions



On Thu, 09 Apr 2015 21:00:45 -0700
David Christensen <dpchrist@holgerdanske.com> wrote:

> On 04/09/2015 05:15 AM, Petter Adsen wrote:
> > For a long time I've been meaning to learn more about regular
> > expressions, and I found the following books: "Mastering Regular
> > Expressions" and "Sed & awk", both from O'Reilly. Does anyone have
> > any experience with these, and an opinion as to which I should
> > start with? I also found the K&R book, "The UNIX Programming
> > Environment" by Kernighan and Pike, and "UNIX Systems Programming
> > for SVR4" from O'Reilly. Since I want to learn C I know I need to
> > read the first of these, but I was wondering how the other two are,
> > if anyone here has read them.
> > Also, are there other books I might want to supplement these with? I
> > found two Linux-specific books as well, but they are really old.
> > One of them comes with a CD of Slackware from 1996. :)
> 
> I have "Mastering Regular Expressions" 1 e., which was the definitive 
> text on the subject.  It is good for explaining the differences
> between the various regular expression implementations.  From the
> command line, I use grep for simple stuff and egrep for above simple
> stuff.  For the benefits of a script/ program, I use Perl.

I do know a little Perl, I learnt it back when I used it for some CGI
work. This was many years ago, and I haven't really kept it up to date,
but it has come in very handy many times when I don't know how to do
what I need in a shell script.

> I refer to "Awk and Sed" when I need to decipher something written in 
> those languages, otherwise I use Perl for those kinds of tasks.

Yes, I would imagine I would too. I don't really think there would be
much need for me to learn awk, but being at least familiar with sed and
developing a better knowledge of regular expressions could probably
improve how I work.

> I started with C at the same time K&R 2 e. came out.  It was the 
> definitive text at the time.  Typing in the examples and doing the 
> chapter exercises was very helpful.

Everyone I talk to recommend this book, so I assume it's good :)

> I read the "The UNIX Programming Environment" back when.  Glancing at 
> the table of contents, there's a lot more than C programming in
> there. Given your C programming focus, I don't know how much it would
> help you.

Well, looking through the contents I think I will have a quick read
through a few of the chapters. Several years ago, I did some work for a
book distributor, and they gave me the opportunity to go through their
warehouse and collect up a bunch of books I wanted. Among the others, I
grabbed this, mainly just by the name of the authors and the title. :)

> On 04/09/2015 06:38 AM, Petter Adsen wrote:
>  > I'm mostly interested in getting a good foundation in C
>  > programming,
> 
> Understand that there are niches in computer programming, and the
> quest for a better mousetrap in a given niche is a driving force in
> language design.  B was intended to be an improvement on A
> (assembler) for systems programming (kernel, device drivers, core
> libraries and utilities, etc.).  B didn't turn out like the authors
> wanted, so they wrote C and the rest is history.  C still dominates
> in its core niche, and there are many good and useful programs that
> were originally written in C and remain C to this day.  Learning C is
> a useful skill, if only as a stepping-stone.

My understanding is that learning C might give me a better insight into
how Unix-like systems work, and be a tool to interact with them. There
are other languages I want to learn, like Lisp and maybe Python, but I
need to start somewhere. I'm not hoping to be writing device drivers
next month, but I hope to learn enough that when a program does
something unexpected I can have a look at the source and try to learn
what is going on.

At some point, maybe I will be capable of contributing to the many
projects out there. Now all I can do is report bugs and help with
translations.

> While C has been called a "high level language" and can be, and has 
> been, used for writing almost anything, the mountains have multiplied 
> and grown still higher, and other languages, frameworks, systems,
> etc., are the pinnacle of their respective niche.

While I don't know much about it, C seems to be quite flexible and also
quite embedded in the Unix world. I guess those are two of the main
reasons I want to learn it.

> On 04/09/2015 06:28 AM, Petter Adsen wrote:
>  > I'm most interested in learning how to write portable code
> 
> Today when somebody says "portable code", most programmers respond 
> "Java".  While I view Java as a step backwards, "a language that runs
> on the JVM" is something that I find very appealing.

I can understand that :) What I mean by "portable", is "can be compiled
on many/most Unices". I used to work with Solaris, Irix and HP-UX, and
very quickly saw the value in being able to compile the same tools on
different platforms.

> On 04/09/2015 06:28 AM, Petter Adsen wrote:
>  > I actually also found "Learning Perl", and I think I have the
>  > Cookbook if I dig a little deeper,
> 
> All you need is "Programming Perl" and you'll have the core Perl
> books.

OK, thanks. I have a CD image somewhere with several O'Reilly books, I
think it's on there in HTML format.

> On 04/09/2015 05:15 AM, Petter Adsen wrote:
>  > are there other books I might want to supplement these with?
> 
> SICP is probably the most powerful CS book I have ever read:
> 
>      http://mitpress.mit.edu/sicp/full-text/book/book.html
> 
> 
> HOP expresses these ideas in Perl:
> 
>      http://hop.perl.plover.com/
> 
> 
> AMOP is on my reading list:
> 
>      http://mitpress.mit.edu/books/art-metaobject-protocol
> 
> 
> I need to find a good book on multi-core and networked parallel
> programming.

Thank you very much for your advice, it is much appreciated! I will
look into these books as well, it seems I have plenty to read in the
near future :)

Petter

-- 
"I'm ionized"
"Are you sure?"
"I'm positive."

Attachment: pgp1liVMQQGVp.pgp
Description: OpenPGP digital signature


Reply to: