Computer Programming

Google

General

Programming
APIs and Operating Environments
Extensible Languages
Graphics and Multimedia
Languages and Tools
Software Design
Web Programming

Languages

ADA
ASP
Assembler
Basic
C#
C and C++
CGI
COBOL
Delphi
Eiffel
Forth
Fortran
HTML
Java
Javascript
LISP
Logo
Modula 2
Pascal
Perl
PHP
PL/I
Postscript
Prolog
Python
QBasic
REXX
Smalltalk
Visual Basic
XML

Databases

Access
Clipper
DBase
Filemaker
IBM DB2
Informix
Ingres
JDeveloper
MySQL
Oracle
Paradox
Powerbuilder
SQL

Software

Database
Development Utilities
Graphics
Linux
Programming
Programming Languages
Training & Tutorials
Web Development

HobbyDo


Search Now:

C AND C++ BOOKS

Posted in C and C++ (Monday, October 6, 2008)

Written by Tony Gaddis. By Addison Wesley. The regular list price is $90.00. Sells new for $48.99. There are some available for $5.95.
Read more...

Purchase Information
5 comments about Starting Out with C++ (4th Edition).
  1. Since class has started I have only been able to attend half of my classes. While I love to program I was worried about missing the lectures. This book is very well documented in a step by step fashion that I have been able to stay at home and study, do my homework and maintain an excellent standing in the class. Compared to introductory books I have read in the past "Starting Out with C++ (3rd edition)" this actually allowed for me to grasp the basic concepts of the language. It will always have a place in my library.

    Aaron



  2. I found this textbook to be very poor, especially for a beginning programming course. It presents concepts in a confusing fashion and presents simple TOO MUCH information sometimes for students to digest. It isn't an accessible text for students starting to learn C++ -- it blurs concepts which are useful and essential with concepts which really aren't necessary. Many of the examples are poor, and the presentations of functions and classes are particularly poor. If you are looking for an accessible and clearly-written Computer Science I textbook, try Rick Mercer's Computing Fundamentals with C++. I highly recommend that book; I do not recommend this one.


  3. This book discusses wide range of topics, covering most aspects of C++ programming. At the same time the auther is meticulus and has dealt with the topics in depth covering finer points.

    Many solved examples and additional excercises are given. The whole book is linked with a project, so the students will get to know how and where to apply (in real world situation) the topic which they have studied.

    Excellent for both teachers and students.

    Highly recommended.

    -Prof. M.G.BHATIA



  4. I've been developing software for about 15 years now and I needed a refresher in C++. The bad is that this book didn't help me until about Chapter 11 (remember that all you C jockies out there). The good is that I would definitely recommend this book to anyone starting out programming at any level (including a novice). Excellent book.


  5. -Jim Burke, Student
    Dear Mr.Gaddis: I use your book at the University of Texas at Dallas. Your book is GREAT!! . Good presentation, takes care that we know the details. Thanks!

    -Christopher Savage, Student Augusta State University Could you please tell me when "Starting Out with Java" by Tony Gaddis will be available for purchase? I am a Sophomore at Augusta State University, and my school's first programming class uses "Starting out with C++." I am transferring to UGA and their first class teaches JAVA. So I have to teach it to myself. I love your C++ book -- it makes everything so easy to understand, and I know that I can't go wrong with the JAVA text. Any information you can give me will be greatly appreciated. Thanks a lot.


    Student, UT Dallas -- What can I say that hasn't already been said. This is the required text in CS1315 at UT Dallas. I have thoroughly read the book and worked through most of the examples. I felt the handling of buffered input and pointers was slightly confusing, but it was by far better than anything else I've read. The examples are interesting & un-intimidating, and the jargon is carefully explained. What more can you ask for? If you really want this stuff to gel, get into the CS program at UT Dallas.

    Roy Winters, Student I have read quite a few text books. Tony's books are the best by far. Does he ever do speaking engagements? If so, could you send me a schedule. FYI, I have saved quite a few dollars ordering directly from your web site.

    Jonathan King, student Dear Professor Gaddis: I'm a Tufts University student. I have to say that your book is a great resource. I (and many others) like the short examples that quickly get to the point they're trying to make.

    Aaron Laster (student, Shawnee, Oklahoma United States) -
    Since class has started I have only been able to attend half of my classes. While I love to program I was worried about missing the lectures. This book is very well documented in a step by step fashion that I have been able to stay at home and study, do my homework and maintain an excellent standing in the class. Compared to introductory books I have read in the past "Starting Out with C++ (3rd edition)" this actually allowed for me to grasp the basic concepts of the language. It will always have a place in my library. Aaron

    Saud Faisal student, Collin County Community College...just wanted to tell you that your book has made a lot of difference in my life. Your book is absolutely Awesome. You have a lot of examples in the book which helps a lot. Thanks again


    One of the Best Textbooks I've read,: College Student US_Canuck (DUNEDIN, FLORIDA United States)
    Learnt quite a bit from this textbook needed for my C++ class in college. I was pleasantly surprised at how well written this book was, considering the topic it is covering. Great Book! I'm keeping mine seeing as it will come in handy with my future programming endevours. Too bad other textbooks aren't as well written.


    The Bible of C++,:: Ahmad Kaifi (Antioch, CA United States)
    I was introduced to this book when I was in junior college and just starting my programming courses. Now I'm a graduating senior and I still refer to this book. Other books are good, but the code examples in this book are excellent. I guess I learn better from code example, this book does not have a lot of text, yet is extremely full of excellent information. I just grabbed it off the shelf to finish off a program that I am working on, and I just had to write a review about it before I opened up the book...AGAIN.

    Excellent Book,: Prof. M.G. Bhatia (Mumbai - India) -
    This book discusses wide range of topics, covering most aspects of C++ programming. At the same time the auther is meticulus and has dealt with the topics in depth covering finer points. Many solved examples and additional excercises are given. The whole book is linked with a project, so the students will get to know how and where to apply (in real world situation) the topic which they have studied. Excellent for both teachers and students. Highly recommended. -Prof. M.G.BHATIA

    A great place to start,: bixodoido (Utah, USA) -
    This book is very, very exhaustive in its coverage. I didn't even go through a part of it. But aside from its bulk, it was a very good introduction to programming. Gaddis does an excellent job of showing how to program step-by-step, and makes it easy to teach yourself. The book also contains a quick reference section where you can look up frequently used commands without having to find them in the text. This book is highly recommended for beginning (and even continuing) programmers.

    Good Coverage of C++, This was the required book for my college classes in C++. Better than most books I have read or skimmed thru on C++ programming. There are a few bugs in the included programs however and the author forgot to address command line arguments, passing parameters thru main and returning a value from main. This could cause trouble if your not on a Windows platform running these executables.Overall, I kept my copy after the class as a useful reference book.BTW, this book does not cover Windows Programming with C++ at all.

    Excellent Textbook,: Karen Ryberg (Bismarck, ND USA) -
    I used this book for the first semester of college C++. It is an excellent textbook. Some C++ textbooks have large amounts of text with few examples, making them very hard to read and understand. This book is filled with examples in short sections about specific C++ elements. I have kept it as a reference as information is easy to find and the examples make it easy to understand and implement. I have two other books on C++, but if I was teaching a C++ class, I would use this book.

    Very well written but structure is questionable.,: "wolfstep" (Dover, NH USA) -
    The book itself is fantastic. Everything is layed out in an easy to read fashion. Truely a C++ beginners book. The orginization while not bad, left some searching up to the reader and some flags could have been in bold or highlighted in some fashion. But I would not consider this book a waste. It was well thought out and meant for the beginner. Thanks for writing a book thats was so educational Tony!


    Great book, This book is just amazing. True, it could have been organized a bit better, but that is its only downfall (if that even matters). The book goes in-depth on almost everything in C++. It'll teach you pretty much everything you need except the most advanced topics. Its a tough book since it covers so much, but its definitely worth the time and money if you're willing to invest in it.

    Prof. Deedee Herrera, Dodge City Community College, Dodge City, Kansas
    I have adopted and am currently teaching from the Gaddis second edition textbook. This is by far the best C++ book that I have taught with.


    Great C++ Book,: "freecell" -
    Best programming book I have used to date!


    Prof. Miriam Plonczak Touro College "Gaddis's book is a good, solid book and teachers should be successful using it Students in our Bachelors program find the book clear, easy to follow and therefore, they like it very much."


    Prof. Jeffrey A. Kent Los Angeles Valley College I listen to what students say about the books I select. Their response to Gaddis is unusually positive. They really like the book.

    :
    My name is David McLeod. I am an Assistant Professor at Belmont Technical College in St.Clairsville, Ohio. I want to tell you that I believe your C++ text is the most thorough one available. I have used 5 different ones since 1992 and every one assumes the students know things that they do not. You cover every detail. Thank you


    Prof. Carol Schwab, Webster University: I took a good look at your 2nd edition as I revised my class to use it and I think you did a super job. Moving recursion and splitting the chapter on arrays made a great book even better. Congratulations!

    Prof. Brenda Boyce- "I have found the Gaddis book to be a wonderful textbook for our students. It is highly readable, and I am pleased that most students are actually reading the text."


    What I have seen is IMPRESSIVE,
    As an instructor in the community-college system, I have students with wide-ranging abilities--from remedial to advanced. Though I haven't had time to study the whole book (yet), it has many good features, all of which I can't list. The most important to me is how the book proceeds. Though this book is exhaustive (i.e., covers each of its topics very thoroughly), it goes step-by-step to teach the basics of the programming process in an organized fashion. Such a progressive approach is MUCH better than a "here's EVERYTHING on one topic" approach (see any book by the Deitels); beginning students don't NEED to know the details. Any programming instructor who thinks about how he/she learned will recognize that he/she learned broad, general basics and only picked up the details through practice. Also, if you'll notice, Mr. Gaddis teaches at the community college level. Want a good C++ teacher? Go to somebody who teaches C++, NOT the Deitels. My apologies to Harvey and P.J., but their tripe has confused a whole generation of would-be programmers and I'm sick of seeing the so-untrue title "C++ How to Program." Mr. Gaddis' book is the BEST I've seen in years.

    - Prof Tom Gilman, College of the Desert My students say Gaddis is the best thing they've seen since sliced bread

    -Prof. Al Cawns, Webster University, MO The students have found your book to be easy to read and understand-a great accomplishment.

    -Prof. George Harrison, Norfolk State University, VA Gaddis is an extraordinary writer. Gaddis' text is working much better than I expected. The ancillary materials especially the test bank and Power Point presentations add greatly to our ability to do some solid, diverse, and effective teaching.


    -Prof. Ray Larson, Century College, MN I have adopted this book for courses at both Inver Hills Community College and Century College in Minnesota this semester. I have not been disappointed. It works for-me."


    -Dr. Cherie M. Stevens, Professor, Computer Science, South Florida Community College The GADDIS book is the BEST C++ book I have ever found. THANKS! I tried at least half a dozen other C++ books before I found GADDIS. NONE of them is as effective or thorough!

    Prof. Tuan A Vo Mt. San Antonio College I am using this book for the first time at Cal Poly Pomona (my part-time job). I really like the book and I am considering this book at Mt. San Antonio College as well (my home institution).


