Thoughts from a NeXTStep Guy on Cocoa Development

All The C You Need to Know?

Jan 08, 2013 by Bill Dudney

It has been 10 and half months since I posted this question to everyone. It took a lot longer than I expected it to but I've finally shipped the result of your kind comments. You can find All the C You Need to Know in living color on your iPad here.

The current version is envisioned to be an iPad only book. I have had several requests to make it a PDF but I don't think the interactive content works as well in that format. So for now you'll have to file a bug with Apple to try and get iBooks on your Mac if you want to read it off your iPad.


Bill, I just listened to your interview on the iDeveloper podcast and (as a teacher and a struggling student) agreed with everything you said about learning to program in C and Objective-C. A bit disappointed to find your book is only available on the iPad as I don't have one, but I want to put in my vote for a more universal e-book edition at some stage.

Posted by jon on January 10, 2013 at 12:04 PM MST #

Your book is exactly what I've been searching for since I started writing apps for iOS, but unfortunately, Apple doesn't let me to buy it as I'm not from US. Is there any chance to make your book available for other countries? I'd be really happy to get it :)

Posted by Bek on January 20, 2013 at 05:37 AM MST #

Like as Bek, I'm really interesting in this book and not at US. I'm waiting to get it ;)

Posted by Jerapong on January 23, 2013 at 11:12 AM MST #

Great iBook Bill. Even though its short it is very precise and focused. The gradual build up of the subject matter is excellent.

In the sample code that you provide in Chapter 4 --> Excercise 12 you have included runtime.h and runtime.c

In runtime.h you define a type -->

typedef void (*SINGLE_FLOAT)(VectorRef, char *, float);
The method takes three arguments.

However in runtime.c you declare a variable of this type called 'impl' and eventually set it equal to VectorSetX. However the method signature of VectorSetx in Vector.h -->

void VectorSetX(VectorRef vector, float x);

does not match.

Can you shed light on what you were trying to do accomplish in this example. I can see the concept of providing multiple commands via variadic functions and
invoking them in real time. Do you have an actual implementation of what you were trying to cover with runtime.h and runtime.c

I have sent e-mails but have not heard back from your team.


Posted by Todd Barker on January 23, 2013 at 11:12 AM MST #


I would like to buy it too, but I'm in France and Itunes doesn't let me :(
Any chance you would publish it in EU stores ?

Thanks !

Posted by Clarisse Laurier on January 28, 2013 at 02:49 AM MST #

@Clarisse - iTunes Connect has the book available in all 50 stores, including France. Could you check again.

Posted by Bill Dudney on January 28, 2013 at 02:50 AM MST #

@Todd - The inclusion of runtime.{c,h} in the code bundle was a mistake. I replaced that functionality with the code you see in the book.

A general treatment of variadic functions is beyond the book and part of why I removed runtime.{h,c} from the projects.

Sorry that I mistakenly left them in the code download.

Posted by Bill Dudney on January 28, 2013 at 03:07 AM MST #

@Bill, can't find it in the South African store either. Does iTunes Connect list it as being there?

Posted by Darren Olivier on February 06, 2013 at 07:26 AM MST #

Also not available in the Japanese iTunes store. I'm very intrigued, but I can't seem to get my hands on it....

Posted by Jim Borden on February 16, 2013 at 09:32 AM MST #

Also not available in the Turkish store, I'd love to be able to buy it. :)

Posted by Berk Çebi on May 21, 2013 at 05:23 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed