Technical Books
This page was updated on Fri Nov 12 21:02:40 IST 2004
-
Programming Pearls - fine book, light language and with sense of humor, but still makes you think. As i dig into it , its a bit outdated , at least few parts of it.
I mean , everyone used to use arrays now , you don't have to tell people this.Anyway this book reminds you about some very useful concepts which you should keep in mind while programming.Few examples , they are obvious but frequently forgotten:
I'll divide the advises into groups :
-
Data structures - don't forget about bit-vectors they are small and fast;
Let data structures be the significant part of your program and not a code.
Be familiar with advanced data structures - it will give you the ideas and if you use them - you're a king.
-
Algorithms - multipass algorithm , don't try to do everything at once.;
Quick sort is quick , but looses time when dealing with small arrays at the end of recursion, so stop at the chosen size and sort them using some other sort ( insertion for example)
-
General - the problem well and be sure what you wanna do;
be lazy, don't write right away but wait till you could think about better algorithm and write less.
Everything should be made as simple as possible , but no simpler. Einstein.
Estimate the run-time and space complexity of your program ahead.
Take a over insurance , it wont hurt it , but it will save you.
Worth reading.
-
Chaos theory tamed by G.P.Williams - not mathematical enough, but good intro. Covers a lot of issues for non-math book.
-
Genetic programming by Koza - it's heavy , about 4 kg.:-). Good, very good, a lot
of examples and results to think and to be impressed by.
Very worth reading.
-
Patterns of Software by Peter Gabriel
This is probably the best book on software design that I've read up to
day.
To summarize the books concepts: make your programs habitable, make the people
who will come after you feel at home; OOP doesn't make it easier to write/read
programs, even thought, the class functions are smaller the logic is in
inheritance structure; reuse doesn't work even with classes, you should work
hard to make it work.
Very very very advised.
-
An introduction to catastrophe theory by P.T.Saunders
- it looks interesting, though i didn't see much use out of this thing.
To summarize it : nice to read but can live without it.
-
An Introduction to Chaotic and Dynamical Systems by Robert L. Devaney -
this one is easy to read since author tried to make this book readable by
everyone and not only by masters and up in math. Anyway i like it till now.
-
The Fuzzy Systems Handbook by Earl Cox July 2000-
This is a practical guide how to build and maintain fuzzy system, but its
understandable and easy to read. A bit lengthy, but bearable.
-
Neural Network Learning and expert systems by Stephen I. Gallant December 2000 -
This is a nice overview of the Neural Nets. Good for novices, might be used
as a very first book to read or an introduction to the field.
-
Digital Neural Networks by S.Y.King - January 2001
I don't know. This is not an outstanding book in any way, not for good and
not for bad. It has a nice (in my opinion) chapter about Markov and hidden Markov
chains. This book also gives you a quite a wide review of the field.
-
Introduction to Artificial Neural Systems by Jacek M. Zurada - January 2001
This is the best introduction book on Neural Networks that I've read.
I don't really think that i should add more blah-blah.
-
Mathematical Methods for Neural Network Analysis and Design by Golden - February 2001
Math review of neural nets. Read it as a second book after the previous one.
From this book you can get a mathematical ground to dive into the
depth of the neural networks. If you know what you're doing then
take a look at this one.
-
Portfolio Selection: efficient diversification of investments by Harry Markowitz - May 2001
This book describes an mean variance optimization (MVO) system for portfolio
selection. This is a leading analysis tool today. This is also called the
modern portfolio selection theory. Although, the foundation of
the analysis is mathematical, the book written for unprepared user too. Read
it if you want to understand how to invest "correctly".
-
Random Walk down Wall street by Malkiel - February 2002
Explains what is the investment all about and how you could make money in a
long-run. The target audience of this book is a normal people and its fun to
read. If i had money i would invest using his advices. Interesting.
-
Advanced C++ programming styles and idioms by James O. Coplien - April 2002
This books talks about style, design and idioms, as you've might have
guessed from the title. :). The author is a world known expert in OOD/OOP.
This is definitely a book to read and learn from. He writes on some
interesting issues and discusses a few philosophical aspects of software
development. Worth buying.
-
C4.5 : programs for Machine Learning by R. Quinlan - March 2002
This books explains the C4.5 decision trees algorithm together with the
complete code listing of the implementation. The implementation can be
found on Quinlan home page.
-
Extreme Programming explained: embrace change by Kent Beck - March 2002
This books speaks about Extreme Programming (XP) techniques and XP way of
software development. This sounds like a cool practice, however, i'm not
sure that i agree with all of the preached techniques. Its worth a read
anyway, some of the advices are really cool: plan for today, write a test
first and etc.
-
IP SANs by Tom Clark - April 2002
The book talks about SAN over IP. Protocols, design issues, problems and
advantages. The book tries to overview a lot of issues and discuss all of
the IP SAN, which of course, includes IP networking, Fibre Channel, SCSI
and etc. This makes the book wide but shallow. This is a good overview.
-
Code Complete by Steve McConnell - August 2002
If i were to give a course on a software construction (programming) this
is the course book. This is the best book on how to write a comprehensible
clear programs i've read so far. The book is full with examples and
different approaches. What I've particularly liked about the book, is that
author is not obsessive with one technique, but suggests you to use a
number of them and to decide by yourself which one is better. If you want
to be better programmer make your employer to buy this book and use it.
-
How to Lie with Statistics by Darrell Huff illustrated by Irving Geis - April 2003
Fun book. Fun not as in funny, but fun to read. Funny too, though. Little
tricks with statistics which make your data look better. The bottom line
advice: whenever you see the statistical data (i) check the source for
bias; (ii) how is the data collected; (iii) is there anything missing from
the data; (iv) is it relevant for the point to be made? (v) is it logical
? especially in extrapolations. Read it if you can get hold of it. too
pity there is no more modern edition.
-
Unix Haters Handbook - June 2003
The title says it all. This book is why UNIX is no good and full with the
UNIX criticism, both the justified and not. To make it clear, I'm a UNIX
fan, i use it and i think its a fine OS. of course, it has it's problems
and issues, like everybody else. Well, i did liked the book. Although,
they've talked about the old versions of the U*nix, it is still relevant
in many cases. I think that this book might be like a "TODO" list for UNIX
programmers. Anyway, there is a free online copy now (ironically, its
placed at Microsoft site) so download it and read it.
-
The Craft of Text Editing by
Craig Finseth - April 2004
The book describes the task of writing a text editor. While the book
provided me with a number of insights into a problems of writing an
editor it was a little bit shorter than i have expected. On one hand some
problems were not covered and on the other hand some of the covered
problems were outdated (at least in my opinion). However, it is a nice
book to read. Beware though, it is a bit technical.
-
Software Project Survival Guide by Steve McConnell - July 2004
"How to be sure your first important project isn't your last". I was a
little disappointed by this book. I guess that after "Code Complete" my
expectations were soaring. This book is a fine example of a recent problem
with computer related literature: the books are huge not because they have a
lot of content, but rather because they are written in large fonts, with
many screen captures and graphs, with large margins and big spacing between
the lines. Don't get me wrong, this book presents a nice method of staged
delivery, which is somewhere in the middle of a classic development model
and incremental development. The author does a good job describing the
method and highlighting the pitfalls and problems. The method is not a
panacea, but it is nice and should do a nice job reducing the risks of
software development. At the end of the book i had only a single question
left, which is definitely a sign of a good book. Why the hell it took 260
pages??? This book should be written as a booklet, not a book, with 50 pages
top. A lists of points. Pocket format, so the project manager can carry it
with her. Concise and to the point. After all, if you are a new project
manager the last thing you want your programmers to see is a "project
management for dummies" book.
Main page