Content by Optimistix
Top Reviewer Ranking: 3,445,388
Helpful Votes: 125
Learn more about Your Profile.
Reviews Written by
Optimistix (New York City)
47 of 48 people found the following review helpful
5.0 out of 5 stars
A delightful read !, 24 Jan 2003
This book is called 'Chaos : Making a new science' - so it should hardly
surprise anyone that it deals with the history of Chaos, bringing forth
the elementary concepts of the field along the way.
This book isn't, nor does it pretend to be, a textbook on chaos theory,
so one shouldn't expect too much maths or technical details. On the other
hand, a little maths is unavoidable for discussing even the most basic
notions of chaos theory, so the reader should be prepared for some
(not very demanding) maths.
The style adopted by Gleick is to interweave the personal lives of the
major players involved in the birth of chaos with a description the
concepts, thus giving the book a feel of an interesting story while
introducing a plethora of dazzling ideas at the same time.
The idea of self-similarity, of patterns composed of infinitely-repeating
tiny replicas of themselves, is astounding, to say the least. And to
learn that nature is full of such patterns is revealing indeed. The
implications to science and technology are far-reaching and often
surprising - researchers in Computer Networking have discovered that
network traffic in large networks such as the internet may actually be
following self-similar patterns !!
Personally, i found this to be a delightful read - Gleick's writing is
racy, the ideas involved are mind-bending, and the vivid imagery will
stay with you for a long,long time. I fell in love with fractals at
first sight and can gaze at a collection of beautiful fractals for hours.
In brief, this is a light, breezy account of the history of Chaos, with
a gentle introduction to the basic ideas of Chaos without much technical
details and only a minimum of maths.
One of the best 'Science for everyone' books i've ever read!
37 of 40 people found the following review helpful
5.0 out of 5 stars
A masterpiece, 24 Jan 2003
It is difficult to avoid cliches when talking about this book - it is just so good, that one can't help heaping superlatives on it.
This book is affectionately known as 'K & R', after the names of the authors, and it is almost definitely the most widely respected of all books on any given programming language.
This is the book that introduced the 'Hello World!' program to the world :-), which is now practically a standard first program in any introductory book on any programming language.
This is straight from the creators, and the implied authority, while an excellent reason in itself for taking a look at the book, pales in comparison to its other merits - brevity & clarity being foremost.
This book is best appreciated if you already have some programming background - i say this from experience, since i knew Fortran 77 & Pascal before i learnt C, and the knowledge of Pascal, in particular,made it much easier for me to pick up C than classmates for whom it was the first programming language.
Of course, if you're new to programming, you could still try learning from this, but it might be a bit of a struggle. If so, the books by Kelley & Pohl, K.N.King or Gottfried(Schaum series) may be useful for 'getting upto speed' with C first, and then coming to K & R.
C is the one language which is both 'high level' and 'low level' at the same time - to date, it is the nearest to the ideal of a programming language that is easy enough in description to be followed by human readers, and at the same time close enough to the machine's language to be executed fast.There are faster languages, to be sure - assembly language is necessarily faster than any high level language. But just try coding a reasonably involved program in assembly, or even reading such an effort ! There are other languages which might be 'easier' for people to read, but they are slower(C++,Java,etc,etc).
It is also the 'mother' of all modern biggies - C++ owes even its very name to C, Java was derived from C++, and Perl is **written** in C !!
So knowing C would give you a better appreciation of the other languages as well.
And it's still the language of choice for systems programming - so no systems programmer can afford to be a non-expert at C.
Anyway, back to the book - and what a book it is! The authors are not just great programmers, they are outstanding writers as well.
The book is just 274 pages, but it will teach you more than most thick 'tomes' on programming could ever possibly teach.
And no, that doesn't imply that it's 'dense' or abtruse. The authors choose their words judiciously, and there is not a word out of place.The book is designed to make you think, for there is no better way of learning than to think things out for yourself.
Reading the carefully worded text and working out the compact examples will teach you a lot - if you can go through all the exercises, well then you'll surely be an expert when you finish the book. I never did, but i learnt enough to implement several projects in C over the past six years, right from searching and sorting to cryptography and speech recognition.
The examples in this book are a thing of beauty (and therefore a joy forever!!). Elegance, in one word.
It has that universal characteristic of a great book - no matter how many times you read it, you'll learn something new.
You may buy several other books for specialized purposes of particular projects, but when you want to get into the nitty-gritty, to clarify any elusive points, you'll return here, to 'the word of the law', as laid out by the creators of the language.
Basically, if you program in C, you've just got have this book -
and once you have it, you'll find it indispensable.
12 of 12 people found the following review helpful
5.0 out of 5 stars
Excellent reference indeed, 24 Jan 2003
If you're going to work in the area of Cryptography, you can't afford
to neglect this book.
We used this in a course, and even though it's a handbook, it doubles up
pretty well as a textbook, since it has all the underlying mathematical
theory, presented in a clear and concise manner.
For sheer breadth and depth of coverage, this book is unmatched in the
field. It may not have enough on some topics to satisfy everyone, but
then i suspect most such topics were not so prominent in 1996, which
is when the book was written.
Starting with number theory, it goes on cover pseudorandom bits and
sequences, stream and block ciphers, hash functions, and digital signatures,
establishment protocols, implementation, patents and standards - you name
it, you got it.
On the one hand, there's enough theory to make you wonder whether it
should be called 'applied', but then it indeed qualifies as implementations
are discussed as well.
And of course, there's an exhaustive bibliography, with more pointers to
the literature than one could possibly follow up.
One word of caution, though : it requires hard work. If you want a more
'relaxed' coverage of comparable breadth (but not depth), you can do
worse than look up Bruce Schneier's 'Applied Crypography', which is a
delightful read, but nowhere as rigorous (read academic) as this one.
All in all, this is an indispensable reference for those in the field -
rigorous and exhaustive, yet eminently readable.
If you still haven't made your mind up, here's one final piece of advice :
visit the authors'(rather the book's) website, where you'll get the
implementations of all the algorithms in the book, and a (presumably)
pleasant surprise :-)
6 of 7 people found the following review helpful
5.0 out of 5 stars
'Theoretical Computer Science at 10,000 feet', 24 Jan 2003
As the author says, the members of the research community of Computer
Science have done their discipline a disservice by not making any
special efforts to write accessible accounts of the field, as a result
of which the 'layman' still has little idea of what goes on 'under the
hood', so to say.
He has therefore undertaken the challenging task of presenting the basic
ideas underpinning Computer Science in a way that's easy for the general
reader to grasp. He sets out to present the essential notions of
Algorithms and data structures, Turing machines, Finite state machines,
Decidability, Computability, Complexity, NP-completeness, Correctness,
Parallel algorithms, Probabilistic algorithms, and more with a minimum
of mathematics and yet without sacrificing intellectual rigour - and
most admirably, succeeds in doing so.
David Harel is a big name in Theoretical Computer Science, one of the
leading researchers, and chairman of the Applied Mathematics and
Computer Science Department at the Weizmann Institute of Science.
What made my mind up about reading this book were the strongly encouraging
remarks on the back cover by Aho & Hopcroft, two of the foremost authors
and researchers in the field, who've written some great textbooks themselves.
This book presents all the basic fundamental ideas of the theory of computation,
using as little maths as possible. Yet, the intellectual rigour is never
compromised, which means that the reader truly gets a flavour of how a
Computer Scientist thinks, and how much fun it can be.
It also shows you how certain problems cannot be solved cheaply while others
cannot be solved at all (solved exactly, that is), no matter how much
'computing power' you have - ie theory proves the existence of certain
fundamental limits on the problems that we can hope to solve.
The writing is exceptionally good - like a true master of his subject,
Harel makes concepts seem easy to grasp, though you may find that later
on, you realize it was quite a subtle notion that was discussed.
The illustations are a great help, and occasional humour provides relief
from all the thinking you'll be doing!
Even though it's written for the general reader, it is also useful for
programmers, systems analysts and designers, software engineers and
students, since Harel cuts to the core of the concepts and offers
valuable insights into the theory that they might already know.
All in all, this book covers amazing ground and is a great introduction
to algorithms and the theory of computation. For probing further, you'll
need mathematics and textbooks, but this an excellent starting point.
4 of 4 people found the following review helpful
4.0 out of 5 stars
A limited introduction to the limits of Computation, 24 Jan 2003
This another nice book from David Harel, the author of the delightful
'Algorithmics : the spirit of Computer Science', which introduces the
general reader to the limits of computation (and hence the limits of
what computers can do).
Harel, who's a renowned figure in the field of Theoretical Computer Science,
has the ability to write and explain in a way that makes things seem
wonderfully clear, and indeed it is only such authors who can write good
books for the general reader.
This small (240 pages) book is quite ambitious in its coverage of topics -
starting off with the notion of an algorithm, it goes on to discuss
Efficiency and correctness, Turing machines, Finite state machines,
Decidability, Computability, Complexity, NP-completeness, Recursion,
Parallel algorithms, Probabilistic algorithms, and even touches upon
Quantum Computing and Artificial Intelligence !!
All this is done with almost no mathematics, at least hardly any beyond
high-school level. The reader is gently introduced to some of the most
celebrated problems of Computer Science, and he/she can get a feel of
the nature of this exciting and interesting field.
Throughout the book, the author keeps underscoring the fact that no matter
how far technology progresses, there'll always be problems that we can't
solve cheaply, or can't solve at all, or can't ever know whether they
can be solved or not (!!), ie he stresses that there are problems that
are 'beyond computers', which cannot be tamed by more and more processing
power or any other technological advancements.
This book covers pretty much the same range of topics as Harel's earlier
book, 'Algorithmics : the spirit of Computer Science', but in only half
the number of pages, and with a heavy emphasis on the 'limitations' of
computers, which actually are limitations of our knowledge rather than
of the machines themselves.
How does it compare with the eariler book ? Well, it's more uptodate,
since it was published in 2000, whereas the other one was in 1992 -
so here you find buzzwords like 'Java', 'Dotcom', 'Quantum Computing',
etc, which you wouldn't find in the earlier book, but on the whole
i prefer the earlier one, since it had a little more detail, made you
think a little more, and even had exercises for those who were interested
in probing further.
So all in all, if you want a light, breezy introduction to the basic ideas
of Theoretical Computer Science which doesn't demand too much concentration,
this is a good choice, but if you're willing to put in some time & effort
& enjoy puzzles & logical thinking, then you'll find Harel's other book,
'Algorithmics : the spirit of Computer Science' much more rewarding.
19 of 19 people found the following review helpful
4.0 out of 5 stars
Good, but the first edn was Great, 24 Jan 2003
This is a good book - but as a revision of a much-revered classic of
the field, it's a bit of a disappointment.
Hopcroft & Ullman wrote the classic text way back in 1969, and then
revised it in 1979. It was pretty much the standard text the world
over for an introduction to the theory of computation.
But over the last two decades, more and more people have been studying
Computer science, and many of them have no time for theory and
formalism and all the 'dry stuff' ..........
The authors point out that because of such reasons and also because
nowadays there's little research in the theory of computation per se,
and more in its applications, they've written a book to cater to today's
Which, in other words, means they've simplified the presentation, tried
to provide intuition whenever possible, given lots more examples and
done away with some of the more difficult material.
This approach puts the book into direct competition with Michael Sipser's
excellent 'Introduction to the theory of computation', a contest it
cannot win, though it might be a respectable second.
Almost all topics are motivated by giving examples of how they're
related to applications in the 'real world', and similar to
Sipser's 'proof idea' approach, the authors first present a topic
informally and then formally, thus gently leading the reader to
the formal proofs.
This book sets out to do pretty much the same as what Sipser's book
does, ie to provide a readable, user-friendly introduction to the
theory of computation with lots of examples and intuitive approach
to problems wherever possible, but Sipser's already done an
Moreover, this book tries to be 'chatty', which i'm afraid is just
not the authors' style - the 'economy of expression', which has long
which has long been the hallmark of the legendary textbooks by
Aho,Hopcroft and Ullman, is sadly missing here.
Which means that this may not be the book for you if you're pressed
for time - but on the other hand, if you want to led gently to the
proofs and results with lots of examples and motivation, then this
might be just the book for you.
So all in all, it definitely worth a read - in fact, i'd say
it's still among the top textbooks around.
In fact, i would suggest that you read both this and Sipser, if you
have the time. Otherwise Sipser's the better choice for most of the
part, though it may not cover all the topics you need.
And if you're comfortable with a terse, concise & rigorous
presentation, then the earlier edition of this book is still
unbeatable - and you'll surely need it if you want to pursue research
in this area.