This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
Two or three years ago, I worked on a project that has a small iOS component (iDevice talking to big WebServer). So I took some courses in Objective-C, Apple's frameworks, etc.
The big thing that hit me over the head was that iOS was an embedded OS for an embedded computer. Here embedded means inexpensive and limited. Seemed like a reasonable engineering design trade off. But it meant that the memory management that Objective-C developers can use on OS-X was not available. Instead, the programmer had to manually obtain and free memory.
In my experience, with a lot of languages and a lot of programmers, programmers are nearly universally terrible at memory management. This is why modern languages, like Java, automate it.
Apple has made a bit deal that the iPhone 5s is a 64 bit CPU, and is making a big deal about iOS version 7. I'm having a hard time seeing how 64 bit CPUs are all that valuable in an embedded world with manual memory management. Its hard enough to manage a few megabytes of memory, let alone over 4 gigabytes.
I've not seen any in depth, professional programmer info on this new cpu/os. Have they finally implemented the usual OS-X memory management on iOS?