Featured Programming:

Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer)

Programming Interviews Exposed
2nd Edition

The pressure is on during the interview process but with the right preparation, you can walk away with your dream job. This classic book uncovers what interviews are really like at America’s top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews.

50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you’ll be able to easily apply what you’ve learned during crunch time. You’ll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want.

What you will learn from this book

* Tips for effectively completing the job application

Ways to prepare for the entire programming interview process

How to find the kind of programming job that fits you best

Strategies for choosing a solution and what your approach says about you

How to improve your interviewing skills so that you can respond to any question or situation

Techniques for solving knowledge-based problems, logic puzzles, and programming

  • ISBN13: 9780470121672
  • Condition: New
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Rating: (out of 84 reviews)

List Price: $ 29.99
Price: $ 15.65

Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer) Reviews

Review by John H. Kaplan:

I just finished rereading this book, and read the earlier Amazon interviews. Though I agree with many of the observations in the other reviews, their judgments are mostly too extreme. This book is definitely of value, but reading it won’t unlock the keys to any secret kingdom of guaranteed job-landing success.

I’ve been interviewing and hiring software developers for almost 15 years, and I know one thing you can be sure about software interview processes: their inconsistency. Interviewing and hiring practices for software development are all over the map. As a matter of fact, all software development practices are all over the map, and how you are judged a success or failure once you land a job are at least as subjective and error-prone as how you are evaluated in interviews.

Landing a particular software development job and being successful at it once you get it require a lot of learning about the particular mix of priorities and practices on each particular team, and fitting into that mix. You could be interviewing with a sixty-year-old toy manufacturing veteran doing tiny embedded systems, and any mention of object-oriented technology could be immediate grounds for a religious no-hire. On the other hand, you could be interviewing with a young hotshot at a new Silicon Valley startup. In this case you’d not only better be fluent with every aspect of object-oriented technology, best practices, and the latest open-source frameworks, but you’d better not make too much of space optimizations or “the overhead of a subroutine call” or you’ll be branded as hopelessly old fashioned.

Consequently, the advice in this book is quite valuable about communicating throughout the interview, telling the interviewer the thoughts behind what you are doing and asking clarifying questions as you go. No book by itself can help you with any interview you might encounter. However, with all its flaws, this book does a better job than any other available book in discussing programming questions, how to approach them, and possible answers. The idea that only “recent grads” are ever asked general programming questions like this is hogwash. I hire veteran developers for high-end product development jobs almost exclusively, and I ask programming questions like the ones in this book all the time, and so do most of the good interviewers I know. I’ve found over the years that programming questions give me among the most direct and accurate assessments of a developer’s skills. Asking programming questions is enough of a best practice that you should be suspicious of a technology company that doesn’t include them in its interview process. (Hey, I said that development practices were all over the map, but I didn’t say that most of them were any good. How else could the software industry achieve its miserable 40% success rate?)

As far as the books weaknesses, probably the biggest is that almost all the questions, answers, and discussion are in straight procedural C. It’s hard to reason why this book shows such a lack of emphasis on object-oriented technology considering it had been the state of the art for 10 years when this book was published in 2000. So, though there are a few small examples of OO class designs thrown in, discussion is missing of important topics like inheritance, composition, encapsulation, and structured exception handling. Even when you are programming in an OO language, however, the logic inside the methods you write for these kinds of general exercises is mostly the same as you would write in a procedural language. So most of this book is relevant, but you must translate to OO on your own.

A more subtle and perhaps more important weakness of this book is that topics such as performance, scalability, error handling, and public vs. internal interface design are haphazardly covered and sometimes skipped. Because of the inconsistency of development practices, there is usually no ultimate “right” answer to any of these questions. Some of the recommended “best” answers in this book have some glaring failure cases that are not covered, and covering these cases will obliterate the simplicity and performance characteristics of the “best” answer. So you always need to probe your interviewers for your constraints, such as invalid inputs, what if memory allocation fails, who are your users, etc…

Ultimately, this is a useful book. You will probably do better on a software development job interview if you read this book. Stay away from the superficial treatment most people give books such as this of just trying to memorize the questions and answers. If you read this book thoughtfully, coding and testing your own answers to the exercises as you go, and evaluating the strengths and weaknesses of what’s in the book, you’ll definitely do better on any interview where you are asked direct coding questions. It is like learning one more person’s point of view on relevant development practices, and the more you do that, the more rounded you will be and better you will do overall at both interviews and once on the job. Best of luck and I hope you find a programming job that fits you well.

Review by :