Read more...


Posted in C and C++ (Monday, October 6, 2008)

By Springer. The regular list price is $443.00. Sells new for $184.50. There are some available for $110.56.
Read more...

Purchase Information
No comments about Computational Approaches in Supramolecular Chemistry (NATO Science Series C:).



Posted in C and C++ (Monday, October 6, 2008)

Written by Thomas Boutell. By Addison-Wesley Professional. The regular list price is $37.95. Sells new for $11.44. There are some available for $0.45.
Read more...

Purchase Information
5 comments about CGI Programming in C and Perl.
  1. Those of us who participate in the CGI programming newsgroups know Thomas' reputation and it's steller. When this book was first released, it was the best book available, and it some ways it still is. But the current edition is showing its age. It doesn't cover many new CGI topics or concepts. I still use this book as a reference now and again, but I wouldn't buy it today.


  2. With many years of experience under my belt, i found this book to be easy. I'd written many complex cgi scripts using perl and c previous to this book, for many fortune 500 companies. They are much more complex than the ones "Dennis Chang" clamis to have written. The conepts in the book are sound but a little outdated. One major complaint is that there aren't enough code examples to look at while you are reading along. The bottom line, its a easy book to read that teaches sound principles for programming cgi in c, but remember you pay for what you get. So i recommend getting a more advanced book for when you master this one.


  3. An EXCELLENT buy -- you don't have to be a "Pro" to use the programs here -- but you can't be a rookie either... Get it "New" or "Used"--the price difference is insignificant--compared to what's inside the book....I bought this book a few months ago--here on AMAZON--and was delighted to find this book contained entire (web)-C-programs that ACTUALLY WORKED! If your web-server(CGI-scripts) are runnning at a crawl...it's probably because you are running a "convenient-scripting-language" -- instead of a C-program!! This book is NOT long-winded, but very practical. I have seen (repackaged???-or-similar)-versions of this code running on a few of the "higher-profile" web-sites. Over the years, I have acquired a STACK of other C-Programming Books--and I am afraid to buy any more of them--because I am tired of EXPERIMENTING to see which ones are PRACTICAL to READ, and I'm tired of reading GOBS of POINTLESS-and/or-BLOATED text--I am very happy with this book. I am a self-taught (Linux) C Programmer, and the C-and-PERL-programs from this book run well on Linux(kernels 2.2 thru 2.4)... This book is a great start in getting you up and running--but the rest is up to you--since you'll REALLY NEED to UNDERSTAND MODERN WEB SERVERS !!! ...and... ONE LAST NOTE-- this code may be considered "old" (written in 1996?) --it's NOT obsolete--but it still runs perfectly-and-flawlessly "as is" --on a modern-day Apache Web Server(Linux). This code has stood it's test of time. After you use these programs--it may become more obvious as to the "updates-additions-or-deletions" you'll want to make. Be sure to get Boutell's UPDATED CODE (from his web-site).


  4. I bought this book around 1998. It was the only book that cover
    CGI and C, the rest talked about PERL which I hadnt learned yet.

    Once the reader learns the basics (assuming they already know 1 of the 2 languages and have a webserver to play with), they should be able to construct any CGI program in almost any language.


  5. I tried for a long time to get a handle on C. My background is PERL, and then later PHP, so i figured it might make sense for me to come at this from a web-based perspective. By chapter 4 I knew enough to start writing simple programs on my own (not using samples in the book). By the end of chapter 7 I was well versed enough to start more complex programs using PATH_INFO variables. Extremely good book. If you write web-based apps, and are thinking about learning C this is *the* book.

    One reviewer mentioned something about screenshots looking old, which is true, they are obviously Netscape 1, running on Unix's now ancient Motif window manager, but the concepts are all still exactly the same. The cgi's you write will look the same on Netscape 1, as they do on Seamonkey, or IE, or Safari so that's no big deal.

    I gave it a 5 because the concepts contained inside are very well written easy to understand and this is the only book that has given me a decent base on which to learn C.

    If I could change my rating now, I'd give it a 3 or 4. I wrote some more complex CGI's based on some of the ones in this book that didn't work. So for kicks I copied the source from the cd and tried to just compile those...gcc refused saying I hadn't declared strcmp(). :-/

    Indeed, I did a 'gcc *' in the SOURCE/C dir and didn't end up with a single a.out file. They all gave errors either on strcmp, feof, fgets, fprintf, in, isspace, fclose, and numerous others.

    Still an excellent book but things have changed a lot since it was written.

    Hey Thomas! How 'bout a Second Edition? :-)


