14 of 14 people found the following review helpful:
5.0 out of 5 stars
A must read for java developers who wants to learn Objective-C, November 18, 2009
This review is from: Learn Objective-C for Java Developers (Learn Series) (Paperback)
I've been programming with Java since 1998. It's a nice language/platform with automatic garbage collection and a rich set of 3rd party APIs and libraries. However, the introduction of iPhone changed the world, and I wanted to develop some apps for iPhone. Since iPhone does not support Java as their development language, I had to learn Objective-C. Even though I learned some C/C++ back from college days, Objective-C is still quite foreign to me. It's a bit frustrating to Google and searching through Apple's documentation to find something equivalent (that works in Java) to be used in Objective-C. After many fruitless searches and frustration, I thought I might never learn Objective-C. Then this book was released and I grabbed a copy. After reading it, I truly wish this book was available earlier so I didn't waste so much time searching blindly in Google.
James did a wonderful job bring Java and Objective-C comparison side by side. But keep in mind, no single book can cover EVERYTHING between Java and Objective-C. There are obviously certain things missing but for the most part, it covers many grounds between Java and Objective-C.
Part 1 - Language
Chapeter 1-7 give you some nice introduction to Objective-C, and along the way, comparing with Java, and gradually feeds you more and more Objective-C features. Chapter 5 on Protocols and Categories is very nice, but I wish it was much longer. Protocols and Categories are very powerful features in Objective-C. They alone deserve a whole book ;)
Part 2 - Translating Technologies
Chapter 8-15 touches on many fundamentals of both languages, Strings and primitive values, Garbage Collection, Introspection, Files, Serialization, Exception Handling and Threads. The author shows us side-by-side code snippets comparison between Java and Objective-C. This alone is invaluable to us readers. There are some mind-bending situations where you will say: why it's so different? and makes you feel confused and puzzled. Then if you read up Apple's official documentation, and explore the APIs further, you will realize why things are in certain way in Objective-C. Definitely lots of learning there.
Part 3 - Programming Patterns
Chapter 16-23 shows the readers some common programming and design patterns in both language flavors. Collection pattern, Delegation pattern (lots of Objective-C APIs are through the use of delegation), Provider/Subscriber pattern, Observer Pattern(you will find how easy it is to setup observers in your program), MVC, Lazy Initialization, Factory, and our favorite Singleton pattern.
Of course, there are many more patterns that are not covered here, but these basic patterns are enough to get you started. Again, patterns alone warrants a whole 900-page book, so hopefully something comes out soon.
Part 4 - Advanced Objective-C
Chapter 24-26 deals with memory management, mixing c and objective-c, and runtime.
Memory management is especially important in iPhone SDK since so far iPhone SDK does not support automatic garbage collection. So all the memory allocations you have in the codes must be taken care of. Mixing C and Objective-C is very interesting, it should be very helpful for gaming development, where in many cases, involves game engines written in C.
Overall, it's a solid book for Java developers who want to dive into Objective-C.
You might need to read it a few times to fully understand certain topics.
It's a good reference book as well if you want to look up something quick in Objective-C but you only know how to do that in Java.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
23 of 26 people found the following review helpful:
3.0 out of 5 stars
Ok..but...!, October 15, 2009
This review is from: Learn Objective-C for Java Developers (Learn Series) (Paperback)
I am a java developer and I rushed to buy this book after finding this title on the web. I was hoping that the transition from Java to Objective C would be very easy.
But here is my opinion:
I started reading this book and found that the first few chapters were ok..but eventually stopped reading since I felt like there is lot of new information about Objective C the author is trying to say in single section in multiple places. It took me a lot of time understanding some of the concepts because of the above reason.
I bought this because I thought I could leverage my Java knowledge and come upto speed on Objective C. Though there are comparisons of Syntax between Java and Objective-C then and there, I felt it not very useful to leverage the Java concepts easily. There weren't enough detailed explanation of the examples whenever there are new concepts.
Instead I tried the following:
Googled and took a free online crash course in C which took a day of my time.
Then I started reading the book 'Learn Objective C on the Mac' by the same publisher. I loved the book. The book teaches the objective C concepts step by step and with detailed explanation of concepts incrementally.
Now, I am continue to stick with the second book and learning Objective C
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
6 of 6 people found the following review helpful:
5.0 out of 5 stars
I needed this book a year ago, but am thrilled it is finally here, November 21, 2009
This review is from: Learn Objective-C for Java Developers (Learn Series) (Paperback)
Being a Java developer for more than 10 years and having explored the Objective-C platform for iPhone development for more than the last year, I struggled in the early days. I longed for a document that spoke to me, the Java emigre, and helped me map my existing knowledge into this new field of development. Finally, such a book has hit the shelves in the form of James Bucanek's Learn Objective-C for Java Developers.
James warns us that direct comparisons between these languages are insufficient, but acknowledges it gives us a great common vocabulary to start with. Once the comparisons have been drawn and as we become comfortable on the Objective-C language, James takes us beyond Obj-C as Java and shows the dynamism of this unique platform. We progress through memory management, persistence, and other platform specific critical technologies, learning each from James in a very friendly tutorial-style manner.
The book ends in a fevered pitch with an overview of mixing C and Obj-C. Overall, I was very pleased with the book, primarily because it spoke to me as a Java developer, and second because the writing style was very digestible. I highly recommend this book to any Java developer moving to the iPhone platform.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No