There are many types and levels of programming jobs. This book is useful advice for people aiming for system level or hardcore type jobs e.g. embedded systems, networks and operating systems etc. For example, this book would be highly useful for you if you go for a developer’s job interview in Cisco systems, IBM, Microsoft, Sun or Lucent etc. This is not too useful for application programming stuff, as one of the reviewers mentioned about Sybase etc. I have been giving programming interviews for many years and believe me, I have come across a surprising number of questions right from this book. The other good books for these type of interviews are “Expert C Programming” by Van der Linden, “Programming Pearls” and ” C interfaces and Implementations” by Hansen. The interviews in companies I have mentioned do indeed last full working days, or at least five to six hours, involving lunch. The interviewers include three to four people from the engineering team, one from Human Resources and one senior level person e.g. director or head of the group type person to finish it off. The engineering team asks you to write significant code involving commonly used data structures, linked lists and trees etc. and also code that would require certain tricks of the trade that only veteran or seasoned programmers would know. So in my opinion, this is a timely arrival and gives lots of useful information to build the required confidence and thinking pattern to ace such interviews. The techniques described are all familiar and used frequently by most engineers and computer scientists in the field, but being able to answer promptly in an interview is a different ball game and I have suffered because of the lack of confidence in interviews. So, in my opinion, it deserves at least four stars.

Buy Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer) now for only $ 15.65!

C Programming Language (2nd Edition)

Presents a complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C’s rich set of operators, economy of expression, improved control flow, and data structures. This 2nd edition has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. 7 x 9 1/4.Just about every C programmer I respect learned C from this book. Unlike many of the 1,000 page doorstops stuffed with CD-ROMs that have become popular, this volume is concise and powerful (if somewhat dangerous) — like C itself. And it was written by Kernighan himself. Need we say more?

Rating: (out of 285 reviews)

List Price: $ 67.00
Price: $ 31.17

C Programming Language (2nd Edition) Reviews

Review by Mike Christie:

This book (widely known as K&R, after the authors’ initials) has for over twenty years been the best way to learn C. When I got this book in 1980, I had access to a Unix system and worked through much of the tutorial material in it. On the way I learnt a great deal, not just about C, but about good programming style, code reuse, the value of clear comments–in short, I was introduced to the skill set of an experienced computer professional.The book was a trendsetter in several ways. For example, the very first exercise given is to print “hello, world”; this is now seen as the first exercise in innumerable other, more recent books, many of which may not realize that they are borrowing from K&R. The rest of chapter 1 (there’s a chapter 0, an introduction; another geek-cool change which has been widely copied) is a tutorial that takes you through assignment statements, data types, if/else, for, while, printf, function definitions, arrays, and variable scoping, in less than 30 pages. If you work your way through the embedded exercises you’ll have written utilities to strip tabs, reverse input by lines, strip trailing whitespace from input, and several others. This is much more challenging than most tutorials, but the effect on the student is that you feel you are being treated as an equal. The book doesn’t talk down to you; it gives you accurate and concise answers. It’s written for programmers, in other words.The next few chapters go back over the elements of C in more detail, and should also be treated as a tutorial. Going through this material religiously will be far more valuable than any college class could possibly be.There is a reference section at the back, which is good to have. But the real value of this book is in the tutorial approach: it is a rare pleasure in the computing field to find a book that is simultaneously clear, stimulating and informative.

Review by Uri Raz:

I’ve first bought this book when I started my academic studies,and 5 years of work with Fortran 77 and three years of work withPascal.This small book (270 pages, including the index) served me well through my degree, and I still keep the dog-eared, yellowing, aged book with me at work.The book focuses on the language itself – this is no hands-on book (no explanations on how to use this compiler or that debugger, though it is a little biased toward Unix) in a clear, concise, and thorough way covering all of the language and it’s standard libraries.I especially liked the excercises (the solutions come in a seperate volume) and the C source code examples of how some of the library routines are (or may be) implemented.With this book I had no problem understanding the more difficult subjects (e.g. many people have problems with pointers, and this book makes the subject easy to understand) and avoiding pitfalls.I’ve read it in a week, and keeping it in hand’s reach smoothly started programming in C.The only drawback I see in this book is it’s price, it’s a small book which sells *very* well, and I’d expect it’s price to be lower. This book is *not* for people who study C as their first programming language (those would be better served with a pair of books – a first course in programming and compiler guide).

Buy C Programming Language (2nd Edition) now for only $ 31.17!

Programming in Objective-C 2.0 (2nd Edition)


Programming in Objective-C 2.0 provides the new programmer a complete, step-by-step introduction to Objective-C, the primary language used to develop applications for the iPhone, iPad, and Mac OS X platforms.   The book does not assume previous experience with either C or object-oriented programming languages, and it includes many detailed, practical examples of how to put Objective-C to use in your everyday iPhone/iPad or Mac OS X programming tasks.
A powerful yet simple object-oriented programming language that’s based on the C programming language, Objective-C is widely available not only on OS X and the iPhone/iPad platform but across many operating systems that support the gcc compiler, including Linux, Unix, and Windows systems.   The second edition of this book thoroughly covers the latest version of the language, Objective-C 2.0. And it shows not only how to take advantage of the Foundation framework’s rich built-in library of classes but also how to use the iPhone SDK to develop programs designed for the iPhone/iPad platform.   Table of Contents
   1    Introduction
Part I: The Objective-C 2.0 Language     2    Programming in Objective-C      3    Classes, Objects, and Methods
    4    Data Types and Expressions
    5    Program Looping
    6    Making Decisions
    7    More on Classes     8    Inheritance
    9    Polymorphism, Dynamic Typing, and Dynamic Binding
  10    More on Variables and Data Types
  11    Categories and Protocols
  12    The Preprocessor
  13    Underlying C Language Features