Read more...


Posted in C and C++ (Monday, October 6, 2008)

Written by Behrouz A. Forouzan and Richard F. Gilberg. By Course Technology. The regular list price is $87.95. Sells new for $25.00. There are some available for $11.25.
Read more...

Purchase Information
5 comments about Computer Science: A Structured Approach Using C++, Second Edition: A Structured Approach Using C++, 2nd.
  1. From the back cover: "[...] no matter how powerful the language, it is still far too easy to write poor programs. [...]". The code examples in this book prove exactly this point.

    The authors mention the ISO/ANSI C++ standard and claim to follow it "wherever possible" (sic). However, they make so many false statements that I seriously doubt that they have ever consulted the ISO/ANSI Standard documents, or any of the excellent text books on modern C++ design and coding practice (Cline, Meyers, Sutters.)

    I believe (and I'm not alone) that in a modern C++ course std::vector should be introduced before arrays, and std::string before const char*. Not only are they safer, they are also *a lot* easier to use, and make it possible to come up with more interesting programming exercises than the endless array of meaningless numerical computations. Unfortunately, many instructors and authors consider std::vector and std::string to be "advanced topics", and torture their students and readers with the old stuff they had to learn themselves ten or more years ago. The authors belong to this category, I'm afraid: they learned C, and think that they know C++.

    Let's have the book speak for itself.

    Page 28:

    "While C++ allows declarations and statements to be intermixed, we believe that functions should be organized for readability. Therefore, we continue to follow the C organizational concept that places declarations first in a function, followed by its statements."

    On a related note, on page 40 the authors write:

    "One final point about initializing variables when they are defined: Although the practice is convenient and saves you a line of code, it also can lead to errors. It is better, therefore, to initialize the variable with an assignment statement at the proper place in the body of the code. This may take another statement, but the efficiency of the program is exactly the same, and you will make fewer errors in your code."

    (My comments:) It is commonly accepted by knowledgeable C++ programmers that the practice of declaring variables near the point of their first use in one of the things that makes C++ a better C. It is the old style that leads to errors (forgetting to initialize variables) and maintenance problems (variables that are no longer used, but are still in the declaration section). Furthermore, it is considered good style to prefer initialization ( int sum = 0; ) over subsequent declaration and assignment ( int sum; sum = 0; ). The former is always more efficient, and the difference can be substantial when dealing with large objects for which construction is expensive. You may argue that this is of no concern for beginning C++ programmers, but I disagree; habits, both good and bad, form early.

    --

    From the code example on page 363: bool binarySearch (int list[ ], int end, int target, int &locn){ ... }

    (My comments:) The first argument should be const-qualified: const int list[ ]

    Not only does this protect the programmer from inadvertently changing any of the values stored in the array; it also makes it possible to use the function with const int[] arguments (which would fail to compile with the original code). The const keyword is an important asset of the C++ language, and students should be trained to use it properly from the beginning. Using the Standard Template Library will drive programmers who are not aware of const-correctness issues insane. The book is extremely sloppy in the const-correctness area.

    --

    Page 119:

    "If a function has not been declared or defined before it is used, C++ will assume that you will provide that information when you link the program. Since there are no specifications, C++ will also assume that the return type is integer and that the parameter types correctly match the formal definitions."

    (My comments:) This is not true: in C++, functions have to be declared before they are used, and there is no such thing as 'implicit return type int'. C++ really is different from K&R-style C.

    --

    On page 195, the following insight is highlighted:

    "The else-if is an artificial C++ construct that is only used when

    1. The selection variable is not an integral, and

    2. The same variable is being tested in the expressions."

    (My comments:) No further questions here, your honor.

    --

    It gets really interesting when the authors express their ideas on Object-Oriented programming. They claim that Object-Oriented programming is just a different view, but that the implementation is exactly the same as in structured programming. They are probably misguided by their own example of an elevator simulation program (in the chapter on classes), which is simply a structured program wrapped in a class, and has nothing to do with OO.



  2. Great choice for new students to programming.


  3. easy to read, helpful excercises, a good book for those who want to learn C++ programing


  4. This is the text for my C++ class, so I did not buy it by choice. It's terrible! The people in class who are new to programming are having a hard time. Often the authors use imprecise language. There are many errors of omission: sometimes there is backpedaling or an explanation later. It says a lot that the non-programmers in the class can almost always tell when a statement in the book isn't quite right, even if they don't know why it isn't right. You have to wonder if there was a technical review of this text. And I can't figure out how it got chosen as a text for any class anywhere.

    One, the authors did not mention which compiler they used to compile their program examples. Many of the programs do not compile in MS Visual C++ 6.0 as written in the text. The authors fail to mention you might have to modify the code to get it run on your compiler. For instance,
    cout << fixed;
    may have to be replaced with
    cout.setf(ios::fixed);
    or
    cout.setf(ios::fixed, ios::adjustfield);
    to run right in your compiler.
    They do finally talk about cout.setf in chapter 7 (out of 15). The program example downloads from the website compile; they contain preprocessor directives to make the programs more portable. I guess it never occurred to the authors, while adding those preprocessor directives (which DO NOT appear in the text), that some words about compiler compatibility might be helpful. Fortunately, I have C++ Primer Plus by Mitchell Waite; he addresses the compatibility issues as he teaches the syntax.

    Two, I often disagree with the authors' definitions. My favorite example: the statement
    x = 5;
    changes the value of the variable x to 5. The authors call this a "side effect." Huh? Seems like that's exactly what the programmer intends to do. Usually, I think of side effects as being more subtle than that. More like a function changing the value of a variable parameter to the function because the variable was passed by reference instead of by value (this could catch an unsuspecting programmer by surprise if he/she didn't check the prototype carefully).

    Three, some of the "good programming" tips would cause me to fail code inspections at work. This is a good thing, because they would make verification and maintenance a nightmare. Like not initializing variables when they are declared. I guess the authors have never seen weird things happen as an executing program tries to deal with the garbage in an uninitialized variable. Or maybe they just figure this is a good way for you to discover you forgot to initialize a variable before first use. It just might take a while to figure out that's what's going on since the results can be unpredictable and/or bizarre.

    I could continue, but I think I've more than made my point. I won't be standing in line to get the second edition when it comes out next year.



  5. Spend your money wisely and get another book. This book is poorly written in what seems to be a foreign language. The phrase "it's Greek to me" certainly applies here. This book contains grammatical and spelling errors alike. The coding is incomplete and as a student of C++ I find it outrageous that computer science professors require this book as a textbook. All in all do not buy, try C++ Primer Plus.


