Subject: borrowing CS books

From: Chen Shapira <[email-masked]>
Date: Sun, 4 Nov 2001 15:21:54 +0200

Hi,

If anyone has one of the following books, and can lend them to me for the
near semester (until feb.), I would appreciate it.

Intoduction to Algorithms, by Cormen, Leiserson and Rivest. 
A Book on C ---3rd or 4th Edition / Kelley and Pohl. 
Advanced Programming in the UNIX Environment  / W.R.Stevens. 

BTW, if you think any of these books is good enough to buy, do tell me so.

Thanks,
Chen.

---

From: guy keren <[email-masked]>
Date: Sun, 4 Nov 2001 15:45:54 +0200 (EET)

On Sun, 4 Nov 2001, Chen Shapira wrote:

> Advanced Programming in the UNIX Environment/ W.R.Stevens.
>

definately, AUPE is good enough to buy, _if_ you intend to stop doing
java, and start doing C or C++ programming on unix systems. btw, the book
is getting outdated, since it was writte in 1993 (i think), and there has
been POSIX changes since then, and quite a few. ihs 'unix network
programming, volume I, second edition' covers posix threads to some extent
(as well as all aspects of socket programming) - so is a good companion.
but again - all's true only if you intend to program in C/C++.

regarding algorithm books - not sure they are worth buying - when you need
to program them, you don't care about proofs (which are large parts of
books about algorithms) - rather about the algorithm itself, its purpose
and its time/space requirements. and those - you usually have in lecture
notes anyway, or you need algorithms that aren't covered by the book.

--
guy

"For world domination - press 1,
 or dial 0, and please hold, for the creator." -- nob o. dy

---

From: Oleg Goldshmidt <[email-masked]>
Date: 04 Nov 2001 16:20:43 +0200

> but again - all's true only if you intend to program in C/C++.

I second that. Doing C/C++ mostly rather than Java I find both APUE
and UNP indispensable. I don't think they are all that outdated,
unless you go into the finer points, in which Guy is much more of a
expert than yours truly. I guess implicitly I do have a similar
concern - I always check the man pages after consulting Stevens but
before using a system call in my code.

> notes anyway, or you need algorithms that aren't covered by the book.

I disagree here. Besides formal proofs good algorithm books - and
Cormen et al is a classic - give you a lot of insight into the
workings and properties of algorithms, their relationships,
performance, applicability for a particular purpose, etc. A
significant part of that insight is provided by the proofs, by the
way. Contrary to what Guy writes, space/time requirements are covered,
and as for algorithms that are not covered, it may turn out surprising
how many turn out to be related to the basic ones covered, and how
understanding of the basics helps you analyze and understand the
unfamiliar stuff. Besides, many specialized sources do not go into
basics, referring instead to Cormen et al (hereafter I2A) and similar
"classics", assuming that they are available and the reader is either
familiar with them or can consult them easily.

Given that the algorithms are universal and not limited to a narrow
field, I'd say that this is certainly a book to own. This is assuming
that your current work and/or aspirations go beyond performing
repetitive, mechanical tasks under specific orders of your superiors.
I've seen (worked at) organizations that separate "algorithmists" from
"programmers", where algorithmists were supposed to deal with
everything "related to I2A" (including space/time requirements), and
produce pseudo-code which programmers were supposed to implement in a
"real" language. Living on the algorithmic side of things, I was
missing the programming part, and on the other hand kept thinking that
I would not want to be in the programmers' shoes in that framework. We
are not acquainted all that closely, but I suspect that you wouldn't
like that too much either.

Both APUE and I2A are quite expensive, but are, IMHO, a good
investment. [There is no quicker way to lose a friend than to give her
an investment advice, I know...]

To sum it up, I have both books, but much as I want to help you out I
can't loan them to you because I use them almost on a daily
basis. Does that sound convincing?

Can't say anything about the "Book on C". K&R, Harbison & Steel ("C -
A Reference Manual"), and the comp.lang.c FAQ have always been my
references of choice.

-- 
Oleg Goldshmidt | [email-masked] 
"If it ain't broken, it has not got enough features yet."

---

From: Shlomi Fish <[email-masked]>
Date: Sun, 4 Nov 2001 16:44:49 +0200 (IST)

> Intoduction to Algorithms, by Cormen, Leiserson and Rivest.

I have "Intro to Algorithms" and can lend it to you. But it is possible
I'll need it back by the time of next semester as I plan to take a course
which this book is its text book.

I bought it from Dyonon for about 160 or 180 NIS. I live in Ramat Aviv
Gimel and I am there on weekends, so please call me at 051-541831 to
synchronize a good time.

