Kernighan, Brian

The  C Programming Language (2nd Edition)
Average customer rating: 4.5 out of 5 stars
  • So old, but so good
  • Excellent reference + programming tutorial - not however for novices!!
  • Great book a classic
  • Careful
  • THE Standard for C
The C Programming Language (2nd Edition)
Brian W. Kernighan , Dennis Ritchie , and Dennis M. Ritchie
Manufacturer: Prentice Hall PTR
ProductGroup: Book
Binding: Paperback

GeneralGeneral | C & C++ | Languages & Tools | Programming | Computers & Internet | Subjects | Books
ProgrammingProgramming | C & C++ | Languages & Tools | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Languages & Tools | Programming | Computers & Internet | Subjects | Books
C & C++ Windows ProgrammingC & C++ Windows Programming | Development | Microsoft | Computers & Internet | Subjects | Books
GeneralGeneral | Software | Computers & Internet | Subjects | Books
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
GeneralGeneral | Software Books | Custom Stores | Stores | Software
Similar Items:
  1. The C++ Programming Language (Special 3rd Edition)
  2. Advanced Programming in the UNIX(R) Environment (2nd Edition) (Addison-Wesley Professional Computing Series)
  3. C: A Reference Manual (5th Edition)
  4. Absolute Beginner's Guide to C (2nd Edition)
  5. The UNIX Programming Environment

ASIN: 0131103628

Amazon.com

Just about every C programmer I respect learned C from this book. Unlike many of the 1,000 page doorstops stuffed with CD-ROMs that have become popular, this volume is concise and powerful (if somewhat dangerous) -- like C itself. And it was written by Kernighan himself. Need we say more?

Customer Reviews:

5 out of 5 stars So old, but so good.......2007-04-26

This is an intensive bible to C. It includes not only as a reference, but a tutorial. It was made almost 30 years ago, but it is still invaluable to today's programmers. It is an absolute must for any C or C++ programmer.

4 out of 5 stars Excellent reference + programming tutorial - not however for novices!!.......2007-04-21

As somebody else said, this book is NOT for a programming beginner - its style of writing is quite terse with few or no actual illustrations (via drawings of flow-charts {or equivalent}, programming-structure, etc.) versus a lot of text to read through. To make matters worse, C (and its derivatives like C++, C#, etc.) is a very LEAN (and truly MEAN!!) programming language 'per se' - with relatively few prewritten macros, subroutines and functions, one can get frustrated very quickly! [Furthermore, C and its derivative compilers don't attempt any error-recovery of faulty compiles - the tiniest error can therefore upset matters in spite of a fundamentally worthy algorithm!]

Those who've already had previous programming experience will love this book (especially if they like 're-inventing the wheel', which lean & mean programming entails); others would do better to invest either in another book, another computer-language (my favourites in spite of their being hard to get to - especially the former! - are PL/I and Ada) and ideally both!

5 out of 5 stars Great book a classic.......2007-03-18

Anyone who programs in C needs to have this book in their library. The tutorial section is absolutely wonderful, not to mention all of the reference material. The book is quite thin, but it is also very concise making it incredibly valuable to any C programmer.

5 out of 5 stars Careful.......2007-03-06

Careful with your purchase. This is first edition. You will want the second edition if you are serious about learning C.

This will not however hamper this books ability to create a good programmer out of a novice user.

5 out of 5 stars THE Standard for C.......2007-01-09

This book is the gold standard for C programming. I have found it to be useful for both standard PC programs and embedded programming. It does not cover GUI design or other platform-specific items, but if you just want to write a parser or scientific analysis program, this has exactly the information you will need.
The Practice of Programming
Average customer rating: 4 out of 5 stars
  • Good but tries to do too much--better to read a book on each topic
  • excellent book
  • Excellent Book, should be included in CS courses
  • If you buy one CS book this is it.
  • Probably incorrectly priced by Amazon
The Practice of Programming
Brian W. Kernighan , and Rob Pike
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback

GeneralGeneral | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Computers & Internet | Subjects | Books
GeneralGeneral | Software | Computers & Internet | Subjects | Books
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
GeneralGeneral | Software Books | Custom Stores | Stores | Software
Similar Items:
  1. Programming Pearls (2nd Edition)
  2. The UNIX Programming Environment
  3. The C Programming Language (2nd Edition)
  4. Code Complete, Second Edition
  5. Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)