Read more...


Posted in C and C++ (Monday, October 6, 2008)

Written by J. Glenn Brookshear. By Addison Wesley Publishing Company. The regular list price is $39.80. Sells new for $30.25. There are some available for $0.46.
Read more...

Purchase Information
No comments about Experiments in Computer Science - C Version.



Posted in C and C++ (Monday, October 6, 2008)

Written by Cameron Hughes and Tracey Hughes. By Addison-Wesley Professional. The regular list price is $54.99. Sells new for $45.00. There are some available for $50.00.
Read more...

Purchase Information
5 comments about Parallel and Distributed Programming Using C++.
  1. I gave it 3 stars only because there are few books on the subject; it deserves only 2.

    The main problem I see with this book is that it tries to cover too much ground, even with subjects that it should not touch upon: there are whole chapters (7 and 9, for example) that are more about C++ than parallel or distributed programming, and one chapter (10) is about UML. Although it is interesting to see C++ and UML techniques applied to parallel and distributed programming, this leaves little space left for the coverage of MPI, for example. PVM and pthreads are given somewhat more attention, but still not nearly enough.

    Another problem is that the examples are mostly incomplete code fragments. There are few complete, running examples. I hoped to see bigger examples in the last chapters (they seem like case studies), but again they are made of too much "talk" and no code.

    The chapters are mostly independent of one another; it can be good if all you need is a quick first read on one of the subjects, but it gets annoying if you try to read it sequentially. Exercise for the reader: count how many times the PRAM model is cited AND explained.

    To say something good about it, the book has some nice general musings about the nature and fundamental problems of concurrent systems. But it is not a coherent whole and is not particularly good at explaining any of the myriad subjects it touches upon.

    Bottomline: It's neither an applied book about specific technologies, nor a general treatment. I would not buy this book unless it were very cheap. Take a look at it at the bookstore or borrow from a library, but don't spend your money.

    To people wanting a general treatment about concurrency, it's principles, problems and solution space, I recommend "Concepts, Techniques and Models of Computer Programming" by Peter van Roy and Seif Haridi. It's thoroughly educational, and half of it is about concurrency (but no specific treatment of pthreads, PVM or MPI).


  2. This book is a collection of many topics about MPI, PVM, Pthread, UML, CORBA, etc. None of them explains thoroughly. All the parts don't have coherence and don't have a complete example about parallel and distributed application. Readers would be better off just Google these topics and will find free documents which are far better than this book. It wastes your money to buy this book.


  3. Even the bad reviews here are too kind. What can I say about this book? Let us start with Chapter 7, which is about exceptions and error handling -- as applied to parallel programming you'd think. But there is nothing about parallel programming and nothing good about exceptions in this chapter, which reads like a blog written by a C++ programming beginner who has just stumbled upon exceptions and thought, hey this is cool, nothing of the sort in Fortran, let me write about it.

    Section 9.2 talks about using template functions for parallel programming. Their examples are of the sort: (if rank is 0, let us call the multiplies() fn that is templated on int; if rank is 1, let us call the multiplies() fn that is templated on double). What were these people smoking?

    Section 9.3 overloads stream operators (<<,>>) to do MPI send/recv. This is bad design because the rank of the other process (for one) is an input to the MPI functions, so there is a stream class per other process - which is more messy than convenient. A better design would be to make a communicator class with send(), recv() fns taking the other rank as input. This would also support collective (gather, scatter) communication. Not to mention *unbuffered* MPI send/recv calls can be terribly slow, so there should be some buffering support.

    This brings to my basic gripe about this book: it is incredibly shallow. Of course it is garbage to an expert, but even to the dullest of beginners it can be of little use. Just about anything that you can find on parallel programming or C++ is better than this.


  4. I think that the book is quite good. However, do not look architecture level concepts, neither mathematics, neither an explanation of distributed and parallel concepts (well, there is something...). The title shoudl be something like "C++ tools for distributed and parallel programming"

    However, this is the only book I know that introduces the biggest amount of tools in other to implement distributed applications in C++ (in case you do not want to start from sctach). Of course, there are missing thinks like web services, sockets, peer2peer middlewares, etc. However, the explained packages are the most used in the market.


  5. The title was ever so promising. But when I finally got to use this book,my disappointment was limitless.I found myself having to be on the lookout for errors of all sorts instead of learning from the book.While the book is in the 600s in the number of pages,it is rather thin on content on the topics that it covers. Take Chapter 4, "Dividing C++ Programs into Multiple Threads" for instance.The authors do a lot of hand waving explaining what is essentially threads in C (behind some little C++ syntax),and just when you are hoping to learn about threads in the presence of composition (as you might need with nested parallelism) or inheritance, you are met with section 4.11.5 "Creating Multi threaded Objects" that is only one and half pages long and tells you nothing you did not know already. The authors then proceed to add more than hundred pages in the form of appendix B on material that you can get off the internet.I've since decided to use Intel TBB (and bought Intel Threading Building Blocks by Reinders) for my project. With POSIX threads here to stay and parallel programming becoming mainstream,the authors ought to use subsequent editions as opportunity for great improvement.


