Linked by Owen Anderson on Thu 27th Nov 2003 05:25 UTC
Features, Office "Code Reading: An Open Source Perspective", by Diomidis Spinellis, is a new kind of book. It's a foray into a domain normally left untouched by Computer Science texts and exemplifies yet another positive contribution from the Open Source movement. Simply put, Code Reading is a detailed discussion of the techniques required to read and maintain both good and bad code. As an interesting twist, the author draws on projects from the Open Source world to provide examples, both good and bad.
E-mail Print r 0   · Read More · 15 Comment(s)
Order by: Score:
interesting
by chazwurth on Thu 27th Nov 2003 05:50 UTC

Thanks for the review, and for simply bringing this book to my attention. I am trying to become a programmer, and I'm finding that reading code is the most difficult thing to pick up -- much harder and slower than writing it. I find that once I've thought a problem through, implementing a solution is fairly quick; but understanding what someone else's program is doing takes much more time. And reading code is not covered in the classroom at all(not yet for me, at any rate). I may have to pick up a copy of this book.

My questions to the reviewer are: 1) How much did the book do for you from a practical standpoint? Do you find it easier/faster reading code now that you've read it? 2) What level of experience do you think the book requires to be useful?

Cultural Issues
by Braddock Gaskill on Thu 27th Nov 2003 16:03 UTC

You can gain such a rich insight into the computer cultural biases and heritage of a programmer by looking at the idioms, conventions, and structure of her source code. I'd be interested to know if this book discusses the cultural histories of programming style at all?

-braddock

RE: Interesting
by Owen Anderson on Thu 27th Nov 2003 16:04 UTC

1) I haven't had a chance to try it out reading a large chunk of code, but I have found my style of writing to have improved. I was working on a Java Servlet a little bit after I finished reading it, and found myself thinking about how to clarify my style, and where were good points to put in comments. All in all, I think it had quite a good effect on my coding style.

2) While it does provide brief explanations of most C features, this is not a Learning C book. At least an intermediate knowledge of C is require, and some experience with C++ and/or Java would be helpful. But the most important thing is a working knowledge of C-style syntax.

Thanks all, and happy Thanksgiving!

Thanks
by Mr Andrea on Thu 27th Nov 2003 17:55 UTC

I do C from 1990, I have always liked NetBSD.
Thanks Owen for reviewing that book.

I'm going to a buy a copy.

Thanks again!

C centrism
by MobyTurbo on Thu 27th Nov 2003 18:42 UTC

Reviewer:
"My only other complaint is this book's C-family centrism, focusing on C, C++, and Java"

The book briefly mentions that there is going to be a volume two which will have scripting languages covered. This book is great, maybe one of the best books I've read on programming, I'm eagerly awaiting vol. 2.

RE: Centrism
by Anon on Thu 27th Nov 2003 19:46 UTC

This is probably going to start a flame war......but here goes....

I come from the philosophy that if you understand C,C++ porting syntax to another language is straight forward.

Scripting languages especially (I'm thinking PERL, Python etc.), if you jump right into these languages, learning them is cool.....but then moving onto C, you're in for another steep learning curve.

Learning C/C++, and then switching to Python/Perl seems to be such an easier transfer of knowledge.

I love Python (and some other script languages) for its quick application development, but I think I understand why this book is focussed on C.....it is probably the most widely used to app development, and once you get C/C++ style down, you can transfer it to other languages fairly simply.

Re: Centrism
by Anonymous Coward on Fri 28th Nov 2003 14:20 UTC

I come from the philosophy that if you understand C,C++ porting syntax to another language is straight forward.

True for block-like languages, like the most popular (Pascal, Java, Python, Perl, Ruby, PHP, Lua, etc.) are nowadays. Not true for Lisp, Haskell or Prolog, for example.

More on Centrism
by Jason Furlong on Fri 28th Nov 2003 17:45 UTC

Your comment that most programming is done in C or any of the other Algol family of languages is a bit off the mark. This assumption is relevant only in the open source community. There is upwards of a billion lines of COBOL code generated every year in the financial sector alone. The aerospace community is Ada centric and there is a lot of legacy code that remains (and will continue for a long time) in Fortran. In my opinion Steve McConnell’s book “Code Complete” still remains a classic particularly because of his insistence on not focussing on one particular language.

i'm part way through reading this book
by error27 on Sat 29th Nov 2003 06:16 UTC

All the code samples do come from NetBSD because the publisher was comfortable with that license. (This was in the preface).

I think it's good to be familiar with programming idioms. That's what I've got out of the book so far.



RE: i'm part way through reading this book
by bob on Sun 30th Nov 2003 00:38 UTC

Will this help a novice.
I have read K&R and Practical C.
I tried to read c unleashed.

RE:I'm part way through reading this book
by MobyTurbo on Sun 30th Nov 2003 05:16 UTC

Not all of the examples are from NetBSD, a few are from a Java program (something to do with Apache) and Apache itself. He did choose BSD licenses because of the publisher perhaps, but the author is a FreeBSD committer so he likes BSD.

RE: i'm part way through reading this book
by MobyTurbo on Sun 30th Nov 2003 05:46 UTC

This book starts out on a very easy level, it should be fine for anyone who's semi-literate at C, at least for the first few sections of the book. In fact it should improve your ability to write code as well as read it due to this coverage of basic coding structures and practice.

RE: More on Centrism
by Tom H. on Sun 30th Nov 2003 23:48 UTC

>> The aerospace community is Ada centric...

Not true. The aerospace community is Fortran centric.

Tom H.
Aerospace Engineer

When will COBOL die?
by BustaRhymes on Mon 1st Dec 2003 03:03 UTC

I've used several programming languages over the years but the only one I've ever HATED is COBOL. Aside from it's installed base, are there any good reasons to keep using it?

s/it's/its
by BustaRhymes on Mon 1st Dec 2003 03:05 UTC

Damn fat fingers. Hey, how about a preview mode, guys?