Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

C Programming: A Modern Approach, 2nd Edition Review

C Programming: A Modern Approach, 2nd Edition
Average Reviews:

(More customer reviews)
I have browsed some C and C++ books in major bookstores to see how the materials are organized and presented. This one was not a book I had a chance to browse, but one which I had to buy for an extension course (Introductory C Programming) at UCLA last summer.
At first I thought King's book was hard because of a certain depth of penetration into elements of good programming practices with examples one after another. As I became serious and started to reading intently, I found out how effective King was in paving the way toward a comprehensive understanding of C programming through worked out code and annotations. King is very skilled in breaking down and building up C code, unlike certain celebrated C programming language experts who apparently do not care to be clear or are simply ineffective. So my conclusion is: Read this each chapter of this book very closely, carefully and seriously, and try to understand every last point King is raising. Also, do not neglect working out some of his exercises at the end of each chapter for the benefit of practice as well as learning C. In almost every chapter of the book, he gives very good, organized and annotated but not tedious and complex examples. The problems are generally reasonable and hardly ever too complicated because I never found them overwhelming, either from a coding perspective or mathematically. Perhaps it is because King comes across as someone who emphasizes organization, detail, clarity and explanation in his style of presentation. There are no problems dealing with heavy scientific or engineering applications for those who dread them.
Great points: (1) Fundamentals - beginning chapters goes into detail for a solid grounding of C language basics (syntax, etc.); and (2) Pointers - excellent exposition with examples, diagrams and exercises, extremely well presented for the starters who easily get confused by what pointers in C are all about; and (3) Ideas are very well connected from chapter to chapter -- some chapters are even as great as stand-alone ones for referencing. The only problems I found were: (1) Description of struct types, which are passed by value from function to function -- implied but not clearly or succintly stated in the book (compare the description in the excellent book by Kelley and Pohl, "A Book in C"); (2) Chapter on program design, which I found to be very terse and scanty in terms of information topics about designing medium size to large C programs -- also jumps into encapsulation and C++ too soon and leaves out one too many basic ideas in C program organization -- "Look before you leap", C++ is object-oriented, and is therefore much more complex and evolved, so why do too much of C++ when one must learn basics of ANSI C well beforehand!
For some reason, I feel strongly that King is following the writing style and presentation of the classical work in C programming by Kernighan and Ritchie. He even discusses the significant contributions of Kernighan in establishing the C language as the mainstay of modern programming for all kinds of applications. There are some uncanny resemblance in style and other parallels I sense in his book. King also retains a lot of the clarity in thinking and intrinsic simplicity reflected in Kernighan and Ritchie's writing style.
Because of the lengthy chapters and reading required, this is not the best ANSI C reference book in my view. Kelley and Pohl's excellent paperback, entitled "A Book in C", does far better in that respect. However, King has more good illustrated examples in his book for the newcomer. You will like his book if you like Kernighan and Ritchie's paperback classic. In fact, King has more for you. The only caveat may be that any newcomer would be well advised to try to understand a little about C before attempting to read the book, because only afterwards does King's treatment only makes sense and becomes meaningful and stimulating. Also, it may help out considerably if one finds a good instructor to teach ANSI C in formal classroom environment using King's book here (as I did last summer at UCLA Extension).
All in all: A very good no-nonsense book for the motivated beginner in C programming.

Click Here to see more reviews about: C Programming: A Modern Approach, 2nd Edition


The first edition of C Programming: A Modern Approach was popularwith students and facultyalike because of its clarity and comprehensiveness as well as itstrademark Q&Asections.
Professor King's spiralapproach made it accessible to a broadrange ofreaders, frombeginners to more advanced students. With adoptions at over 225 colleges,the first edition was one of the leading C textbooks of thelast ten years.The secondedition maintains all the book's popularfeatures and brings it up todate with coverageof the C99standard. The new edition also adds a significant number of exercises and longer programming projects, andincludes extensive revisions and updates.

Buy Now

