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:

PROGRAMMING BOOKS

Posted in Programming (Thursday, July 24, 2008)

Written by Kevin Yank and Cameron Adams. By SitePoint. The regular list price is $39.95. Sells new for $22.71. There are some available for $22.50.
Read more...

Purchase Information
5 comments about Simply JavaScript.
  1. Any computer library or general-interest collection strong in Javascript needs SIMPLY JAVASCRIPT: EVERYTHING YOU NEED TO LEARN JAVASCRIPT FROM SCRATCH. Color examples accompany a step-by-step introduction to Java programming which teaches how to use JavaScript to solve real-world problems, track user events, and even design animations. From using Jax and the DOM to blending Java into an existing website, SIMPLY JAVASCRIPT is packed with plenty of easy details perfect for newcomers.

    Diane C. Donovan
    California Bookwatch


  2. I've been exposed to very little JavaScript, so I was very happy to get a review copy of this sent to me. First off, I'm a big fan of SitePoint's other books, and secondly I was looking forward to a book which would hopefully give me some good ground-up fundamentals. I'm not completely through the book yet, but I'm very impressed with it so far.

    The book starts out with some good software design tenets by emphasizing the need to keep content, style, and behavior separated out, then moves into some very basic steps for programming in JavaScript. The programming intro chapter starts out completely for beginners by laying out what variables are, what conditions and loops are, etc. Later chapters hit the DOM, JavaScript libraries, events, debugging, Ajax, and a few other topics.

    The authors do a very good job of laying out their topics, and I enjoyed their clear, enjoyable writing style. I think they do a pretty good job of discussing good development, and they're all over things like browser compatibility issues and other "Gotcha!" type issues. They've got a nice set of sidebars for tricks and tips as well as things to look out for.

    I also like that it's another SitePoint book with loads of color throughout. I'm not sure how SitePoint does it, but their continuing journey with all the color books is absolutely great to behold.

    On the downside, I'm not a fan of some of the example code I saw, which in several cases was more convoluted than good design would dictate (multiple nested for loops, return statements from other method calls being used as return values themselves, etc.). I also would have liked to see some discussion of testing via tools like Selenium or JsUnit.

    Overall I really like the book a lot. They talk standards, they talk cool tools like FireBug, they make some headway with good decisions about separation of code, content, and style.


  3. I love the fact that the book is easy to read and understand, particularly for a newbie to Javascript.


  4. The Sitepoint guys have great articles on their site and emails but I found this book very difficult to read. It didnt seem that the examples made sense, or flowed together to make sense.

    As Im pretty new to JS, adding that to my php work, I really had a difficult time understanding all the syntax - and that is made more difficult by now having clear, easy to follow examples.

    I cant and wont say that I wouldnt recommend this book because its not a bad book, I just feel that if you are as new to JS as I am, this might not be the best book to start with.


  5. When i bought the book i had read from overviews of the book that all i needed to know was html/xhtml but so far, after 2 chapters, i havent been able to understand anything. i feel like im reading jiberish. im not sure and it maybe just my understanding but i have NO idea what its saying. try the book and maybe u may understand what its saying and whats going on. but if you do i would REALLY appreciate it if you can email me letting me know whats up with the book and if its really JUST my understanding. i was looking really forward to the book but unfortunatly it isnt as exciting as i was hopin it to be. :(


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Chad Carter. By Sams. The regular list price is $49.99. Sells new for $28.92. There are some available for $21.50.
Read more...

Purchase Information
5 comments about Microsoft XNA Unleashed: Graphics and Game Programming for Xbox 360 and Windows (Unleashed).
  1. well this isnt realy the publishers \ writer fault but this book is written for XNA 1.0, and once 2.0 had been released some of the code in the book needs a bit of tweaking,

    i think that if you have some background knowledge about C# and programming, then this is the perfect book to take you into XNA.
    it has a much better approach then most, "teach yourself" books,
    and i recommand getting it,

    it only got a 4 out a 5, but if a new edition with XNA 2.0 will be release i would have givven it a 5.
    :)


  2. At first I was hesitant to get this book since it based on the 1.0 refresh. However, I wanted to get started right away and seeing how this technology will simply continue to grow, there is no better time than the present to start learning.

    I have all of the current XNA Books available and this one is by far the best. I love this guy's coding style ... it is nice when an author using .NET is actually using .NET styled code. If there is only one XNA book you can buy -- get this one.

    I really enjoyed his perspective on performance. It helped me in my day job as well ... can you say Garbage Collector? I bought this book to do 3D and I have been happy with my results. I am using 2D to supplement my 3D game, but it seems the community is obsessed with 2D games at this point. The physics chapter is great. I also enjoyed the chapter on Artificial Intelligence. Both are short, but to the point and helped me know where I need to look for more information. The particle system is excellent. I liked the force field created by particles ... cool.

    I am a programmer by trade and have dabbled in computer graphics in the past, but it was just too much work to get anything valuable. With XNA and this book as a guide, I was able to go so much farther than I ever did with DirectX and the books I bought on that subject. I have created a full 3D game that I plan to put out on Xbox LIVE Community Games when it is available. There is no way I would have a completed game without this book -- sound, game states, input, polish -- it is all in here!

    I liked how the author didn't waste time on rendering a single triangle ... he did a rectangle (two triangles) ... and then later used that code to create a skybox. The chapter on the content pipeline was excellent. I enjoyed the advanced topics he has as well like Render Targets, Parallax and Relief Mapping.

    In regards to changes with 2.0, he has updated the code on his site and it runs with no issues at all! Fortunately, the code is about identical to what it is in the book even with new code. I guess it just proves that not too much had to change between 1.0 refresh and 2.0.
    I would buy this book again. In fact, I will when the author comes out with the 3.0 book.

    Get this book ... and don't waste any more time ... make a great game -- it really is within grasp!


  3. This is a very well planned book with game development students in mind. Readers who complain that the writer takes off too quickly should keep in mind that the book is categorized as "Intermediate-Advanced" and quite accurately so.

    I'm using this as a recommended text for a module I am teaching to diploma students and it brings them up to speed on programming with XNA.

    You should get this if you have programmed in DirectX and/or C++; you'll find it a breeze and be amazed by how many things have been taken care / made much easier by the XNA framework and using a managed language such as C#.

    The author, Chad Carter, also actively responds to the questions in the book's discussion forums. This is especially important for a technical book such as this as technology is constantly evolving (we're at XNA 2.0 currently), and it helps to know which parts of the book need to be updated (or not).

    The only improvements I can recommend for the next edition (XNA 3.0) are:
    1. Consolidated list of errata on the author's website (xnaessentials.com) to make it easier to find and update my own copy / students' copies of the book.
    2. Teaching / supporting materials. However, I must admit that going through the exercises in the book will give you a good deal of ideas and inspirations already.

    In short, thanks Chad, please keep up the excellent work.


  4. The book assumes you know C#, and basically takes you through the development of a 2D game and a basic 3D FPS style game. As new functionality is added, the book explains the code pretty much line by line. It therefore shows you two sets of simple game design patterns in some detail.

    It also makes the book very linear - as new functions are shown in the context of what has been built already, you can't easily just experiment with the different classes on their own. You really have to follow it through as a sequential tutorial.

    What I was more hoping for was a more systematic treatment of the various XNA classes, and more of the underlying theory particularly with respect to using transformations. Matrix and vector maths is barely discussed directly at all.

    The linear structure and practical focus also means that I didn't find myself able to "dip into" the book and learn more about XNA whilst watching TV for example.

    So if you want an extended tutorial on XNA game programming its fine. If you want to really "get inside" XNA and graphics programming, then its not the right book for you.


  5. When i started to get serious about XNA i started looking for a good book to begin learning. Like most people (IMHO) i learn better through books and then self training than reading everything online.

    The Microsoft XNA Unleashed by Chad Carter is a great book as it is not merely a skim through from the top for XNA but is very detailed. I have just started and i dont think i will be done with the book very soon.

    I like his presentation style as well as the detail. I read all the reviews and sure some folks think it is a good book whereas some folks think otherwise. For me when i started reading through it i immediately liked the presentation style. I think (IMHO) that a good presentation style with good material leads to better learning.

    I will post an update to my blog as and when i complete this book. Based on my initial 80 or so pages, i like it a lot.

    See my blog http://ilovethexbox.blogspot.com/2008/06/microsoft-xna-unleashed.html for updates to the review.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Daniele Benedettelli. By Apress. The regular list price is $42.99. Sells new for $26.09. There are some available for $21.82.