Read more...


Posted in C and C++ (Monday, October 6, 2008)

Written by Thomas Plum and Jim Brodie. By Cmp Books. The regular list price is $34.95. Sells new for $17.99. There are some available for $1.07.
Read more...

Purchase Information
1 comments about Efficient C.
  1. Vax, PDP/11 and detailed examples of c programming, probably dated, text is nice and big, easy to read, if the discussion didn't center around specific (and now obsolete) technologies, it would probably be worth a read. But the pages are aesthetically pleasing to look at.


Read more...


Posted in C and C++ (Monday, October 6, 2008)

Written by Joe Campbell. By Sams. There are some available for $0.02.
Read more...

Purchase Information
5 comments about C Programmer's Guide to Serial Communications.
  1. I was introduced with campbell book wile studing at University; for a course of Data Comunications.

    The firt part of the book is really fine; I've never used the second one. As a programmer working ocasionally with RS-232 I've found usefull the concepts explained in the book while working with serial comunications and High Level libreraries like termios under UNIX or Comm Object in VBasic



  2. The book is probably complete (I don't doubt, I just have no right to judge). I found almost everything I need. Layout of the book is pretty logical and clear. Evolution of data transmition and protocols is very good.

    However, presentaion is not as good as one may expect. Some very simple subjects explained in overcomplicated ways. Too many examples and too wordy. Examples are very good aid to understand subject, but being overused are just page filling. Also I think the book contain a lot of irrelevant material (which probably make the book extremely complete). E.g. what use for a C programmer could be schematics for wiring serial cables? Or which contact is RTS signal sitting on? Phase modulation? and so on. Even though some would say this material is very important, I would preffer have in in Appendix instead of littering main content.

    General filling is that the book is VERY difficult to read. I would not recommend this book to those friends of my I would like to keep.

    Just my opinion. The author probably tried to address two gounds altogether - software and hardware, thus hitting in between or missing both.



  3. If you are planning to do any serious programming with serial communications, I suggest you purchase a copy of this book. Instead of just a narrative, this book contains as key charts, C code, and X modem information, informational and classical C R C circuits, frequency modulation, scratch pads, terminal information, R S 32 intimation, and on, and on, and on.
    It includes an ASCII poster. I have tried mounted my copy of the ASCII poster and placed on Wall above the CRT. The people where I took it to be dry mounted asked me if this was an eye chart.
    The Bullets on the back cover include: * The ASCII character set and cover extension techniques.
    * The fundamentals of a synchronous technology: baud rate, START and STOP bits, and more.
    * Error-checking methods including a landmark treatment of C R C's.
    * Flow-control and file-transfer protocols.
    * Modems: theory and practice.
    * The rs-232interface from the programmer's point of view.
    * Intelligent modems, including the entire Hayes smart modem family.
    * UART's: a detailed examination of two popular products the 8250 and the deceit Z80SIO.
    This book is 655 pages long and there is not one wasted.


  4. I bought (among others) this book because it is 2nd edition (errors & typos hopefully eliminated) and it had good reviews and in order to solve a serial port programming task for Datamax DMX600 barcode label printer under windows 2000 with C/C++
    .
    My book was reprinted 1999, but please note that it is 2nd edition as of October 1993, i.e. at the time of IBMPC. Today, you won't find the files IBMPC.C, UART.h, SIO.h at all in your libraries at all. Furthermore it does not deal with the 16550 UART and more modern UARTs which cause today's real world problems.
    Apart from that the book constains some good "general" language/ programming principles and lots of XMODEM C-code. As a beginner in kernel/device driver programming I missed a use case, WORKING example, and will now put the book back on the shelf and work through the WATCOM sdk ComPort example. Do not trust the "The definite Book on the subject" sticker on the cover page!! Rainer


  5. I bought this book several years ago. Since then, as an embedded programmer, I worked with GPS, landline and cellular modems, HyperTerminal scripts, as well as RS232 ports from the processor side. It has helped me with my job and saved my bacon several times. I am very happy that I purchased the book. Thank you Mr. Campbell.


Read more...


Posted in C and C++ (Monday, October 6, 2008)

Written by Philip Romanik and Amy Muntz. By Addison-Wesley Professional. The regular list price is $44.99. Sells new for $27.77. There are some available for $26.94.
Read more...

Purchase Information
5 comments about Applied C++: Practical Techniques for Building Better Software (C++ In-Depth Series).
  1. A true disappointment. Other books in the series (Sutter, Alexandrescu, Koenig & Moo) have been instant classics, but I get the feeling that Stroustrup didn't really read this one (he's the "series editor", not the "book editor", and not mentioned in the acknowledgements). If he had, I doubt he'd let the following gems see the light of print:

    -- "It is easy to spend too much time researching the problem in hopes of finding the most efficient STL component. For example, we could have also chosen to use std::set, as this matches the requirements of our object very closely. ...If you have not used many STL components, you will soon discover that you end up using only a small subset of objects..." (p. 107) In the context, the authors have just selected a std::map whose value type they plan to ignore completely. The C++ standard library is TINY compared to most other currently popular languages, and much more consistent. Wouldn't it be more worthwhile to take a second to learn about std::set just this once, so you'd remember it next time?

    --"Namespaces were added to the language to prevent name collisions, but aside from their use in the standard C++ library, we have seen little use of them elsewhere." (p.74) Then, they go on to advocate prefixing all class names, a la "apString". Why not just make an "ap" namespace, if you realize that that's what namespaces are for? Maybe they haven't seen any use of namespaces because they systematically avoid them out of sheer stubbornness?

    The book is filled with other inane advice displayed in special boxes: "If you decide to graphically depict your object relationships, take advantage of both axes to represent them." Darn, why didn't I realize this sheet of paper was two dimensional? Glad I bought the book!

    The only remotely redeeming factor is the stuff on image processing, but any two-bit text devoted to image processing would be better. Heck, just about anything you could dig up on Google would be just as good, I imagine.

    Finally, the included CD stinks. After all that, what you get is essentially a makefile with some lousy code--not even a dummy application that lets you see it in action.

    I wish I could give it 0 stars, but it doesn't seem to be possible. Don't waste your money--almost any other AW book on C++ would be a better choice.



  2. I was a little bit disppointed with this book, especially when I look at other books in this serie.

    Although I cannot find any point totally wrong in this book, I cannot find anything that I did not already knew. I believe that this book is best suited for people rather new to the profession, or maybe even more to people who only use C++ as a better C, and would like to start using C++ specific features.

    Maybe in this case, they can find in one book what usually requires at least three books. But that would not take them as far as those three books would do.

    I think my biggest disappointment with this book, is that when the authors discuss about their design, they explain how it work in details, sometime they even suggest why they choose this possibility, but they almost never review other possibilities to weight to pro and con of each one.

    The text is sometime a little bit tedious to read (the kind of repetition that one would expect in documentation where everything has to be detailled, but not in book).

    Finally, there are some technical points where I disagree (or where I beleive a better solution exists, and should at least be evoqued):
    - The use of prefix instead of namespace, making code more difficult to read, and I believe even more innapropriate in a book than in real life
    - Not a word about the template techniques that might unroll the loops they tediously unroll manually
    - The use of trait associated with pixel type could probably ease the use of the library (for instance, specifying the type to be used by default when adding two pixels)
    - I think it is rather surprising the way the authors complain about a change in the standard from a well defined behaviour to a buggy one that broke their previous design on purpose (you may think I am cynical, but they _complain_ about this special point at least three times in the book (for their function add2), but never explain why the standard is written as it is)



  3. There are many books about C++, and there are many books about software development. This book is one of the best I've seen at combining the two topics. The authors are obviously real-world developers because they offer real-world solutions and approaches, unlike the authors of many development-oriented books who apparently live in ideal worlds where every project goes perfectly.

    C++ continues to be one of the most popular programming languages ever, and I highly recommend this book not only to any developer who writes C++ applications for a living, but also to team leaders and architects who want to make sure their teams are writing the best code possible. I can say based on years of experience that the techniques offered in this book are critically important for real-world, robust, production-quality C++ applications.



  4. As a programmer who had never done any image processing before, this book helped raise my knowledge from zero to a reasonably good understanding of 2D image processing, and provided me with a very useful framework that I am using everyday in my job.

    I feel that the book also does a good job demonstrating template techniques, and provides a good overall SW development process to follow.

    The authors have been very responsive to questions and problems, which I greatly appreciate.

    The only thing I really didn't like was the lack of makefiles for the non-template code. I would have liked to have a makefile that creates a library automatically. I ended up doing it myself, which frankly wasn't all that difficult.



  5. I wholeheartedly agree with the reviewers that gave this book 1 star. From page 12, when the first class in the book (apImage) itself is incompletely defined (the definition "pixels_" is missing) it is a steep and fast ride downhill. This book is going to be returned -- this would be the first time I am returning a book.


