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