ASIN: 020161586X

Amazon.com

Coauthored by Brian Kernighan, one of the pioneers of the C programming language, The Practice of Programming is a manual of good programming style that will help any C/C++ or Java developer create faster, more maintainable code.

Early sections look at some of the pitfalls of C/C++, with numerous real-world excerpts of confusing or incorrect code. The authors offer many tips and solutions, including a guide for variable names and commenting styles. Next, they cover algorithms, such as binary and quick sorting. Here, the authors show how to take advantage of the built-in functions in standard C/C++. When it comes to data structures, such as arrays, linked lists, and trees, the authors compare the options available to C, C++, Java, and even Perl developers with a random-text-generation program (using a sophisticated Markov chain algorithm) written for each language.

Subsequent sections cover debugging tips (including how to isolate errors with debugging statements) and testing strategies (both white-box and black-box testing) for verifying the correctness of code. Final sections offer tips on creating more portable C/C++ code, with the last chapter suggesting that programmers can take advantage of interpreters (and regular expressions) to gain better control over their code. A handy appendix summarizes the dozens of tips offered throughout the book.

With its commonsense expertise and range of examples drawn from C, C++, and Java, The Practice of Programming is an excellent resource for improving the style and performance of your code base. --Richard Dragan

Customer Reviews:

3 out of 5 stars Good but tries to do too much--better to read a book on each topic.......2007-04-12

If you've limited yourself to reading only one book about programming, this might be the one. It does touch on many of the down-in-the-details practical aspects of programming, in a compact 200-page paperback.

But I think the authors try to do to much at once, and end up not doing it as well as they could for any specific audience.

Better to look at the table of contents, and then read the best entire book out there on each topic, when you're interested in that topic.