Click here for more information about C Programming: A Modern Approach, 2nd Edition

Read More...

Programming Pearls (2nd Edition) Review

Programming Pearls (2nd Edition)
Average Reviews:

(More customer reviews)
The thirteen columns in this book appeared in the Communications of the ACM between 1983 and 1985. There can't be more than a couple of technical books on computing from that era that are still worth reading. Kernighan & Ritchie's book, "The C Programming Language", is one that springs to mind; this book is definitely another, and will probably outlast K&R as it has almost no ties to existing or past hardware or languages.
What Bentley does in each of these columns is take some part of the field of programming--something that every one of us will have run into at some point in our work--and dig underneath it to reveal the part of the problem that is permanent; that doesn't change from language to language. The first two parts cover problem definition, algorithms, data structures, program verification, and efficiency (performance, code tuning, space tuning); the third part applies the lessons to example pseudocode, looking at sorting, searching, heaps, and an example spellchecker.
Bentley writes clearly and enthusiastically, and the columns are a pleasure to read. But the reason so many people love this book is not for the style, it's for the substance--you can't read this book and not come away a better programmer. Inefficiency, clumsiness, inelegance and obscurity will offend you just a little more after you've read it.
It's hard to pick a favourite piece, but here's one nice example from the algorithm design column that shows how little the speed of your Pentium matters if you don't know what you're doing. Bentley presents a particular problem (the details don't matter) and multiple different ways to solve it, calculating the relationship between problem size and run time for each algorithm. He gives, among others, a cubic algorithm (run time equal to a constant, C, times the cube of the problem size, N--i.e. t ~ CN^3), and a linear algorithm with constant K (t ~ KN). He then implemented them both: the former in fine-tuned FORTRAN on a Cray-1 supercomputer; the latter in BASIC on a Radio Shack TRS-80. The constant factors were as different as they could be, but with increasing problem size the TRS-80 eventually has to catch up--and it does. He gives a table showing the results: for a problem size of 1000, the Cray takes three seconds to the TRS-80's 20 seconds; but for a problem size of 1,000,000, the TRS-80 takes five and a half hours, whereas the Cray would take 95 years.
The book is informative, entertaining, and will painlessly make you a better programmer. What more can you ask?

Click Here to see more reviews about: Programming Pearls (2nd Edition)

"The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." --Steve McConnellWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience.In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments.In addition, there are three new essays on/ testing, debugging, and timing/ set representations / string problems All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, the book is sure to make your own list of favorites. 0201657880B04062001

Buy Now

Click here for more information about Programming Pearls (2nd Edition)

Read More...

Beginning Programming with Java For Dummies Review

Beginning Programming with Java For Dummies
Average Reviews:

(More customer reviews)
If you have had experience programming in other languages, then this book is not for you. It takes things slowly but surely, demonstrating the basic tenets of programming as well as the specifics of Java. I read it before taking an introductory computer science course and it really put me ahead of almost all of the other students (and I had no real programming experience).
Basically, this book was written for the novice. If novice is too generous a term for you, then this book will be perfect. Even if you only thought Java was another name for coffee and only use a computer to word-process on and want to pick up a hobby or perhaps a job skill, you will benefit from this book. The author, Barry Burd, really knows his stuff. He is able to explain such complicated conceptual areas such as objects, classes and arrays better than my CS 101 prof. He also keeps it lively if things get too abstract by analogies and often throws a joke in a section. The book, as a result, is somewhat entertaining in addition to being informative. He uses language that any lay person could easily understand (but if you want to read this because you are going into a computer science class, it's a good place to start, but you will need another book to help you learn the terminology).
In spite of the stigma attached to the "For Dummies" book series (at least it's not as bad as "The Complete Idiot's guide"), this is a book written for people who just want to get to know the language and write some simple programs (or more). I would highly recommend it to anyone getting started here, as well as Java 2 by the same author.

Click Here to see more reviews about: Beginning Programming with Java For Dummies


Covering everything from basic Java development concepts to the latest tools and techniques used in Java, this book will put would-be programmers on their way to Java mastery
Explores what goes into creating a program, how to put the pieces together, dealing with standard programming challenges, debugging, and making it work
Updated for the release of the Java SDK 2.0, with all examples revised to reflect the changes in the technology


Buy Now

Click here for more information about Beginning Programming with Java For Dummies

Read More...

Enterprise Web 2.0 Fundamentals Review

Enterprise Web 2.0 Fundamentals
Average Reviews:

(More customer reviews)
It's perhaps slightly surprising to see this put out by Cisco Press. They usually deal with topics closely if not explicitly tied to Cisco hardware, or to Cisco sponsored credentialling.
The book has more general scope, for the most part. It talks in broad, largely nontechnical prose, about the Web 2.0. Explaining what this means in terms of blogs, social networking, wikis and other user-generated activities. But it also has meaning in terms of the mobile user, who might access the web from a cellphone, PDA or wireless netbook.
As to how the Web 2.0 is accomplished in a technical manner, the book describes various programming languages that are popular in building such websites. Think Ajax and Ruby on Rails, for instance.
The conceptual boundary of the Web is the so-called Semantic Web, a term proposed by Tim Berners-Lee. We get some airing here about the Semantic Web. You get to appreciate that this is still early times for it. The book also brings up cloud computing. Alas, the latter term is so vague, but to the extent that it has useful meaning, the book tries to educate you on this.
The last 2 chapters are where Cisco is actively promoted. Describing how Cisco uses things like blogs in their sales group. I'm not sure quite what to make of these chapters. Is it mainly to build mindshare about how Cisco uses these ideas? For instance, it mentions how Cisco won several awards for their projects. Good for them.
The appendices are extensive and quite good, if you want to use the book as a guide to far more detailed resources on the Web. In a way, the appendices somewhat impart the book the flavour of a review article in a scholarly journal, by their copious references to original texts.

Click Here to see more reviews about: Enterprise Web 2.0 Fundamentals

An introduction to next-generation web technologiesThis is a comprehensive, candid introduction to Web 2.0 for every executive, strategist, technical professional, and marketer who needs to understand its implications. The authors illuminate the technologies that make Web 2.0 concepts accessible and systematically identify the business and technical best practices needed to make the most of it. You'll gain a clear understanding of what's really new about Web 2.0 and what isn't. Most important, you'll learn how Web 2.0 can help you enhance collaboration, decision-making, productivity, innovation, and your key enterprise initiatives.The authors cut through the hype that surrounds Web 2.0 and help you identify the specific innovations most likely to deliver value in your organization. Along the way, they help you assess, plan for, and profit from user-generated content, Rich Internet Applications (RIA), social networking, semantic web, content aggregation, cloud computing, the Mobile Web, and much more. This is the only book on Web 2.0 that:Covers Web 2.0 from the perspective of every participant and stakeholder, from consumers to product managers to technical professionalsProvides a view of both the underlying technologies and the potential applications to bring you up to speed and spark creative ideas about how to apply Web 2.0Introduces Web 2.0 business applications that work, as demonstrated by actual Cisco® case studiesOffers detailed, expert insights into the technical infrastructure and development practices raised by Web 2.0Previews tomorrow's emerging innovations–including "Web 3.0," the Semantic WebProvides up-to-date references, links, and pointers for exploring Web 2.0 first-handKrishna Sankar, Distinguished Engineer in the Software Group at Cisco, currently focuses on highly scalable Web architectures and frameworks, social and knowledge graphs, collaborative social networks, and intelligent inferences.Susan A. Bouchard is a senior manager with US-Canada Sales Planning and Operations at Cisco. She focuses on Web 2.0 technology as part of the US-Canada collaboration initiative.Understand Web 2.0's foundational concepts and component technologiesDiscover today's best business and technical practices for profiting from Web 2.0 and Rich Internet Applications (RIA)Leverage cloud computing, social networking, and user-generated contentUnderstand the infrastructure scalability and development practices that must be address-ed for Web 2.0 to workGain insight into how Web 2.0 technologies are deployed inside Cisco and their business value to employees, partners, and customersThis book is part of the Cisco Press® Fundamentals Series. Books in this series introduce networking professionals to new networking technologies, covering network topologies, example deployment concepts, protocols, and management techniques.Category: General NetworkingCovers: Web 2.0$40.00 USA / $48.00 CAN

Buy Now

Click here for more information about Enterprise Web 2.0 Fundamentals

Read More...

Spring Python 1.1 Review

Spring Python 1.1
Average Reviews:

(More customer reviews)
Spring Python 1.1 is a book for professional programmers who either wish
to venture into a world beyond traditional OOP and tackle problems
differently thanks to Spring Python's IoC & AOP features or simply have
practical issues - such as spreading the application across multiple
nodes - to solve. The book does not merely rephrase the comprehensive
reference documentation available at the project's website and I was
actually very curious on how the author would be laying out the material.
Greg took a very good approach of explaining the basic of IoC first and
building upon it in subsequent chapters although they can all be read
separately. All of the major Spring Python's building blocks are covered
and I can only applaud that despite its Java roots almost no XML is used
- that's a good news for all Python programmers fearing that "Spring"
means a lot of unnecessary XML, the prevailing majority of examples is
in pure Python. Java programmers wishing to leverage their existing
Spring skills won't be disappointed though as there are some chapters
devoted to how one can easily migrate a Spring Java IoC container over
to Spring Python one, there's also a discussion of how to use Spring
Python & Jython which, along with CPython, is also a target Python
implementation Spring Python can run on. But let that not confuse you,
the book is mostly written for Python programmers.
I liked it that the book was focusing on getting things done without
turning aside into discussing vaguely related concepts or nuances, for
instance the chapter on SQL doesn't do any 'quick recaps' of what SQL
and relational databases are as is unfortunately quite common in many
other books. On the other hand, not everyone is familiar with IoC and
AOP and I know that anyone unfamiliar with those concepts - regardless
of their primary programming language of choice - can easily take the
book and get acquainted with them. A superb idea was that most of the
chapters teach you how to write unit tests for the given Spring Python
component you'd want to use in your code, IoC, AOP, security, database
access and so on, that's an often neglected area and I was very happy to
see the author having placed an importance on it. Another good idea was
to create a case-study chapter which combines all the knowledge and
discusses it thoroughly.
All in all, it's a good book written by a practitioner for
practitioners, full of diagrams and examples that by necessity are
simple yet don't feel contrived and it's certainly not something you
need to plough through, it does a very good job of introducing the
reader to Spring Python and showing how to use its pluggable components
to write interesting and useful applications solving real-world
problems. If I were to pick a nit I'd only say that it would be nice if
the second edition contained at least a couple of examples of using
Spring Python's IoC YamlConfig, but that's only a matter of syntax so
the issue is really minor.

Click Here to see more reviews about: Spring Python 1.1

The book is an introduction to Spring Python. It starts with simple practical applications, moving on to more advanced applications with two advanced case studies at the end of the book. It is packed with screenshots, examples, and ready-to-use code making it very suitable for a beginner while also showing tactics and concepts suitable for the most experienced developers. Each chapter starts with a simple problem to solve, and then dives into how Spring Python provides the solution with step-by-step code samples. Along the way, screenshots and diagrams are used to show critical parts of the solution. The case studies start off with a handful of use cases, and then proceed step-by-step to incrementally develop features. Some use cases are left to the reader to implement as an exercise. Key problems discovered along the way are exposed and then solved, giving the reader the chance to solve them, or to read the author's solutions. This book is for Python developers who want to take their applications to the next level, by adding/using parts that scale their application up, without adding unnecessary complexity. It is also helpful for Java developers who want to mix in some Python to speed up their coding effort.

Buy Now

Click here for more information about Spring Python 1.1

Read More...