Read more...

Purchase Information
5 comments about Creating Cool MINDSTORMS NXT Robots (Technology in Action).
  1. I have been waiting for this book even before it was wrtitten because I have wanted to build JohnNXT5 ever since I saw it posted on the Internet. This book is probably the best book so far for the Mindstorms NXT robotic system. I have purchased most of the books available for the NXT. I like Jim Kelly's books too, but this one has moved from wheels to robots that use tracks to get around and walk. It is well written and well illustrated even though the building instructions aren't in color. The author has a sense of humor as well as being well versed in the NXT system. I like the fact that he continues to refine and redevelop his creations and try to make them the best they can be. I hope to see more books from him, especially one covering the Rubic Cube solver. I congratulate the author for a job well done and highly recommend the book to all robotic nthusiasts.


  2. Hi,

    One of the better books at this moment for the Lego Mindstorms NXT robotic set. This book is clearly written and despite the black and white images, the building instructions are also very clearly written.

    This book is obviously written by people who know what they are doing and motivated to reach the highest standards.

    After a short program in the Nxt-G programming language, they started to use the NXC programming language for the rest of the book. What makes this book so outstanding, everything is very well documented and everything is explained in great detail.

    This is also an easy and pleasant to read book. And many times you find here what is missing in other books. For me, esspecially the introduction of NXC was very usefull. I wanted to use C for a long time, but I did not found the answers I was searching. This book takes its time to show you the mechanics behind th programming language. It teaches you clearly how to construct event tables and how you can visualise the design process, structuring your thaughts.

    Also the walking models are very interesting. It gives you a clearly understanding about the problems of let a robot succesfully walk.

    What I do missing is coverage of the acceleration, gyroscopic and compass sensors. It should be nice if those sensors also where covered in this book. But it is almost impossible to cover everything and an author has to draw a line.

    The projects are well choosen and all very interesting. Personally Quasimodo I find the less interesting robot. While NXT AT-ST is in my opinion a very nice project to understand a walking robot. But I have to be honest, at this moment I am building the AT-ST robot. I did not have the time to build the other robots. Nevertheless, I took a quick look and i found the other projects also very impressive.

    This book is a must have for every serious Lego Mindstorms NXT builder. You definatelly will refer back when building your own creations. I gave it five stars because it is well deserved.

    Congratulations for the author and everybody worked behind the scenes of this book. A job very well done!

    I wish you all very much reading and building pleasure. This book will surely touch your creativity and imagination.

    Friendly greetings,

    Bad_Wolf


  3. I've been waiting for more than 2 months to get this book. Finally I got it from amazon a few days after the book released.

    I have 8 NXT book, nothing is as details as Daniele's Book. The best NXT book so far.

    There are 6 robots describes in this book. From the concept and then step-by-step assembly it and even the guide line to program it. So you not only able to build the robot, but also teach you how it works.

    The cream-of-the-soup of this book of course is the JohnNXT ...... About 1/3 of the book focus on this great Robot. If you plan to build JohnNXT, this is the only book you need.

    I'm really impressed with Daniele, I cant wait to the next book "Lego Rubik Utopy (LRU)".


  4. If you're searching for some exciting NXT projects and ideas--or would simply like to build JohnNXT, a replica of the famous Johnny 5 robot--you will enjoy Daniele Benedettelli's book Creating Cool MINDSTORMS NXT Robots. The book presents helpful ideas that you can use in your own inventions and carefully integrates them in a variety of robots with detailed building instructions. In fact, these very features are why I've given the book five stars: challenging robot projects, excellent discussions of useful concepts and ideas, and exceptional building instructions.

    Most of the robots seem intended for more advanced users looking for a challenge; in other words, these are generally more complex robots. For example, there are several walking robots--including three bipeds (two-legged robots), one of the most difficult types of robots to create. And with the exception of the massive, multi-NXT robot "JohnNXT" (chapter 8) and a remote control (chapter 9), you can build all the robots from the parts in a single retail LEGO MINDSTORMS NXT set. All the programming in the book is done in NXC (Not eXactly C), an unofficial text-based language with a C-like syntax.

    Along the way you'll find in-depth explanations of robotics concepts and helpful descriptions of the robots. Besides an entire "theory chapter" on building biped robots (chapter 1) and another such chapter on finite state machines (chapter 3), the robot chapters themselves include explanations of concepts such as hysteresis, writing a multitask program, and quadruped (four-legged) walking as well as information on the robots' functionality and history. The author also does a good job of presenting and explaining the programming. Although prior NXC experience is helpful, such experience is not required.

    The BIs (building instructions) are outstanding, which is important since they are a major part of the book. The author used advanced BI techniques, including complete electrical cables and callouts, and Ldglite to render the images, creating BIs that are remarkably "LEGO-like." I found that the BIs were generally very easy to follow even though many of the steps were complex. Such clarity is invaluable for a book that is filled with building instructions.

    I admit that I didn't build the famed JohnNXT robot. Why? For starters, I don't have all the necessary pieces! All the same, I'm glad to see that the author included the robot because a number of readers will want tackle this enormous project.

    In conclusion, this book is ideal for you if you're a more experienced NXT user looking to broaden your robotic horizons--while having lots of fun. Nevertheless, even if you're new to the NXT set, you would still enjoy the book. Either way, after working through the projects and grasping the concepts, you should be well-equipped to create your very own cool NXT robots.


  5. I bought this book for my grandson's 11th birthday. He is thrilled with the book and is trying to learn the code. We thought the program for each robot was available to just download from the internet, but we couldn't find such an easy method. He will have to type in the code from the book himself which will help in the learning process. At this point in time, though, this programming may be a bit too complex for him.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Bill Wagner. By Addison-Wesley Professional. The regular list price is $49.99. Sells new for $21.99. There are some available for $20.23.