(If you happen to choose chapter 1, then it's just as easy to read Kernighan "in the original": the classic "Elements of Programming Style" he wrote back in 1974 with Plauger.)

5 out of 5 stars excellent book.......2007-02-18

Apart from Brian W. Kernigham being the author, which automatically makes it a must read, this book is full of real life examples, pointers, and crafty exercises that will benefit anyone from novice to a master programmer.

It's well written in a easy prose to follow; full of great advices, among others, on style, debugging, notation. And will serve as eye opener for those who are just fooling around with high level languages and never had any experience a the lower level language. Were you wondering what exactly is a hash table is, or how does a parser and interpreter work? Well this book will show you the fundamentals in easy to follow examples while teaching you practices that come from years of experience and a lot of mistakes.

The code quality, of anyone who reads this book, will improve significantly.

5 out of 5 stars Excellent Book, should be included in CS courses.......2007-01-16

After reading through this book I can honestly say that this is a book that should be included in most college computer science programs. The overall knowledge conveyed in it surpasses many text books and helps the reader learn programming common sense. If you are a CS student read this book!

5 out of 5 stars If you buy one CS book this is it........2006-11-21

This is the most readable computer science book you will ever encounter. Not really a reference, but more a generalized understanding of why we do some of the things we do in the software engineering field. The perspective this book gives you will make you a better programmer for any language.

4 out of 5 stars Probably incorrectly priced by Amazon.......2006-02-10

The back cover of the book says the price is US $25. Check out the back cover.
The UNIX Programming Environment
Average customer rating: 4.5 out of 5 stars
  • THE GOLD STANDARD!
  • Great book on the foundations of the UNIX environment
  • The bible of Unix
  • A Must Have for Unix/Linux programmers
  • one of the all-time greats
The UNIX Programming Environment
Brian W. Kernighan , and Rob Pike
Manufacturer: Prentice Hall
ProductGroup: Book
Binding: Paperback

GeneralGeneral | Unix | Operating Systems | Computers & Internet | Subjects | Books
UnixUnix | APIs & Operating Environments | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Computers & Internet | Subjects | Books
GeneralGeneral | Software | Computers & Internet | Subjects | Books
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
GeneralGeneral | Software Books | Custom Stores | Stores | Software
Similar Items:
  1. The C Programming Language (2nd Edition)
  2. The Practice of Programming
  3. Design of the UNIX Operating System (Prentice Hall Software Series)
  4. Software Tools
  5. Advanced UNIX Programming (2nd Edition) (Addison-Wesley Professional Computing Series)

ASIN: 013937681X

Customer Reviews:

5 out of 5 stars THE GOLD STANDARD!.......2006-09-03

With the growth of MacOS X and programmers looking how to take better advantage of the UNIX/Darwin/Mach underpinnings of the system, there is a great need for something to educate programmers on the basics of how to best take advantage of this environment. This book, affectionately known as K&P by some of us "old timers," continues to relevant, even after more than 20 years since its first publication.

Sure, there are more "up to date" books, but K&P's treatment of the basics are the best. The book is full of discussions on best practices and uses for common commands that are still in use today. They show how to build the constructs to make shell scripts fly, even on today's faster hardware.

The treatment of C programming under UNIX is classic. If you did not learn C by reading "The C Programming Language" by Kernighan and Dennis Ritchie (K&R), then the chapter on building a calculator with lex and yacc will be a difficult read. But other than that, this book is a must-have for anyone learning to program under UNIX!

5 out of 5 stars Great book on the foundations of the UNIX environment.......2006-02-16

In spite of its advanced age, this book is still relevant and explains many topics better than much newer books on the various flavors of UNIX. Although there are better books on the specific flavors of UNIX available today, no other book does as good a job of explaining the philosophy of generic UNIX and its intrinsic relationship to the C programming language. The book starts out talking about invoking common commands from the command line, the UNIX file system, and then moves on to "filtering"- which in this context means feeding the output of one command into the input of another command until you obtain the output you desire. Next shell programming is introduced along with sed and awk, which are the oldest of the UNIX scripting languages. Finally, we exhaust what can be done with sed, awk, and scripts consisting of UNIX commands already in existence. So, the authors show us how to "roll our own" UNIX commands by writing C programs and invoking their executable versions just like a UNIX command would be invoked. This part of the book is not meant to be a tutorial on the C programming language, so the reader should already know C or have another source for learning it. As an addendum to the section on C programming and UNIX, the authors illustrate how to use the UNIX system calls to build a richer set of commands. These system calls are interfaces to the UNIX OS kernel and provide a means for the programmer/user to access I/O, create and access files and directories, process errors, manage and create processes, and handle signals - which are the UNIX version of interrupts and exceptions. The book closes with a discussion of yacc and lex and illustrates how they can be used to build a calculator for use in the UNIX environment.
This is a very "hands on" kind of book, so you should have access to a UNIX based system that has a C compiler handy so that you can type in the commands and do the exercises as you read along in the book. If you are a beginner to the world of UNIX, regardless of the flavor that you are ultimately interested in using, this is a great book to get your feet wet and to understand the power of this operating system.

5 out of 5 stars The bible of Unix.......2006-01-15

This book is the best book on programming on Unix. It is very practical, and it gives you a good understanding of the philosophy of the Unix system and how to use it.

Unix is a programmers environment. Once you understand the foundation it is a very productive environment. It will show you the tools, the philosophy behind the tools, and how to be productive in the Unix environment. People who hate Unix haven't read this book or aren't programmers...

5 out of 5 stars A Must Have for Unix/Linux programmers.......2005-12-13

This is one of the best programming books I have. If you master everything in this book along with the "C Programming Language" and "Advanced UNIX Programming", you will truly be a UNIX programmer.

5 out of 5 stars one of the all-time greats.......2005-08-26

Others have sung its praises more eloquently than I can. So why less than 5 star average? If you look through, two reviews from "A reader" give it 1/2 stars on the basis that it is "obsolete". They are wrong. It is highly relevant today. It is an eloquent exposition of the Unix philosophy. It goes a long way to explaining why Unix is such an excellent OS. A combination of incompetent academics and MS have managed to brainwash people that "software is inherently complicated, so it is inevitably buggy". That is false. This book gives a key part of the explanation.
AMPL: A Modeling Language for Mathematical Programming
Average customer rating: 5 out of 5 stars
  • 5 Stars
  • BEST MODELING LANGUAGE IN THE WORLD
  • A Great Companion for Great Software
AMPL: A Modeling Language for Mathematical Programming
Robert Fourer , David M. Gay , and Brian W. Kernighan
Manufacturer: Duxbury Press
ProductGroup: Book
Binding: Hardcover

Management ScienceManagement Science | Management & Leadership | Business & Investing | Subjects | Books
GeneralGeneral | Science | Subjects | Books
Linear ProgrammingLinear Programming | Applied | Mathematics | Science | Subjects | Books
Probability & StatisticsProbability & Statistics | Applied | Mathematics | Science | Subjects | Books
Linear ProgrammingLinear Programming | Applied | Mathematics | Professional Science | Professional & Technical | Subjects | Books
StatisticsStatistics | Applied | Mathematics | Professional Science | Professional & Technical | Subjects | Books
Look Inside Business BooksLook Inside Business Books | Trip | Specialty Stores | Books
Look Inside Science BooksLook Inside Science Books | Trip | Specialty Stores | Books
jp-unknown1jp-unknown1 | Specialty Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
Similar Items:
  1. Optimization in Operations Research (Pie)
  2. Integer and Combinatorial Optimization
  3. Decision Modeling with Microsoft(R) Excel (6th Edition)
  4. Network Flows: Theory, Algorithms, and Applications
  5. Introduction to Probability and Statistics for Engineers and Scientists, Third Edition

ASIN: 0534388094

Book Description

AMPL is a language for large-scale optimization and mathematical programming problems in production, distribution, blending, scheduling, and many other applications. Combining familiar algebraic notation and a powerful interactive command environment, AMPL makes it easy to create models, use a wide variety of solvers, and examine solutions. Though flexible and convenient for rapid prototyping and development of models, AMPL also offers the speed and generality needed for repeated large-scale production runs. This book, written by the creators of AMPL, is a complete guide for modelers at all levels of experience. It begins with a tutorial on widely used linear programming models, and presents all of AMPL's features for linear programming with extensive examples. Additional chapters cover network, nonlinear, piecewise-linear, and integer programming; database and spreadsheet interactions; and command scripts. Most chapters include exercises. Download free versions of AMPL and several solvers from www.ampl.com for experimentation, evaluation, and education. The Web site also lists vendors of the commercial version of AMPL and numerous solvers.

Customer Reviews:

5 out of 5 stars 5 Stars.......2006-03-03

5 Stars

A useful book, shipment very fast! in 9 days i received it...and i live in Italy.

Thanks Amazon

5 out of 5 stars BEST MODELING LANGUAGE IN THE WORLD.......2003-03-01

Creative
Clear
Consistent
Cost little

5 out of 5 stars A Great Companion for Great Software.......2000-06-03

Most software "companions" (more than a manual...not quite a book) really do not do justice to the software. Quite the contrary for the AMPL guide. AMPL (the language) is a *very* powerful and *very* easy to use Optimization package. It interfaces with most of the major solvers. Users program in AMPL which is more or less pseudocode and then solve LP, nonlinear, combinatorial, integer, etc. programs. Unlike most software packages, it is both robust and easy to use. Likewise with the companion/book. There are many great, easy to follow examples, and it clearly explains the intrecacies of the language. A must use software and most own book for anyone doing any optimization work.
The AWK Programming Language
Average customer rating: 5 out of 5 stars
  • Put this in your toolbox
  • Amazing little language and book that will grow with you
  • 10 Stars
  • Classic Reference text on AWK
  • The awk bible a must have tome for all Unix power scripters
The AWK Programming Language
Alfred V. Aho , Brian W. Kernighan , and Peter J. Weinberger
Manufacturer: Addison Wesley
ProductGroup: Book
Binding: Textbook Binding

GeneralGeneral | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Languages & Tools | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Software | Computers & Internet | Subjects | Books
MathematicsMathematics | Professional Science | Professional & Technical | Subjects | Books | Applied | Chaos & Systems | Geometry & Topology | Mathematical Analysis | Mathematical Physics | Number Systems | Pure Mathematics | Transformations | Trigonometry
Programming LanguagesProgramming Languages | Computer Science & Information Systems | New & Used Textbooks | Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
GeneralGeneral | Software Books | Custom Stores | Stores | Software
Similar Items:
  1. Effective awk Programming (3rd Edition)
  2. sed & awk (2nd Edition)
  3. The UNIX Programming Environment
  4. Classic Shell Scripting
  5. Perl Cookbook, Second Edition

ASIN: 020107981X

Customer Reviews:

5 out of 5 stars Put this in your toolbox.......2007-01-30

I've become a big fan of Awk. Some people may tell you that Awk is outdated and no longer useful; not with other languages such as Perl and Ruby available. Well, Awk does one thing and does it well. It does it "fast enough" most of the time, and does it with a very small language.

Perl and Ruby are fine, but if you lean towards "small is beautiful", you must learn Awk. For times when you need it, it's a Godsend. I've used it recently to automatically generate SQL insert statements from some flat files and to do automatic code generation for larger languages.

Some of the best tools have survived the test of time.

In this book, I feel like I learned all the things I need to know about Awk - all the way from beginner to advanced. It's a classic. Not a lot of books get five stars for me. This book fulfills it's goals perfectly, so deserves a perfect rating.


5 out of 5 stars Amazing little language and book that will grow with you.......2006-03-05

In Unix today, several scripting languages exist: awk, perl, tcl and python. Awk is a small, easy-to-learn, yet powerful programming language, and is language of choice for quick, think- and analyze-on-the-fly tasks. This book is written by the inventors of this wonderful language. It provides an excellent introduction to the language, with many practical examples for day-to-day use. Over many years, it has also served as a good reference to the language. In addition, this book gives concise introduction to numerous fundamental algorithms in computer science (interpreter, calculator, parser, sorting, graph algorithms, ..), which I consult for complex tasks even today.

Always a joy to read! Highly recommended.

5 out of 5 stars 10 Stars.......2002-04-03

I wish I can give 10 stars for this book. This is a bible.

5 out of 5 stars Classic Reference text on AWK.......2002-02-13

This is THE bible for awk users. If you refuse to use perl, which incorporated most of awk, or have to maintain old awk scripts then this is the text. I like the O'Reilly text for learning the basics, but after that you need this guide. For some tasks awk is the premier solution, for others, use awk as part of the solution along with perl and a shell script. Still a cool language. And this book is very helpful for both beginning intermediate programmers of awk and advanced users.

5 out of 5 stars The awk bible a must have tome for all Unix power scripters.......2000-10-26

I second the feeling here, this awk book is the most concise, clear and useful scripting book on unix period with the exception of perl. Its also a job life saver. At work we cant use perl on our unix servers because of management attitudes so awk and sh are the only tools to script with. Become a Unix power scripter with this cool book!
Software Tools
Average customer rating: 4.5 out of 5 stars
  • Paradigm shifter
  • It's what's under the hood
  • Classic on software design
  • Disappointed
  • The Most Important Software Book I Ever Read.
Software Tools
Brian W. Kernighan , and P. J. Plauger
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback

HistoryHistory | Business & Culture | Computers & Internet | Subjects | Books
Software DevelopmentSoftware Development | Software Design | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Programming | Computers & Internet | Subjects | Books
Questions & AnswersQuestions & Answers | Education | Reference | Subjects | Books
GeneralGeneral | Reference | Subjects | Books
MathematicsMathematics | Professional Science | Professional & Technical | Subjects | Books | Applied | Chaos & Systems | Geometry & Topology | Mathematical Analysis | Mathematical Physics | Number Systems | Pure Mathematics | Transformations | Trigonometry
History of IdeasHistory of Ideas | Historical Study | History | Subjects | Books
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
Look Inside History BooksLook Inside History Books | Trip | Specialty Stores | Books
Look Inside Reference BooksLook Inside Reference Books | Trip | Specialty Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
Software DevelopmentSoftware Development | Design & Development | Software Books | Custom Stores | Stores | Software
Similar Items:
  1. The UNIX Programming Environment
  2. The Practice of Programming
  3. The C Programming Language (2nd Edition)
  4. A Discipline of Programming
  5. Programming Pearls (2nd Edition)

ASIN: 020103669X

Customer Reviews:

5 out of 5 stars Paradigm shifter.......2005-07-26

I read this book about 20 years back. And I keep quoting it and recommending it, and re-reading it. This is because it changed my whole perspective about writing software. Let me share the two big lessons I learnt.

The first was ego-less programming. Sharing the code and encouraging feedback. We applied this in our group with amazing results. It is a valuable lesson because it is so tough to implement - because of our ego.

The big one was about not writing applications but tools. And creating applications from tools. This lesson kept haunting me whenever I wrote any program. It helped me write generic programs that could be re-used.

The Ratfor examples are a bit dated now. But they elegant and pure.

A must read for all aspire for excellence in coding software.

5 out of 5 stars It's what's under the hood.......2003-11-03

The tools you will find in this book are ancient. They're written in a cockeyed hybrid of C and Fortran, and they're almost hilariously user-hostile by modern definitions. If this intimidates you, look at it this way -- you're looking under the hood of modern applications. Much modern word processing, page layout, and language implementation can be built by putting a nice, shiny coating on what you find in this book.

Kernighan and Plauger set out in this book to document what they used in their labs at the time it was written, and show how to build them. Ratfor was chosen because C was not as widespread then as it is now, and for those who didn't have it, a translator to standard Fortran '77 was one of the major parts of the book. A simplified version of the nroff text formatter and a version of ed are also included for text file processing (then as now one of the major uses for computers), the result being both a toolkit and a practical education in the ins and outs of applications development.

The environment given is not Unix-based inherently, but this book is a natural companion to Kernighan and Rob Pike's The Unix Programming Environment and John Lions' Commentary on Unix 6th Edition. It should be required reading for anyone who wants to do software development.

5 out of 5 stars Classic on software design.......2001-10-17

Elsewhere on Amazon I reviewed Kernighan's "Elements of Programming Style." To quote one paragraph from that review -

Brian Kernighan has co-authored three books almost essential to learning our craft, this volume, "Software Tools" and "The Unix Programming Environment". "Elements of Programming Style" spells out the fundamental rules, "Software Tools" shows you how to apply them to a number of simple projects and extends the rules to software design and finally "The Unix Programming Environment" shows you how to use them in an operating system designed to reward you for your effort.

It could be said that "Elements" teaches programming and "Software Tools" teaches software design. Rules such as "do just one thing, do it well" seem to seep in through the pores as you read and work through this book.

It presents a number of projects starting with a word count program and progressing through some filters to some fairly complex tasks culminating in a RatFor pre-processor for Fortran. All the examples are written in RatFor, a version of Fortran that adds some more structured elements to that early language.

Don't be put off by the use of RatFor, the language is easily understood and the style of programming so clear that the algorithms are easily understood. I've personally translated a fair number of them to both BASIC and C and the RatFor pre-processor design became the basis for an AppleSoft BASIC pre-processor written by a close friend.

I've relied on this book so much for the last ten years, after writing "Hello World" I drag it out and translate a couple of the tools into every new language I've learnt. I then spend a day or two thinking about and implementing a design optimised for the new language. After that I find I have a good handle on a language and how to design for it.

This volume is not for those who want a book that gives them pre-written tools, a fair number of the tools are standard issue on any Unix derivative and the code is only tersely commented, relying on the exaplanatory text. However I recommend this book to all software designers and programmers because as you work through these examples you will learn a great deal about honing your craft.

2 out of 5 stars Disappointed.......2000-03-03

My hopes were high because of the good reviews this book had received... I was disappointed. The idea of many simple programs, each with some clear functionality, that can be combined to produce powerful commands is illustrated clearly enough in the book. But the readability of the code leaves something to be desired. There are lots of if-the-else, while, and repeat constructs, and it's not possible to understand the code without the verbose explanations from the text. Often checking program behaviour for special cases, such as an empty file on input, are not part of the normal text, but left as excercises to the reader.

I would have liked concise comments that state invariants, pre-conditions, and post-conditions to illustrate the correctness of the program. These comments should be part of the program code, not some separate prose that is disconnected from the code. All too often have I had to support code without these comments, and without the accompanying prose to describe the code. This book seems to encourage writing such code.

And also the book is somewhat dated: some of the programs have functionality that made sense in the early days of FORTRAN programming, and are of little use to currentday C/C++ programmers.

5 out of 5 stars The Most Important Software Book I Ever Read........1998-04-01

Software Tools. I can't say enough about how important this book was - and still is - to me. The Software Tools in Pascal version does not have the same effect - it doesn't really work. But Software Tools gets across the idea that you do not have to accept the constraints of your environment to produce excellent programs. Instead, develop the program the way is should be and make a surprisingly small effort to then map it to your environment. Don't let the environmental problems constrain your thinking or actual programming. Then with a little effort you can get your environment to match what you need. The book develops a series of software tools, unix style commands, but implements them in a language called RATFOR (Rational Fortran). This is done because Fortran IV was universal at the time, but also horrible as a structured programming language. The delima: Use a better but less widely available language, or use a horrible but very popular and standard language. The author's choice - and the philosophy of the book - don't be boxed in by this choice. They added to Fortran the structures found in C and then wrote a preprocessor to translate this RATFOR to Fortran. The end result was the best of both worlds: well structured programs that will run on just about anything. The whole book is about this kind of choice. It is great philosophy for software development and great philosophy for life. END
The Elements of Programming Style
Average customer rating: 4 out of 5 stars
  • Many rules still apply
  • This book is the source of a well known debugging quote
  • Some good rules for us all, still valid after so many years
  • dated
  • Small and Classic
The Elements of Programming Style
Brian W. Kernighan , and P. J. Plauger
Manufacturer: Computing Mcgraw-Hill
ProductGroup: Book
Binding: Paperback

Questions & AnswersQuestions & Answers | Education | Reference | Subjects | Books
GeneralGeneral | Reference | Subjects | Books
GeneralGeneral | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Languages & Tools | Programming | Computers & Internet | Subjects | Books
MathematicsMathematics | Professional Science | Professional & Technical | Subjects | Books | Applied | Chaos & Systems | Geometry & Topology | Mathematical Analysis | Mathematical Physics | Number Systems | Pure Mathematics | Transformations | Trigonometry
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
Similar Items:
  1. Software Tools
  2. The Practice of Programming
  3. The UNIX Programming Environment
  4. The C Programming Language (2nd Edition)
  5. Lions' Commentary on Unix

ASIN: 0070342075

Customer Reviews:

4 out of 5 stars Many rules still apply.......2006-09-18

I dare say many rules Mr. Kernighan preached almost three decades ago are still NOT followed by the programming community at large. For examples, "Modularize. Use subroutines." "Each module should do one thing well." and "Don't patch bad code--rewrite it." A widespread, bad practice of 90% of the programmers today is still writing functions that are way too long! And they very often keep modifying existing functions--inserting new logic into them--to make already bad code even worse; they seldom give it a second thought about rewriting the whole damn crap!

Another set of rules from the book: "Make sure code and comments agree." and "Don't over-comment." Many programmers seldom do the first thing, resulting in widespread mismatches between the actual codes and surrounding comments. This applies to Java code as well. The comment style recommended by Java--that is, mixing code and comments that can be extracted into so-called self documentation--is an outright violation of the "don't over-comment" rule. (This is intended to be a criticism of Java-style comments.) Good code should document itself clearly; with perhaps a little help from judiciously added few comments that are not self-evident from the code itself.

The book uses FORTRAN and PL/I code examples. There are things that no longer apply today. But the fundamental rules and styles are still well applicable today and in the future.

3 out of 5 stars This book is the source of a well known debugging quote.......2005-03-14

I haven't actually read the book, or seen it in person, so I'd prefer to refrain from rating it one way or the other. It's worth noting though that this book is the source for an extremely well known quote on writing software:

"Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?"

People familiar with that statement -- it gets cited all over the place -- may be interested in looking at this book if only to see if there are any other gems inside. Chances are, the advice given may be a bit out of date in its particulars, but will have some persistent, deep, profound observations like the one above.

5 out of 5 stars Some good rules for us all, still valid after so many years.......2004-11-24

I think this little book is still relevant today, over thirty years after it first appeared.

Yes, some people claim that computer programming is taught a little better today, and we all learn better habits. Actually, I'm not sure how true that is. People may be better at telling kids how to tidy up their rooms, but I've seen some rather messy rooms!

And people may say that FORTRAN and PL/I are absurd languages to use as examples today. I'm not so sure about that. As a programmer, you may very well see old and confusing programs written in either language, especially FORTRAN. And anyone who can program in more modern languages ought to be able to read the programs.

It's easy to read, it's still interesting, and it raises some issues of style that are worth thinking about. Strunk and White (The Elements of Style) is still worth reading. And so is this.

5 out of 5 stars dated.......2004-07-28

well...mostly dated,
most programmers already follow most rules in this book already.
It as a 'must read' in the past,I understand, but not anymore

5 out of 5 stars Small and Classic.......2002-04-04

A book for every programmer, you can finish it in half an hour but the insight helps in your whole programming life.
Software Tools in Pascal
Average customer rating: 4 out of 5 stars
  • Great tuturial on how to write great software.
Software Tools in Pascal
Brian W. Kernighan , and P.J. Plauger
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback

HistoryHistory | Business & Culture | Computers & Internet | Subjects | Books
PascalPascal | Languages & Tools | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Languages & Tools | Programming | Computers & Internet | Subjects | Books
Software DesignSoftware Design | Software Design | Programming | Computers & Internet | Subjects | Books
GeneralGeneral | Philosophy | Nonfiction | Subjects | Books
Questions & AnswersQuestions & Answers | Education | Reference | Subjects | Books
GeneralGeneral | Reference | Subjects | Books
MathematicsMathematics | Professional Science | Professional & Technical | Subjects | Books | Applied | Chaos & Systems | Geometry & Topology | Mathematical Analysis | Mathematical Physics | Number Systems | Pure Mathematics | Transformations | Trigonometry
History of IdeasHistory of Ideas | Historical Study | History | Subjects | Books
Look Inside Computer BooksLook Inside Computer Books | Trip | Specialty Stores | Books
Qualifying Textbooks - Spring 2007Qualifying Textbooks - Spring 2007 | Stores | Books
Software DesignSoftware Design | Design & Development | Software Books | Custom Stores | Stores | Software
Similar Items:
  1. Software Tools
  2. The UNIX Programming Environment
  3. Programming Pearls (2nd Edition)
  4. The Practice of Programming
  5. Code Complete, Second Edition

ASIN: 0201103427

Customer Reviews:

4 out of 5 stars Great tuturial on how to write great software........2000-03-26

This book was reccomended to me by a freind. Initially, I was not thrilled. After all, I didnt know Pascal, and didn't care to learn Pascal. Pascal to me is a langauge only used by some academics and those stuck in the mainframe world.

I write in C, C++, Java, Perl. What relevance could Pascal have?

Boy was I wrong. It really isn't a book about Pascal, it's a book about writing good software. Pascal is immaterial to the reader. It is just a langauge that is being used to illustrate good software design.

I did most of the examples in Perl or C, and learned a good deal about good design and good coding.

The programs are a bit simple, but unlike other books the examples really build on each other and seem like useful programs. Unike the typical toy java program, that you see in books.

I would reccomend this to anyone who is starting out in programming and would like solid principles to start with.
The C Programming Language
Average customer rating: 4 out of 5 stars
  • Good book, short but enough.
The C Programming Language
Dennis M. Richie , and Brian W. Kernighan
Manufacturer: Prentice Hall
ProductGroup: Book
Binding: Paperback
ASIN: 0876925964

Customer Reviews:

4 out of 5 stars Good book, short but enough........2006-09-13

The writing style is good and you will enjoy with the reading. However, I think that if you want learn much more or how to use the language (not what) it is not the best option.
Unix Entorno de Programacion
Average customer rating: Not rated
    Unix Entorno de Programacion
    Brian W. Kernighan
    Manufacturer: Prentice Hall
    ProductGroup: Book
    Binding: Paperback

    UnixUnix | APIs & Operating Environments | Programming | Computers & Internet | Subjects | Books
    GeneralGeneral | Operating Systems | Computers & Internet | Subjects | Books
    SpanishSpanish | Foreign Language Nonfiction | Nonfiction | Subjects | Books
    Computación e internetComputación e internet | Libros en español | Formats | Books
    No-FicciónNo-Ficción | Libros en español | Formats | Books | Automotriz | Ciencias Sociales | Crimen y Criminales | Educación | Estudios de la Mujer | Feriados | Filosofía | Gobierno | Hechos Verídicos | Planeamiento Urbano y Desarrollo | Política | Sucesos de Actualidad | Transportación
    ASIN: 9688800678

    Computer Pioneers:

    1. Knuth, Donald
    2. Lampson, Butler
    3. Lovelace, Ada
    4. Minsky, Marvin
    5. Nelson, Ted
    6. Neumann, John Von
    7. Papert, Seymour
    8. Postel, Jonathan
    9. Ritchie, Dennis
    10. Sinclair, Clive

    Computer Pioneers

    Computer Pioneers