Read more...


Posted in C and C++ (Monday, October 6, 2008)

Written by Ian Chai; Jonathon David White. By McGraw-Hill Education (Asia). The regular list price is $34.00. Sells new for $42.00.
Read more...

Purchase Information
2 comments about Structuring Data and Building Algorithms: An ANSI-C Based Approach.
  1. I'm one of the authors of this book, and I wanted to point out that this book comes with a CD-ROM full of animations illustrating the concepts.

    Some of the animations are in the form of diagrams, while other animations are in the form of role-plays -- where people play the part of various elements of the data structure, illustrating how they interact.

    Most books on this subject are dry and boring. To avoid this, we used an informal story-telling style, interjecting intersting stories and humour.

    You can also check out the book's website at http://www.sdba.info


  2. I'm one of the authors of this book, and I wanted to point out that this book comes with a CD-ROM full of animations illustrating the concepts.

    Some of the animations are in the form of diagrams, while other animations are in the form of role-plays -- where people play the part of various elements of the data structure, illustrating how they interact.

    Most books on this subject are dry and boring. To avoid this, we used an informal story-telling style, interjecting intersting stories and humour.

    You can also check out the book's website at [...]


Read more...


Page 57 of 250
10  20  30  40  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  70  80  90  100  110  120  130  140  150  160  170  180  190  200  210  220  230  240  250  
Starting Out with C++ (4th Edition)
Computational Approaches in Supramolecular Chemistry (NATO Science Series C:)
CGI Programming in C and Perl
Computer Science: A Structured Approach Using C++, Second Edition: A Structured Approach Using C++, 2nd
Experiments in Computer Science - C Version
Parallel and Distributed Programming Using C++
Efficient C
C Programmer's Guide to Serial Communications
Applied C++: Practical Techniques for Building Better Software (C++ In-Depth Series)
Structuring Data and Building Algorithms: An ANSI-C Based Approach

Copyright © 2005
*Amazon.com prices and availability subject to change.
Last updated: Mon Oct 6 21:45:41 EDT 2008