Read more...

Purchase Information
5 comments about Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series).
  1. I agree with those who say that Effective C# is not for beginners. Even experienced programmers should go elsewhere for an introduction to the language and the .NET environment. While other books might serve as a comprehensive textbook for learning the rudiments, this one offers some in-depth insights into how to build solutions that are elegant, efficient, reliable, and maintainable.

    I also agree with those who are disappointed in the poor editing. The book is riddled with typos, especially word spacing problems. Mostly, these are little more than a minor annoyance but they make the book a really poor example of publishing quality.

    "Software engineering" has been described as finding the best solution for a given problem where "programming" is merely a matter of developing something that works. That's what this book is all about. Sure, there are going to be times when you don't need to build the kind of quality into your code that the author advocates. The need to get something done quickly will often outweigh issues like whether you're really getting optimal performance, whether accepted OO principles are always being followed, or whether your employing the best of all possible solutions. But this book is about how build "industrial strength" classes that can be reused without breaking or creating undue heartburn for the poor slobs who have to rely on them.

    Like most programming books, lots of the information is conveyed in code examples. However, this is not the book you'll want if you're going to cut-and-paste somebody's sample program and hack it into your own working version. In fact, the code examples are so brief and simple that they often seem almost pointless at first glance. As you read the explanations, which are more punchy and to-the-point than they are eloquent, you begin to grasp the essence of the principle being explored. Personally, I feel there's room for improvement in Mr. Wagner's writing style, which can be a little too concise to be really illustrative, but he does get his message across.

    Possibly the book's greatest strength lies in the rationale given for the recommendations offered, as opposed to the recommendations themselves. The fifty items are more than a series of "best practices" to be blindly followed whether you understand them or not. Good programming is often a matter of choosing from a set of alternatives by weighing the value of each approach, assessing trade-offs, and making intelligent decisions. That's where this book can really help.

    Evidently, this book carries on a tradition of "Effective" books in that it consists of a series of relatively short articles, each of which illustrates some very focused aspect of how C# code is compiled, the nature of certain .NET Framework types, and/or how the CLR operates. I, for one, think a more conventional format, where the content is broken down into longer chapters that go into major concept areas in depth might have been a better way for Mr. Wagner to share his obviously thorough knowledge of the subject. At first glance, this book gives the impression of being a set of little hints and tricks, as opposed to the serious technical book it really is.


  2. Excellent book. My only complaint -- where's the new edition for the new version(s) of the framework?


  3. While C# is pretty easy to get up to speed with coming from a C/C++ background, the similarities can lead to costly blunders! .Net/C# is a "real" language and as such deserves the respect of any self-proclaimed professional. This book is a great resource for getting that first glimpse to advanced topics that every pro should strive for. It's an easy read and the format (recipe) lends itself very well to quick reading sessions that stick in your mind. Your coding style will invariably change for the best upon closing this book. Simply stated this book should be mandatory reading for anyone joining a .Net project but coming from a traditional language (C/C++).


  4. This book has helped me identify and made some performance improvements to my C# software code. One thing I like about this book, is that the author cuts right to the chase in his explanations and gives excellent supporting code samples in cases where needed.


  5. This book would benefit greatly from a rewrite. It is often difficult to follow the authors' logic. I get the impression that this book was rushed to print. A simple example of this is the fact that all the left-hand pages are incorrectly indented so that they run into the binding of the book. Please adjust your publishing software!


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Ian Sommerville. By Addison Wesley. The regular list price is $121.60. Sells new for $42.16. There are some available for $32.00.
Read more...