Part II: The Foundation Framework   14    Introduction to the Foundation Framework
  15    Numbers, Strings,

  • ISBN13: 9780321566157
  • Condition: New
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Rating: (out of 109 reviews)

List Price: $ 44.99
Price: $ 26.00

Programming in Objective-C 2.0 (2nd Edition) Reviews

Review by E. Kim:

This book is both comprehensive and easy to understand. The sequence of chapters chosen to be read chronologically is well thought out (e.g. having the reader use static data types before introducing the generic id type, or having the reader declare and implement accessor methods before introducing the property and synthesize directives). The end of chapter exercises are also short (i.e. quick to complete) but also thoughtfully designed.

The author chose to make this book serve not only as a reference, but as a tutorial. In other words, a bit like the “… for Dummies” series in its hand-holding (i.e. tutorial) style. However, this book is certainly not for “dummies” as the author does not assume the reader to be slow or requiring interjections of humor or casualness. Other books will have authors write things like “Now grab a slice of pizza before we hit this really hard subject!”, but this author thankfully spares the reader of this. Kochan is concise and direct. There are very few wasted or unnecessary sentences.

Kochan does not assume prior Objective-C, Cocoa framework, or X-code knowledge. However, if you have experience with just about any procedural or object-oriented language, you will have a much easier time with learning any new language, including Objective-C. If you do not have experience with ANY other language, then you will still have a difficult time with learning all of the Objective-C language as some topics just by their very nature are difficult to grasp immediately without practical experience.

Although there is a chapter each on the Cocoa framework and iPhone development, this book is focused on the Objective-C language and Apple’s Foundation framework. Other resources will have to be utilized to learn Cocoa or Cocoa Touch.


1. Introduction

2. Programming in Objective-C

3. Classes, Objects, and methods

4. Data Types and Expressions

5. Program Looping

6. Making Decisions

7. More on Classes

8. Inheritance

9. Polymorphism, Dynamic Typing, and Dynamic Binding

10. More on variables and Data Types

11. Categories and Protocols

12. The Preprocessor

13. Underlying C Language Features

14. Introduction to the Foundation Framework Foundation Documentation

15. Numbers, Strings, and Collections

16. Working with Files

17. Memory Management

18. Copying Objects

19. Archiving

20. Introduction to Cocoa Framework Layers

21. Writing iPhone Applications

22. Appendix A. Glossary

23. Appendix B. Objective-C 2.0 Language Summary

24. Appendix C. Address Book Source Code

25. Appendix D. Resources

You may also want to consider reading Apple’s developers’ guides:

-Learning Objective-C: A Primer

-Object-Oriented Programming with Objective-C

-The Objective-C 2.0 Programming Language

Apple’s guides are not easy for a novice, but having read them before reading Kochan’s book definitely made using his book significantly easier and faster for me.

In summary, this book will make learning Objective-C about as easy as it can be since it starts with the assumption that the reader has no prior programming knowledge.

Review by John McSwain:

I am a web designer and developer and I’ve programmed in a lot of languages (i.e. HTML, javascript, actionscript, visual basic, etc.). I wanted to learn Objective-C as the quickly as I could. I quickly found out that not having experience in programming in C (the predecessor to Objective-C) made it hard to understand the reasoning behind the code syntax and finding resources that didn’t assume I knew C was almost impossible…

After going through the first three chapters of this book in less than an hour, my confidence in the language has increased exponentially. The book is roughly 624 pages, but I feel like I could code the samples and finish the book in just a few days…

The book is organized into four main sections:

I: The Objective-C 2.0 Language

II: The Foundation Framework

III: Cocoa and the iPhone SDK

IV: Appendixes

The separation of these main topics, Objective-C Language features and the Foundation Framework for example, almost guarantees that there won’t be much confusion if you are learning the language for the first time and that there will be a distinction between the topics and concepts for each section.

Kochan does a good job of creating a deep understanding of the material instead of simply saying `just write the code and we’ll explain later’. For example, each chapter provides instructions on how to fulfill basic concepts using Objective-C such as writing classes, inheritance, loops, operators, etc. At the end of each chapter, there are `Exercises’ which may range anywhere from 5-9, which more or less tests the reader’s comprehension on the material that was just covered.

I bought the Beginning iPhone Development: Exploring the iPhone SDK and Cocoa(R) Programming for Mac(R) OS X (3rd Edition) before this book and I should have done the exact opposite. This book can serve as a foolproof foundation and reference guide for either of the aforementioned books and definitely shortens the learning curve to mastery.

Buy Programming in Objective-C 2.0 (2nd Edition) now for only $ 26.00!

Cocoa(R) Programming for Mac(R) OS X (3rd Edition)