Regards,

	Shlomi Fish

> To unsubscribe from this group, send an email to:
> [email-masked]
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>

----------------------------------------------------------------------
Shlomi Fish        [email-masked]
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [email-masked]

If:
1. A is A
2. A is not not-A
does it imply that
1. B is B
2. B is not not-B

---

From: "Nadav Har'El" <[email-masked]>
Date: Mon, 5 Nov 2001 00:31:48 +0200

> notes anyway, or you need algorithms that aren't covered by the book.

I haven't read that book, so I can't comment on the specific book, but I
don't agree about the uselessness of proofs. Besides being an interesting
read (well, what do you expect a Mathematician to say ;)), learning how
existing proofs work will help you one day when you need an algorithm which
isn't exactly one of the algorithms in the book, and you need to invent your
own algorithm. After you define your algorithm you need to make sure that it
indeed does what you want in all cases. I won't lie and say that this happens
frequently (in most cases you can use existing algorithms, or invent one whose
proof is "self evident"), but it did happen to me on several occasions
(especially in the area of graph algorithms).

Reading those proofs will probably also show you that there's more to life
than those O(...) numbers: there are typical case numbers, worst-case
numbers, there are memory-usage issues, and so on. One algorithm can be
typically faster than another but worse in certain cases (e.g., quick-sort vs.
heap-sort, if I remember correctly), use more memory but behave differently
in certain respects (e.g., BFS vs. DFS) and so on.

Of course, it doesn't mean you need to *buy* that book. Maybe writing good
notes in class is enough for you for now, and you can buy it (or one of
the other good books on this subject) later.

-- 
Nadav Har'El                        |     Monday, Nov  5 2001, 19 Heshvan 5762
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |Unlike Microsoft, a restaurant will give
http://nadav.harel.org.il           |me food for free if I find a bug in it!

---

From: Dan Kenigsberg <[email-masked]>
Date: Mon, 5 Nov 2001 00:39:43 +0200 (IST)

But to write long essays about algorithms, you do have time...

P.S. Maybe my tweak fails on csd for the same reason one of your version kept
working on that computer long after it died anywhere else

	Dan.

---

From: "Nadav Har'El" <[email-masked]>
Date: Mon, 5 Nov 2001 00:43:40 +0200

> working on that computer long after it died anywhere else

Dan, are you sure you really meant for this to appear on the list? ;)

I'm sure you know the difference between useless emails (what you call "essays")
and hacking-sendsms-sessions into the night after a long day. I promise, I'll
get to that sendsms hacking as soon as possible, hopefully tomorrow night..

Let's move this issue to private email - I don't think people on this list
care too much about my work schedule :)

-- 
Nadav Har'El                        |     Monday, Nov  5 2001, 19 Heshvan 5762
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |If glory comes after death, I'm not in a
http://nadav.harel.org.il           |hurry. (Latin proverb)

---

From: Adi Stav <[email-masked]>
Date: Mon, 5 Nov 2001 12:39:59 +0200

> Dan, are you sure you really meant for this to appear on the list? ;)

Are we seeing a classic case of Reply-To: overwriting damage?

---

From: "Nadav Har'El" <[email-masked]>
Date: Mon, 5 Nov 2001 11:35:45 +0200

> Are we seeing a classic case of Reply-To: overwriting damage?

Please, let's not start with that thread again... The same thing also happened
in the linux-il list (for example), without a Reply-To:, because people
got accustomed to doing "g" (group reply) to answer every email.

Its just like the people who alias "rm" to "rm -i" to prevent rm accidents,
and then they get annoyed by rm's question every time, so they become used to
doing
	\rm file
when they are "sure" they really want to remove the file. Some time later,
they \rm a file by accident... A classic case of an arms-race only causing
bother for normal people, but not solving the original problem.

*** Vote for Reply-To:!! ***

-- 
Nadav Har'El                        |     Monday, Nov  5 2001, 19 Heshvan 5762
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |"Never be afraid to tell the world who
http://nadav.harel.org.il           |you are." -- Anonymous

---

From: Dan Kenigsberg <[email-masked]>
Date: Mon, 5 Nov 2001 12:03:22 +0200 (IST)

> Please, let's not start with that thread again... 

> *** Vote for Reply-To:!! ***

Nadav, how do these two combine?

Anyway, usually I prefer the Reply-To option. But the truly interesting issue in
this thread is how come these days I am publicly humiliated in every single
mailing list I write to.

Sorry everyone for the annoyance.

	Dan.