Purchase Information
5 comments about Software Engineering: (Update) (8th Edition) (International Computer Science Series).
  1. I bought this book as a required textbook for my grad course. I've learned a lot from my past misconception and misunderstanding between software science and software engineering just after reading a few chapters from the book.

    The book covers wide aspects of engineering a software, both technical aspects and non-technical aspects (social, laws, ethics) although not in deep-breath details.

    I highly recommend this book for any students who want to know about software engineering, pracicing software engineers who want to enhance their engineering ana managerial capability in developing a good software or for self-study for anybody who want to jump into software business.


  2. This is a good high-level book for a first software engineering course. It mentions things like critical systems, object oriented programming, and real -time systems, but at a very high level; so it should not be used for a specialized course. It provides many helpful examples and diagrams. My only complaint is that the chapters are very long, and a lot of things are repeated several times. I think this book could easily be 75% shorter without loosing any important information.


  3. This book is a good book to learn from, it can be a little boring at times but in general it is a good study tool that keeps subject matters seperate where they should be


  4. it feels like this book goes out its way to stretch easily understandable concepts into a huge 900 page book.


  5. I used this book as the text in my software engineering class in the spring semester of 2008. When I was evaluating it for potential adoption, I did not read through it in detail, I looked over the chapter titles and subtitles, read the first few chapters and examined the exercises at the end of the first few chapters. As the semester progressed, I found myself wishing I had read further into the text.
    As I moved through the chapters, I found myself mentally noting over and over again that topics are repeated. When the class was over, I asked the students their opinion of the book and they were unanimous, with no prompting from me, in saying that there is a great deal of repetition after the first chapters.
    I have no complaint about the quality of exposition or the coverage of software engineering in this book. My reason for not continuing to use it in future classes is solely due to my belief that the size could have been reduced from the current 840 pages to around 600 pages with no real loss of content of flow.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Erik Ray. By O'Reilly Media, Inc.. The regular list price is $39.95. Sells new for $10.16. There are some available for $4.20.
Read more...

Purchase Information
5 comments about Learning XML, Second Edition.
  1. Most O'reilly books are praised for describing computer programming concepts in a very readable way for an educated audience. Although, Erik Ray's book is engaging enough, he has left out so much detail in the language definitions and real examples that, after reading this book, it is not possible for even an experienced programmer to actually use the material. For example, the book explains the definition of schemas (without enough detail) but how do I use a schema in a project? The intended audience for this book appears to be people who already use xml that want a refresher at an elementary level. Very disappointing.


  2. I am amplifying a prior review (Daniel McKinnon's) in order to balance a misperception as to the intent and execution of the book.

    This is not XSLT or XPath or "DOM processing in Firefox" or "node traversals with Java", it's an introduction to XML. If you need a solid foundation upon which to base further study, I wholly recommend the book. Unlike other reviewers, I am not in search of the One Canonical Tome on a subject, because I know it doesn't exist in any genre. My needs for learning XML were basic and required a grasp of fundamentals, which you will achieve with this work.

    It also has numerous points of interest that a reader can use to further a study of specific issues, such as processing XML using a scripting language, or weighing a schema for implementation, and so forth. As a result, the reader is well-armed to continue learning on the specifics that are of personal interest.

    Ir requires a third edition to correct errors and update content, but that doesn't diminish the value of the book for anyone who wants to comprehend what XML is and is not, and what the major issues and challenges are.

    -Fred


  3. full of nonsense in whole book.
    For example, xml schemas chapter is from page 108 to 164 about 60 pages, but realy useful w3c xml schema only take less 8 pages, others, useless, forget them.
    Hi my dear author,
    you have a lot of work to do, from simple to complex, how can you just give a long example and finish. Do you know "learning" means ***FOCUSING ON CORE***


  4. 1. YOU WILL NOT TOUCH A KEYBOARD USING THIS BOOK, IT DOESN'T NOT WALK THROUGH EXAMPLES- for those books, try "XML step by step" by Young (Microsoft), and for more advanced, "XML in Action - Web Technology" by Pardi.

    2. THIS BOOK IS GREAT: because it teaches in a fundamentally different way. Most of what we see of XML is tags, attributes, the structure of the data in the elements, etc. But this book focus on the DOM. This crucial focus helps understand XML with its uses, XPointer, and transformation.

    3. If you want to do a lot with XML, beyond RSS feeds, buy this book along with a walkthrough, like the books listed above.


  5. This book taught me a lot about XML and how it is used in the digital publishing world. XML is not limited to web sites and is a great resource for businesses institutions and other publishing needs where a common format is needed for each and every document.

    I recommend this book for anyone wanting to learn more about XML and how it is used.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Ed Hild and Susie Adams. By Apress. The regular list price is $44.99. Sells new for $13.55. There are some available for $13.56.
Read more...

Purchase Information
5 comments about Pro SharePoint Solution Development: Combining .NET, SharePoint and Office 2007 (Expert's Voice in Sharepoint).
  1. This is the 5th book on MOSS 2007/WSS 3.0 that I have bought so far and it is the best as far as SharePoint development. Each chapter after chapter 4 describes a real-world project for integrating SharePoint with Office. The book assumes that you already understand SharePoint development and .NET programming. You can download the code and I have not had any errors compiling it so far. The book makes heavy use of the System.IO.Packaging namespace and so there are many examples generating xml-based office documents. This book gets straight to the point with lots of code. I highly recommend it.


  2. I am involved with SharePoint developer education so I buy and scan through every single SharePoint title when it becomes available. There are plenty of SharePoint books out today that all cover the same basic topics. This book was special because it had a significant amount of content that I have not seen anywhere else. In particular, I like the way this books explains how a developer can integrate Office 2007 office applications together with SharePoint 2007. It goes beyond the typical 'hello world' examples and offers plenty of gems that could only have been gathered from real-world experience rolling out projects in a production environment. Congrats to Ed and Susie!


  3. SharePoint as an application development platform is long on potential, short on guidlines. Pro SharePoint Solution Development guides the user through applciation development techniques that leverage the infrastructure (security, doc management, database access, navigation) of SharePoint to deliver application functionality. This book does not assume the reader is an advanced .Net developer, nor does it treat the reader as brand new to the concepts of application development. It cuts directly to the use of built in features and the creation of custom features and how to bind them together to create solutions.


  4. This book offers an indebt review of how SharePoint fits in the Microsoft Office ecosystem. It delivers a variety of advanced examples, richly illustrated with sample code, downloadable from Apress, and step by step instructions and illustrations in the book itself.

    The organization of the book is very convenient and the first four chapters allow the reader to brush up his knowledge about MS Offices and SharePoint with abundant external links. Each consecutive chapter after that represents a standalone example based on a real-world scenario. The examples are focused on the integration with a particular MS Office product. For example Chapter 5 demonstrates a scenario where MS Word integrates with SharePoint and Chapter 9 shows how to construct PowerPoint slides using content stored in a SharePoint list. Every example starts with an introduction and walkthrough, which allows the reader to start reading the chapter directly without losing context.

    The complexity of integrating products of the MS Office family in enterprise solutions requires quite a bit of knowledge and experience thus I do not recommend this book to beginners in SharePoint and MS Office programming. While this book has a plenty of introductory and historical information about MS Office development and SharePoint customization, it does not emphasize on important steps of professional SharePoint development such as creation of SharePoint solutions, list and site template customization and provisioning. However if you are already familiar with SharePoint (WSS 3, MOSS 2007) concepts such as solutions, features, workflow etc., this is the book to put all these features in the context of enterprise applications.

    The software and hardware requirements for the examples in this book are quite high, so if you want to be able to implement them on your own you need to allocate some time to prepare a system with MOSS 2007, MS Office 2007 Enterprise, VS 2008 Professional or Team Edition and for the first example MS Office 2003. In addition there are several manual actions, which require a bit more time.

    Something, which may not be obvious from the title, is the heavy use of the new MS Office document standard - Office Open XML (commonly referred to as OOXML or OpenXML). This was my first exposure to this format specification and I found its use throughout the book very useful.

    Overall this book is of great value to intermediate and advanced developers, working on enterprise applications based on the MS Office system or integration projects with third party vendors. The examples can be read independently and each one of them not only demonstrates the implementation of a particular scenario, but also provokes ideas for other projects.


  5. This book has some great examples to help you take your Sharepoint environment to the next level. It cover all the major Office Applications and includes great code ready to be built and implemented. Not for the beginner but perfect for the System Admin or .Net developer looking to take their sharepoint skills to the next level.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Michael L. Scott. By Morgan Kaufmann. The regular list price is $70.95. Sells new for $55.99. There are some available for $46.50.
Read more...

Purchase Information
5 comments about Programming Language Pragmatics, Second Edition.
  1. Over the years the Compilers: Principles, Techniques, and Tools (2nd Edition) (also knwon as the dragon book) has become the de facto standard for introducing compilers and related topics at universities. This is very unfortunate because "Programming Language Pragmatics" is in a completely different league and should be the one used instead. It gives the student (or the self taught) a complete and through overview of parsing, grammar, automata theory and other key language constructs. What really differentiates this book from others (and most notably the (in)famous "Dragon Book") is that it does so in a easy to understand manner and with lots of well written examples.

    Many people find compiler and language theory to be dark magic, and it would be wrong not to acknowledge that these subjects are considerably harder than say creating a web page in PHP or writing a small Java/C# program. But much of the confusion also stems from the long history of porly written books which all have lacked explaining key areas or assumed that the readers just know some obscure CS topics beforehand. This book does not travel down that road, it is well written, contains both simple and advanced examples and is simply a delightful read.


  2. Every good programmer should know more than one programming language, that much is almost a consensus. But more than that, every programmer should educate himself about programming languages in general, what they mean and how they work. It's important to know at least the major programming paradigms, because they form the "mental model" of computation that is available to a programmer in a language from that paradigm.

    And then it's always illustrative to know about the differences in many common languages, to see where different decisions have been made and what are the consequences. To know that certain legacy languages (e.g. C, Fortran) have features that were not designed because they were the "best" option (for some definition of best), but because the design was constrained by what technology was currently available.

    This knowledge is not only required of compiler writers. It should be required of every good programmer. Compiler writers, of course, must know this, and probably in more detail. But Scott's book is a good resource about programming languages, in a level of detail that I believe adequate for all programmers.

    There are two main kinds of books on programming languages: they are "survey" and "implementation".

    Survey books show how things work in a lot of languages, comparing them along the way. Often the comparison gets down to small details that can affect the meaning, or semantics, of similar programs written in these languages. These books contain one individual chapter for every major topic, and inside such a chapter all languages are compared in relation to the topic. For example, one such chapter covers "subroutines" and then compare a host of different languages on how they implement subroutines.

    Implementation books are different: they show how to implement many language features, usually by presenting code for interpreters and compilers. The reader doesn't learn that Ada permits nested subroutines, but instead how nested subroutines really work and how to implement them in a language, for example. A very good book of this kind is "Essentials of Programming Languages" by Friedman, Wand & Haynes.

    I normally prefer the implementation books. I'm not really interested if Standard Pascal permits functions to be passed as parameters or not; if I do need to write a Standard Pascal compiler I'll look for a reference manual. I much prefer to know how to implement functions as parameters, and be done with it. Comparing minutiae about extant programming languages can sometimes be very enlightening, and sometimes be mostly dull.

    Scott's book, however, really shines because it mixes feature descriptions and implementation details in the presentation. It does the usual routine of comparing a lot of different languages, most of the time the more popular ones like C++ and Java, but it then shows how the implementations differ because of differences in features. The book strikes a good balance between "language design" and "implementation" approaches, although it is clearly slanted towards design, and so more of a traditional "survey" book.

    It wins over other survey books by including implementation information about almost every topic, and by the clear writing and style. Also, most survey books concentrate on mainstream imperative languages (nowadays C++, Java, C#) and leave other paradigms to chapters at the end. Scott's book is a bit better in this respect: the presentation often includes Common Lisp, Scheme and Standard ML in the comparisons. There are separate chapters about functional and logic programming too, but considerations about functional programming are spread in the whole book. This is important because paradigms change, and a good programmer must be able to adapt.

    It's a good reference for language implementors and good education for most programmers. I look forward to the next editions.


  3. As a software engineer, I tend to be picky about my books, but this one is very in depth and a good read. You will learn a lot about different programming languages, and why certain languages are better than others for solving different types of prroblems.


  4. This is among my favorite computer science books. I read the first edition straight through from cover to cover, even though I had some prior knowledge of the subject. I have since purchased the second edition, which exceeds the high standards set by the first edition. Scott's book would have made the programming languages course I took as an undergraduate much more enlightening, had it existed at the time.


  5. Overall, "Programming Language Pragmatics" (PLP) is a very good book. According to the Preface:

    "It aims, quite simply, to be the most comprehensive and accurate languages text available, in a style that is engaging and accessible to the typical undergraduate....

    At its core, PLP is a book about how programming languages work. Rather than enumerate the details of many different languages, it focuses on concepts that underlie all the languages the student is likely to encounter, illustrating those concepts with a variety of concrete examples, and exploring the tradeoffs that explain why different languages were designed in different ways."

    I'm not knowledgeable enough to pass judgment on "the most comprehensive and accurate" part. But, I'm pretty happy about the book meeting the rest of those goals. I read through the book on my own and have only a few significant gripes:

    - Chapters 2 (Programming Language Syntax) and 4 (Semantic Analysis) are tough to get through. They're basically trying to teach enough about Alphabets, Languages, Regular Expressions, Context-Free Grammars, Finite Automata and Push-Down Automata for the reader to understand what the rest of the book is based on. I've read Cohen's Introduction to Computer Theory, which is dedicated solely to this material and I still had some trouble. With an instructor in a class to walk through the things, it should be doable. But, for a person reading the book on his own, ugh.

    - All of Section III: Alternative Programming Models, seems to depart from the format of the rest of the book (as noted in the Preface) where the author talks about the concepts and then how the different languages implement them. Instead, he focuses on the languages themselves and almost seems to be trying to cram a primer into his text. Since the section seems to be a special case, it wouldn't be so bad except that the languages covered are a bit out of the mainstream and so that degree of depth gets pretty unreadable at times. Again, with a professor around, things would be better.

    - At a more pedagogical level, the author has a tendency to merely explain what his example Figures are doing in general terms. The problem is that a lot of the code/pseudocode involves fairly advanced structures in several languages (many of which most people won't have run across). It would have made things a lot easier if he had walked his way through each of those Figures line-by-line and explained what each line did. Once again, this wouldn't be that much of a problem in a normal teaching environment since a professor could do it.

    Other than those three things, this is a very good and readable book. I rate it at four stars out of five.


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by Steven S. Skiena. By Springer. The regular list price is $79.95. Sells new for $55.96.
Read more...

Purchase Information
5 comments about The Algorithm Design Manual.
  1. Nice to have this book handy if you need to design efficient algorithms for your programs. This is more of a reference than to teach you what algorithms are out there, so you better know them before using this book. That said, this book is quite unique since it differs from a typical algorithm book on the market. Skiena has done a great job in presenting the material. I find this book really handy, definately recommanded.


  2. There are many reasons I like this book more than other Algorithms books I own (e.g. Sedgewick). One is that Skiena's book comes with an HTML version, so it's easy to keep it with you at all times (e.g. on your laptop, at work, and at home). Another is the "war stories". I found that I wanted to read the war stories first, rather than the technical content. Another is that the book points you at existing implementations, which really is what you'll eventually need to look at if you're going to use or write any code.

    Overall, I found that when confronted to real world problems, the "Algorithm Design Manual" was a better resource than other Algorithm books. This is why I'm recommending it to software engineers out there. It seems to be written for people working with algorithms to solve problems, rather than as a support for an academic course.

    On the negative side: I find the resource catalog to be exhaustive but somewhat shallow. As I'm getting older and slower, some things are not as obvious as they used to be. For example, I was quite unable to derive how to use Voronoi diagrams to perform nearest neighbour search, although it is supposed to be "a simple matter".


  3. I found this book extremely practical, especially for professionals that don't have everyday the occasion to be confronted with real algorithmic problems (I assume that most of the industry-related software programmers / designers / analysts are in this category), thus beeing in need to have a reference at hand "just in case" :-).

    Together with "Programming challenges" also from Skiena & co. constitutes a powerful known algorithms references, and supplied with some natural problem-solving talent, could be a succesfull preparation for something like ACM contests or topcoders.com


  4. For those computer science students and programmers who are put off by the style of "Introduction to Algorithms" by Cormen et al., this book is a good alternative. Rather than just being a catalog of algorithms with code and little explanation, this book covers a much needed middle ground and contains a good deal about the analysis and design of algorithms in general along with discussions of common algorithms themselves in an accessible style. In fact, the author makes a point of mentioning in his preface that you will not find a single theorem in this book, and that the purpose of his book is to get working programmers up to speed quickly on both the generalities and specifics of algorithm design.
    The first part of the book is on techniques, and covers the basics of modeling algorithms along with "Big Oh" notation, data structures and sorting, dynamic programming, graph algorithms, combinational search, and the concept of intractibility. What makes this section of the book particularly interesting are the author's "war stories" that talk about real world applications of the ideas discussed in each chapter.
    Part two of the book, "Resources", is an extensive catalog of algorithmic problems organized by type. For each problem mentioned, the book includes a problem description and discussion, possible implementations, and other algorithmic problems that are related to this one. In the implementation section for each algorithm, the author demonstrates the kinds of questions that the reader should ask when designing his or her own implementation. The C, C++, Fortran, and Pascal code for all algorithm implementations mentioned is on the accompanying CD rather than in the book itself, which helps make the book more compact.
    This book is a very good introduction to the methods of algorithm analysis and design, and an encyclopedic reference on many different types of algorithms. Highly recommended.


  5. This book is splitted in two parts.
    The first part mostly contains general advices about algorithms, performances, and such.
    The second part is more like a huge catalogue of "classical" problems and algorithms related to those, with advices about how to work them. It does not contain algorithms or pseudo-code (or very little), but is more about how to address the problem (and also contains pointers to an implementation).


Read more...


Posted in Programming (Thursday, July 24, 2008)

Written by David Sklar. By O'Reilly Media, Inc.. The regular list price is $29.95. Sells new for $11.25. There are some available for $9.00.
Read more...

Purchase Information
5 comments about Learning PHP 5.
  1. If you're in a Windows shop, save yourself a lot of pain: download EasyPHP (mentioned on p. 261). Then substitute a version 5.2 php for C:\EasyPHP\php (which is version 4.3) . HINT: EasyPHP uses the php.ini in the conf-files dir, not the one in the php.


  2. If you can't install all the Perl modules you want (say on a $12.99/month commercial host), give PHP a try. It has weaknesses and strengths vis-à-vis Perl, but you can use both! They work well together, and with XHTML, CSS, and MySQL. Who says you have to choose one over the other?

    After scouring the web for tutorials and sample code, I think this book is the quickest way to get up to speed. It is concise with excellent code samples, warnings of pitfalls, and techniques for thwarting adversaries (hackers). It is straightforward without annoying cuteness or humor.

    PHP code lives entirely within a web page. Some advantages:
    1. You don't have to make print statements for all the HTML on the page; the PHP code can be inserts in the HTML.
    2. Flow control. A page can include its own associated programming logic for easier maintenance and an uncluttered webroot directory. A form page can recursively call itself, instead of a separate script, for processing, and can call other pages.
    3. It's embarrassingly *EASY* to learn with this book!

    Some instructions just changed names (split is "explode," next is "continue") but other instructions are new and super-handy for the web! Sessions and cookie-handling are built in to the language (chapter 8). Scope rules and data structures are different; you can't shift, pop, or test for undef, but you get two-dimensional arrays.

    If you go this route I guarantee you will have read this entire book, plus some of the online PHP manual, by the time your site is done. This book is not comprehensive but selects an excellent breadth of features.

    One typo is unforgivable, and for that I unapologetically deduct a star: the very first database example in Chapter 1 shows $db->numrows() without the parentheses, which does not work. I spent two days trying to figure out what was wrong. Very confusing since the old way of doing it (before PHP's PEAR extensions) was mysql_num_rows <--without parentheses.

    TIP: Do NOT assume that your host is on PHP 5! Though mine advertises 5, they put you on 4 unless you ask for 5. This one-line program will tell you which version you're on:

    TIP #2: Blank web page got you down? You can see the syntax error by running it from a command line, like this: php5 mypage.php


  3. I cheated. I looked in the back of the book for the answers so I could understand the programmer's mind behind the solution. I'm getting so much out of this book! Now, I'll think of a problem I need to solve, and because I took the time to learn some fundementals, I can piece together solutions in my head, which test positive when coded and loaded. A very satisfying experience all around. Reverse engineer is the way to learn!

    May the parse be with you!


  4. Easy read. There are also so many examples, that I just want to test each one out. I highly recommend for anyone who doesn't know anything about PHP.


  5. This books is amazing for the people who want know the new features in PHP 5


Read more...


Page 84 of 250
10  20  30  40  50  60  70  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  100  110  120  130  140  150  160  170  180  190  200  210  220  230  240  250  
Simply JavaScript
Microsoft XNA Unleashed: Graphics and Game Programming for Xbox 360 and Windows (Unleashed)
Creating Cool MINDSTORMS NXT Robots (Technology in Action)
Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series)
Software Engineering: (Update) (8th Edition) (International Computer Science Series)
Learning XML, Second Edition
Pro SharePoint Solution Development: Combining .NET, SharePoint and Office 2007 (Expert's Voice in Sharepoint)
Programming Language Pragmatics, Second Edition
The Algorithm Design Manual
Learning PHP 5

Copyright © 2005
*Amazon.com prices and availability subject to change.
Last updated: Thu Jul 24 08:31:49 EDT 2008