The best-selling introduction to Cocoa, once again updated to cover the latest Mac programming technologies, and still enthusiastically recommended by experienced Mac OS X developers.   “Aaron’s book is the gold standard for Mac OS X programming books—beautifully written, and thoughtfully sculpted. The best book on Leopard development.” —Scott Stevenson,   “This is the first book I’d recommend for anyone wanting to learn Cocoa from scratch. Aaron’s one of the few (perhaps only) full-time professional Cocoa instructors, and his teaching experience shows in the book.” —Tim Burks, software developer and creator of the Nu programming language,   “If you’re a UNIX or Windows developer who picked up a Mac OS X machine recently in hopes of developing new apps or porting your apps to Mac users, this book should be strongly considered as one of your essential reference and training tomes.” —Kevin H. Spencer, Apple Certified Technical Coordinator   If you’re developing applications for Mac OS X, Cocoa® Programming for Mac® OS X, Third Edition, is the book you’ve been waiting to get your hands on. If you’re new to the Mac environment, it’s probably the book you’ve been told to read first. Covering the bulk of what you need to know to develop full-featured applications for OS X, written in an engaging tutorial style, and thoroughly class-tested to assure clarity and accuracy, it is an invaluable resource for any Mac programmer.   Specifically, Aaron Hillegass introduces the three most commonly used Mac developer tools: Xcode, Interface Builder, and Instruments. He also covers the Objective-C language and the major design patterns of Cocoa. Aaron illustrates his explanations with exemplary code, written in the idioms of the Cocoa community, to show you how

  • ISBN13: 9780321503619
  • Condition: New
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Rating: (out of 112 reviews)

List Price: $ 49.99
Price: $ 27.43

Cocoa(R) Programming for Mac(R) OS X (3rd Edition) Reviews

Review by HiRez:

This was the book I had been waiting for, or at least ONE OF the books I had been waiting for, to really get started with Cocoa programming. The O’Reilly book, as has been mentioned plenty of times here, leaves a lot to be desired, and while it was better than nothing, a wall still remained between me and Cocoa after finishing it.After reading Cocoa Programming for OS X, I feel I can say I “get” Cocoa finally. That’s not to say I’m an expert, but that I can complete a simple program now, on my own, using the Cocoa frameworks and concepts. As Aaron says in the book, learing the Cocoa APIs will take much longer. I come from a Java background, with only marginal C and C++ experience. Although Aaron does not speak much about the objective-c language itself, that’s ok. Apple’s PDF is more than adequate to get that background.There are some things that get glossed over that I wish had been more fully explained, and some things left out altogether that I would have liked to see, such as: — Spawning and managing multiple threads, thread safety issues

— exception handling, debugging and assertions

— Cocoa “primitive” objects (NSPoint, NSRect, NSRange, etc.), why they apparently don’t need to be retained or released, and why they are “NS” objects but don’t really behave like them. — Calling Toolbox routines or those from APIs that have not yet been “Cocoa-ized” (and integrating the Old Way into the Cocoa Way), with examples. Cocoa is nice but once you get away from building a text editor, you will need to dig into this ugly and unfriendly world at some point (unfortunately). For instance, how do I access the Airport card, how do I open and use a network socket, how can I read a DV-encoded stream from a FireWirePort and save it to disk as a QuickTime movie, how do I access a database, how do I use an OpenGL view? — How to customize Cocoa UI elements. Like if I wanted an NSSlider with TWO sliders, a minimum and a maximum. There is an example of subclassing an NSView in the book, but that’s just a drawing panel.To be fair, I’m not really criticizing Aaron for these things. The book has plenty of useful stuff, and I’m sure Aaron wants to write and sell more books, so some advanced Cocoa books that address some of these things as well as others will be welcome…I hope someone is writing them right now. I also hope someone is writing a comprehensive Cocoa API reference, as Apple’s is somewhat lacking (Have you seen the phrase “Description Forthcoming” more times than you care to remember? I thought so.)The bottom line is that this is a great book that is a must-have for anyone interested in Cocoa programming. I’d probably rate it four or four-and-a-half stars, but I’m giving it five for being there when I needed it, and being the first really useful book on the subject. The best thing I can say about it is that I can now do things there is simply no way I could have before.

Review by Dan Crevier:

First my background. I’m a very experienced C++ programmer who is also very experienced with Carbon.I found this book to be a great intro to Cocoa without a lot of preaching about how Cocoa will change the world. Carbon vs. Cocoa seems to be an almost religous debate, and I’m glad this book didn’t try to overpromise the benefits of Cocoa.The book is well organized, very readable, and has good examples. It is *much* better than the O’Reilly “Learning Cocoa” book.After reading this book, you’ll be able to start writing applications in Cocoa, and you’ll know where to go for more info.Now, my nits:* The book explicitly stated that it was for people with a C++ or java background, but I think there should have been more direct comparisions between C++/java and Objective C. For example, saying that class functions (the ones with +) are just like static functions in C++ would have helped.* This may be an introductory book for people moving from other platforms to the Mac, but the UI for most of the applications violated Apple’s UI guidelines in many ways. I think the book should have promoted following Apple’s UI guidelines.* There was no discussion of exceptions, and much of the code was not exception-safe and didn’t do much error checking. There wasn’t even the usual disclaimer about leaving that out for simplicity.* I would have liked a quick overview at the end of some of the classes not discussed in the book with a couple of sentences about what they do. This would help to learn what’s out there.I hope to see more books on Cocoa by the author. There’s still lots of room for books on more advanced Cocoa topics.

