Objective-C Phrasebook

Author: David Chisnall
Publisher: Addison-Wesley, 2011
Pages: 352
ISBN: 978-0321743626
Aimed at: Objective-C programmers
Rating: 2
Pros: Wide and deep coverage will appeal to language enthusiasts and to users of GNUStep
Cons: Confusing for Mac/iOS developers
Reviewed by: Mike James

This small format book promises to act like a phrase book for Objective-C. Is this a good idea?


Author: David Chisnall
Publisher: Addison-Wesley, 2011
Pages: 352
ISBN: 978-0321743626
Aimed at: Objective-C programmers
Rating: 2
Pros: Wide and deep coverage will appeal to language enthusiasts and to users of GNUStep
Cons: Confusing for Mac/iOS developers
Reviewed by: Mike James

 

 

This is a small book - and small books focused on a manageable topic are good. This one promises to act like a phrase book for Objective-C. Is this a good idea?

 

If you know Objective-C as the language of MacOS, or perhaps even more narrowly the iPhone, then you might not be expecting the wider view that this book takes. It starts off with a fairly long look at the history, origin and some of the philosophy of the language. If you are a language enthusiast then this is well worth reading. If you are just interested in getting on with using Objective-C then perhaps it is less useful.


Banner

 

Next we get on to an Objective-C Primer which is supposed to be about the raw basics of the language - only getting to the language seems to be difficult. The author has a habit of putting off accurate definitions and keeps presenting short example statements which you are supposed to use to infer the syntax. There are also small code quotes used to illustrate the idea and these have line numbers but they don't start from one. It is only later when you notice the file name underneath do you realize that these are "illustrations" taken from larger system files. If you know the Objective-C language then you find a lot of the discussion relevant and interesting. If you don't know the language then it isn't really going to help.

The most important thing to note is that while the Mac use of Objective-C is the biggest and most important there is also GNUStep and open source version. This book not only covers GNUStep but explains the differences between it and the Mac (Cocoa) implementation. What this means is that if your primary concern is programming in the Mac environment there is a lot of fairly useless information to confuse you.

Moving on from the core language, the book then moves though a range of applied topics - memory management, patterns, numbers, strings, collections, dates and times, property lists, the environment, key-value coding, error handling, files, threads, blocks, notifications, networking, debugging and finally the runtime. Each topic is covered in a fairly long chapter consisting of short "recipe" type entries. Typically the recipe starts with the code and then there is an explanation of what is going on. Often the explanation launches without much scene setting, as if the code was a sort of introduction or preparation for the ideas to come. This is great if you are an expert Objective-C programmer but if you are lagging behind a bit it does nothing to let you catch up.

Overall this is an erudite book and if you know the meaning of erudite then you will enjoy it. It really isn't a phrase book that you can pick up and start using to communicate with the locals without prior and fairly comprehensive understanding. It is more like an informal guide to the grammar, as it expects you to both know a lot about the language and about programming in general.

If you are just looking for something to get you started on Mac or iOS programming then look elsewhere. The book probably doesn't even suit a Mac-oriented intermediate Objective-C programmer because of its coverage of GNUStep. Certainly if you are a beginner or struggling with any of the concepts in Objective-C then keep well away from this book.


Banner


Functional Programming in C#, 2nd Ed (Manning)

Author: Enrico Buonanno
Publisher: Manning
Date: February 2022
Pages: 448
ISBN: 978-1617299827
Print: 1617299820
Kindle: B09P1Z2PPB
Audience: C# developers
Rating: 5
Reviewer: Mike James
Is C# a good language for functional programming?



Python Programming with Design Patterns

Author: James W. Cooper
Publisher: Addison-Wesley
Date: February 2022
Pages: 352
ISBN: 978-0137579938
Print: 0137579934
Kindle: B09D2RKQB5
Audience: Python developers
Rating: 1
Reviewer: Mike James
There was a time that design patterns were all the thing. Not so much now. But Python - does it have [ ... ]


More Reviews

Last Updated ( Thursday, 23 June 2011 )