Buy Cocoa(R) Programming for Mac(R) OS X (3rd Edition) now for only $ 27.43!

iPhone Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)

Based on Big Nerd Ranch’s popular iPhone Bootcamp class, iPhone Programming: The Big Nerd Ranch Guide leads you through the essential tools and techniques for developing applications for the iPhone, iPad, and iPod Touch. In each chapter, you will learn programming concepts and apply them immediately as you build an application or enhance one from a previous chapter. These applications have been carefully designed and tested to teach the associated concepts and to provide practice working with the standard development tools Xcode, Interface Builder, and Instruments. The guide’s learn-while-doing approach delivers the practical knowledge and experience you need to design and build real-world applications. Here are some of the topics covered:

Dynamic interfaces with animationUsing the camera and photo libraryUser location and mapping servicesAccessing accelerometer dataHandling multi-touch gesturesNavigation and tabbed applicationsTables and creating custom rowsMultiple ways of storing and loading data: archiving, Core Data, SQLiteCommunicating with web servicesALocalization/Internationalization “After many ‘false starts’ with other iPhone development books, these clear and concise tutorials made the concepts gel for me. This book is a definite must have for any budding iPhone developer.” –Peter Watling, New Zealand, Developer of BubbleWrap

Rating: (out of 19 reviews)

List Price: $ 49.99
Price: $ 27.98

iPhone Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) Reviews

Review by Jose L. Rivera:

I love this book. I like the style and honesty of the author. Go right to the point. Is not boring. This is my 3rd iPhone Programming book. I love Jeff LaMarche too (It is also, a great intro to iPhone development). But, I think this one is less cluttered. I got the book yesterday (April 20, 2010). In two hours I read up to chapter 4 (I liked chapter 3 – Memory Management). Good introduction. The combination of XCode screen shots and UML charts are excellent complements to the text. I recommend this book (and Kochan, Objective-C programing book, latest edition) to anyone who wants learn how to program the iPhone. It is sad, that they don’t have a chapter on OpenGL-ES, but it looks like the authors are planning to put together a book alone on this subject. I can’t wait!. IMHO, Mr. Hillegas and his group, have (or has) mastered the art of communicating knowledge to the masses.

Review by Samer A:

I move from software technologies almost yearly, starting with PHP to ASP.NET and now starting iPhone development, so each year is basically another library of books I have to buy to teach myself the language. I’ve read a ridiculous amount of computer books, ranging from the terrible (super boring, dense) to the insultingly easy ones (that basically treat you like a 4th grader learning programming.)

This, thankfully, is a fantastic mix of being incredibly easy to pick up and read, and also super informative. As far as iPhone development goes, this will be my 4th introductory book I’ve picked up, trying to get a handle on developing for the platform. The other books all typically tend to throw you into immediately coding, and never really actually explain why you’re doing what you’re doing, or make sense of any of it. Yes, this book does start off with an example chapter that you basically just copy word for word, but that’s mostly to get your feet wet before actually digging through all the details and building your foundation.

In the first 3-4 chapters of this book, I already feel like I have a complete grasp on subjects that I did not yet understand from the 3 previous books I’ve read. I sort of had an idea why I typed ‘*’ in front of names, or what @property (retain) statements meant, but I never fully understood what I was doing–it was mostly just “well, I read it, so it must be the way to do it.” Basically, the other books got me about 75-80% there, but this one is 100%. The last 20 I feel is the most important, because that’s when you finally begin to understand the concepts of the language, which let you move onto the more complex stuff with confidence.

Another reason I feel this makes a great coding book is the layout of each page. I can’t tell you how important it is to present all that text + code in a meaningful, organized way. I’ve read some books where they just hit you over the head with instructions, with almost no visual clues and with fragmented code samples. But the pages in this book have plenty of white space per page, have plenty of illustrations and each code sample is commented (an appropriate amount) to give you hints as you’re typing code as to what you’re doing.

Finally, and thank goodness for this, the first example in this book that you write is NOT a Hello, World app 🙂

In summation, if you’re like me and have started to read a few books (or maybe you haven’t, I wish I could have started with this one) and are looking for a way to really feel confident with iPhone core concepts, then pick this book up and give it a read. I can’t wait to get started on the many project ideas I have!

Buy iPhone Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) now for only $ 27.98!

Excel 2007 Power Programming with VBA (Mr. Spreadsheet’s Bookshelf)

This book is a single reference that’s indispensable for Excel beginners, intermediate users, power users, and would-be power users everywhere Fully updated for the new release, this latest edition provides comprehensive, soup-to-nuts coverage, delivering over 900 pages of Excel tips, tricks, and techniques readers won’t find anywhere else John Walkenbach, aka “Mr. Spreadsheet,” is one of the world’s leading authorities on Excel Thoroughly updated to cover the revamped Excel interface, new file formats, enhanced interactivity with other Office applications, and upgraded collaboration features Includes a valuable CD-ROM with templates and worksheets from the book Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

  • ISBN13: 9780470044018
  • Condition: New
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Rating: (out of 38 reviews)

List Price: $ 49.99
Price: $ 26.45

Excel 2007 Power Programming with VBA (Mr. Spreadsheet’s Bookshelf) Reviews

Review by Paul O’Connor:

This is a GREAT introduction to ALL aspects of Excel and VBA. Most people who need this book come into VBA from other experiences and have rarely taken classes in VBA and they need a readable reference that can bring them up to speed on the parts they don’t understand yet.

Used this way the book is simply outstanding and most users probably don’t need anything more than this book, but I’m not one of those people.

I purchased “Professional Excel Development” by Bullen, Bovey, and Green at the same time and was awestruck at the depth of their knowledge and their passion for making Excel the only development tool your company will ever need. In short they are absolutely insane in a very knowledgeable and useful way.

The biggest problem with “Professional Excel Development” is that readers are expected to know a LOT more about Excel and VBA than average and Walkenbach nicely addresses that issue. He’s also a lot more readable than the other authors and so can be used in conjunction with them to clarify the points that they are making.

Regardless of how you use this book, it is a very good for just about any level of VBA developer and firmly earns the 5 star rating.

Review by M. McClure:

I really enjoyed John’s “Excel 2003 Power Programming with VBA” and I was looking forward to giving his 2007 edition an enthusiastic 5 stars. I have read Excel books by other authors, and no one seems to present the material as clearly as John does. However, when I received the book I was very disappointed to find out that the CD-ROM included with the book did not contain a searchable .PDF version of the book as advertized. Instead, there was a one page .PDF file on the CD with the following text: “This is just a Placeholder. Actual PDF is not ready yet – Media Development.” If having a searchable .PDF version of the book is as important to you as it is to me, I would suggest that you wait to purchase this book until you can confirm the books are shipping with the .PDF version on the CD as advertized.

Update: As mentioned by a reviewer above, the publisher can provide you with either a link to download the eBook or a CD with the eBook. After speaking with three customer service representatives I received (1) the same exact CD that came with the book, (2) a burned CD via mail with just the eBook, and (3) a link to download the eBook. It may take a day or two for them to provide it to you, but it is possible to obtain the eBook from the publisher.

Buy Excel 2007 Power Programming with VBA (Mr. Spreadsheet’s Bookshelf) now for only $ 26.45!

Beginning C++ Through Game Programming, Second Edition

What is it that sets games apart from other forms of entertainment, keeping players coming back for more? Interactivity. The ability to control the outcome. Programming is an integral part of that interactivity, and C++ is a vital skill in programming for games. Beginning C++ through Game Programming, Second Edition will provide you with the core skills you need to begin programming with C++ specifically as it relates to games. You’ll reinforce each new skill by creating small games along the way, and you’ll put these skills to the test with one ambitious game project at the end. By the time you finish, you’ll have a solid foundation in the programming language of the professionals!

  • ISBN13: 9781598633603
  • Condition: New
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Rating: (out of 65 reviews)

List Price: $ 29.99
Price: $ 18.43

Beginning C++ Through Game Programming, Second Edition Reviews

Review by M. Fruits:

If you’re a beginner and want a place to start programming games then this is the book for you. But be sure of one thing, no book can teach you everything, but with help from books like this one written by Michael Dawson it will help you get your foot into the door and then some. I recommend this book to anyone that wants to get into game programming and knows the basics of C++. Here is a little more info about each chapter for those of you that need it.

Table of Contents


Chapter 1 – Types, Variables, and Standard I/O: Lost Fortune

Chapter 2 – Truth, Branching, and The Game Loop: Guess My Number

Chapter 3 – For Loops, Strings, and Arrays: Word Jumble

Chapter 4 – The Standard Template Library: Hangman

Chapter 5 – Functions: Mad-Lib

Chapter 6 – References: Tic-Tac-Toe

Chapter 7 – Pointers: Tic-Tac-Toe 2.0

Chapter 8 – Classes: Critter Caretaker

Chapter 9 – Advanced Classes and Dynamic Memory: Game Lobby

Chapter 10 – Inheritance and Polymorphism: Blackjack

I hope this helps you out.

Review by calvinnme:

Up to now, there were few decent books that taught C++ and the Standard Template Library (STL) and how to use these within a game. This book fills the void. It is a very good book that covers the required material, but it does require that you have more knowledge than an absolute beginner.

The book covers the major aspects of C++ such as inheritance and encapsulation in a very easy to understand and accessible way. The examples for the games are clear, concise, well documented, and very carefully explained. It uses nothing other than the STL to demonstrate how to implement the code, which means that anyone with a recent rev of a C++ compiler can use the book.

I subtracted a single star out of five because the chapter on pointers is insufficient, in my opinion. While the explanations and diagrams make the chapter easier to understand than many books, pointers are still made more complex than is really necessary. There is also no form of exception handling when “new” is used, which is a fundamental flaw with no real excuse given in the book for why is it not handled. It is too easy for new students of the language to get in the habit of letting memory handling go unchecked. Other than these flaws, I do recommend the book, especially to students who want to learn C++ for the purpose of getting into game programming.

Buy Beginning C++ Through Game Programming, Second Edition now for only $ 18.43!

Programming Collective Intelligence: Building Smart Web 2.0 Applications

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you’ve found it. Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general–all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:
Collaborative filtering techniques that enable online retailers to recommend products or media
Methods of clustering to detect groups of similar items in a large dataset
Search engine features–crawlers, indexers, query engines, and the PageRank algorithm
Optimization algorithms that search millions of possible solutions to a problem and choose the best one
Bayesian filtering, used in spam filters for classifying documents based on word types and other features
Using decision trees not only to make predictions, but to model the way decisions are made
Predicting numerical values rather than classifications to build price models
Support vector machines to match people in online dating sites Non-negative matrix factorization to find the independent features in adataset
Evolving intelligence for problem solving–how a computer develops its skill by improving its own code the

Rating: (out of 57 reviews)

List Price: $ 39.99
Price: $ 19.00

Programming Collective Intelligence: Building Smart Web 2.0 Applications Reviews

Review by Syd Logan:

This book is probably best for those of you who have read the theory, but are not quite sure how to turn that theory into something useful. Or for those who simply hunger for a survey of how machine learning can be applied to the web, and need a non-mathematical introduction.

My area of strength happens to be neural networks (my MS thesis topic was in the subject), so I will focus on that. In a few pages of the book, the author describes how the most popular of all neural networks, backpropagation, can be used to map a set of search terms to a URL. One might do this, for example, to try and find the page best matching the search terms. Instead of doing what nearly all other authors will do, prove the math behind the backprop training algorithm, he instead mentions what it does, and goes on to present python code that implements the stated goal.

The upside of the approach is clear — if you know the theory of neural networks, and are not sure how to apply it (or want to see an example of how it can be applied), then this book is great for that. His example of adaptively training a backprop net using only a subset of the nodes in the network was interesting, and I learned from it. Given all the reading I have done over the years on the subject, that was a bit of a surprise for me.

However, don’t take this book as being the “end all, be all” for understanding neural networks and their applications. If you need that, you will want to augment this book with writings that cover some of the other network architectures (SOM, hopfield, etc) that are out there. The same goes for the other topics that it covers.

In the end, this book is a great introduction to what is available for those new to machine learning, and shows better than any other book how it applies to Web 2.0. Major strengths of this book are its broad coverage, and the practicality of its contents. It is a great book for those who are struggling with the theory, and/or those who need to see an example of how the theory can be applied in a concise, practical way.

To the author: I expect this book will get a second edition, as the premise behind the book is such a good one. If that happens, perhaps beef up the equations a bit in the appendix, and cite some references or a bibliography for those readers interested in some more in depth reading about the theory behind all these wonderful techniques. (The lack of a bibliography is why I gave it 4 stars out of 5, I really think that those who are new to the subject would benefit greatly from knowing what sits on your bookshelf.)

Review by Leo Dirac:

Segaran has done an excellent job of explaining complex algorithms and mathematical concepts with clear examples and code that is both easy to read and useful. His coding style in Python often reads as clearly as pseudo-code in algorithm books. The examples give real-world grounding to abstract concepts like collaborative filtering and bayesian classification.

My favorite part is how he shows us code (gives it to us!) that goes out into the world, grabs masses of data and does interesting things with it. The use of a hierarchical clustering algorithm to dig into people’s intrinsic desires in life as expressed in zebo is worth the price of the book alone. The graph that shows a strong connection between “wife”, “kids”, and “home” but a different connection between “husband”, “children”, and “job” is IMHO just fascinating.

Gems like that make this book worth reading cover to cover. After that it can happily hang out on your shelf as a reference anytime you need to build something to mine user data and extract the wisdom of crowds.

Buy Programming Collective Intelligence: Building Smart Web 2.0 Applications now for only $ 19.00!

The Ruby Programming Language

The Ruby Programming Language is the authoritative guide to Ruby and provides comprehensive coverage of versions 1.8 and 1.9 of the language. It was written (and illustrated!) by an all-star team: David Flanagan, bestselling author of programming language “bibles” (including JavaScript: The Definitive Guide and Java in a Nutshell) and committer to the Ruby Subversion repository.Yukihiro “Matz” Matsumoto, creator, designer and lead developer of Ruby and author of Ruby in a Nutshell, which has been expanded and revised to become this book.why the lucky stiff, artist and Ruby programmer extraordinaire. This book begins with a quick-start tutorial to the language, and then explains the language in detail from the bottom up: from lexical and syntactic structure to datatypes to expressions and statements and on through methods, blocks, lambdas, closures, classes and modules.

The book also includes a long and thorough introduction to the rich API of the Ruby platform, demonstrating — with heavily-commented example code — Ruby’s facilities for text processing, numeric manipulation, collections, input/output, networking, and concurrency. An entire chapter is devoted to Ruby’s metaprogramming capabilities.

The Ruby Programming Language documents the Ruby language definitively but without the formality of a language specification. It is written for experienced programmers who are new to Ruby, and for current Ruby programmers who want to challenge their understanding and increase their mastery of the language.

  • ISBN13: 9780596516178
  • Condition: USED – Very Good
  • Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed

Rating: (out of 33 reviews)

List Price: $ 39.99
Price: $ 15.00

The Ruby Programming Language Reviews

Review by Peter Cooper:

Originally planned as a second edition to Ruby classic, Ruby In A Nutshell, The Ruby Programming Language is a new book by David Flanagan and Yukihiro Matsumoto (a.k.a. Matz – creator of Ruby) and published by O’Reilly. The book covers both Ruby 1.8 and 1.9 and with its esteemed authors and technical approach, is sure to become a new “Bible” for Ruby developers.

As of the start of 2008 this book is REALLY fresh and up to date. Its style is very direct and matter-of-fact; well suited for existing Ruby developers and proficient developers coming from other languages. The examples are clear and logical and the explanations concise; this is a well edited and authoritative book.

The structure of the book is a delight with ten well-defined chapters (with titles such as Reflection and Metaprogramming, Statements and Control Structures, and Expressions and Operators) that each contain a tree of sections. Consider Chapter 4, Expressions and Operators. A sample dive down to section takes us through 4.5, Assignments; 4.5.5, Parallel Assignment; and finally to, One lvalue, multiple rvalues. This is a breath of fresh air in a Ruby reference work.

The only downside, in terms of the thousands who might be browsing Amazon looking for a single Ruby book to start off with, is that this book is so well focused on documenting the core elements of the Ruby language, it doesn’t work either as a tutorial / beginner’s introduction to Ruby, or as an exhaustive reference work (as, on both fronts, the Pickaxe attempts to be.) This lack of dilution may be an ultimate strength, however, since anyone above the station of “beginner” will be able to learn Ruby thoroughly from this book, use it as a general reference, and then be able to use the exhaustive documentation that comes with Ruby itself to cover the standard library and built-in classes.

In conclusion, whether you’re an existing developer or a newcomer to Ruby, you need just three things to be up and running with Ruby in the book / documentation department. Forget the Pickaxe and its mediocrity, and buy this, the Ruby Way (by Hal Fulton), and learn how to use the documentation that comes with Ruby.

This book will act as the “Bible” for Ruby, the Ruby Way will make you an expert, and learning how to use the documentation that comes with Ruby will mean you’re not using information that’s out of date within a couple of years. The perfect combo! It’ll last you for years.

Review by Daniel McKinnon:

‘The Ruby Programming Language’ is one of ‘those’ O’Reilly books that become staples in the family of GREAT texts that have come before. At 400+ pages, the following content is discussed:

01. Intro

02. Structure of Ruby Programs

03. Datatypes & Objects

04. Expressions & Operators

05. Statements & Control Structures

06. Methods, Procs, Lambdas, Closures

07. Classes & Modules

08. Reflection & Metaprogramming

09. Ruby Platform

10. Ruby Environment

Logically laid out, wonderful writing, clear and concise examples with a length that is ‘just right’ (this is so hard to not find bloated books) this is perfect for those that know some Ruby and/or programming in general. If you are new to software development, this book probably is NOT for you as it’s not a “learning” text. There are other Ruby books that cover said topic though so make sure to pick those up as well.

Awesome job O’Reilly for this relatively new and fast growing language that is used on the web and wherever you want!!


Buy The Ruby Programming Language now for only $ 15.00!

Programming Pearls (2nd Edition)

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

Rating: (out of 36 reviews)

List Price: $ 39.99
Price: $ 26.85

Programming Pearls (2nd Edition) Reviews

Review by Charles Ashbacher:

Without any doubt, my favorite article in _Communications of the ACM_ in the 1980’s was the regular `Programming Pearls’ articles by Jon Bentley. When the first edition of these collected gems was published, I read it with great delight. Now, over a decade later, a second edition has been published, containing the same problems with additional modifications and notations. Given the enormous changes in programming since the mid 80’s, your first reaction might be that this book is dated and therefore irrelevant. Nothing could be further from the truth.
Elegant solutions to complex programming problems are free from the rot of time. Programming is a thought process largely independent of the notation used to write it down. The solutions are sketched and explained rather than coded, and the solutions are complete. There is a certain mystique about taking a complex problem, finding an initial solution and then refining it down until it kicks some big time. There are some major lessons in program refinement explained in these solutions.
Coding a binary search is covered quite extensively, which may seem like a waste of space, as this problem was solved decades ago. However, that solution took decades to get right, and this is one of those “separates the coders from the key bangers” type of problem. Other problems examined include performance tuning, squeezing space and program correctness. While the improvement in the performance of the hardware has been astounding since these solutions were written, that does not make them obsolete. The complexity of the programs that we now build has risen even faster, so performance and space considerations are just as critical.
Some problems were here at the beginning and will still be here at the end. Even though there may be canned code to handle them, these problems are generic enough that the solutions can be applied elsewhere, so we must learn how to solve them. Understanding these problems and their solutions will give you a fundamental skill set that will serve you well for a long time.

Review by Mike Christie:

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

Buy Programming Pearls (2nd Edition) now for only $ 26.85!

Find more Programming products on Amazon!