Slashdot Mirror


Beginning iPhone Development

Cory Foy writes "When my wife got a Touch several months back, the first thing I wanted to do was build some applications for it. Who wouldn't want to play with a device that has accelerometers, position sensors and multi-touch gestures? But being new to the Mac world, I needed something to help guide me along. Beginning iPhone Development aims to be that guide. But does it live up to the challenge of teaching a newbie Mac and iPhone developer?" Read below for the rest of Cory's review. Beginning iPhone Development: Exploring the iPhone SDK author Dave Mark, Jeff LaMarche pages 536 publisher Apress rating Five $1000 Rubies reviewer Cory Foy ISBN 978-1-4302-1626-1 summary A great introduction to the iPhone SDK and getting into iPhone Development The first thing you'll need to do is head over to the Apple Developers Site and register for an account. You can then download the iPhone API. Note that while the API download and simulator are free — deploying to a real iPhone or iTouch is not, even if it is your own. To do that you have to apply to the iPhone Developer Program which is $99. For the book, you'll be fine with just the simulator with the exception of any accelerometer application, since the simulator doesn't have that feature.

With that out of the way, I was quite impressed with the book. Although I've done quite a bit of development in the past, I haven't worked with Objective-C before, and was a little concerned if I would be in over my head. If you are in that position, don't fear — the authors do a great job of walking you through, and you'll find yourself working with it in no time.

The first chapters introduce you to the basics of the iPhone and development, starting with the canonical "Hello, World" application. The book walks you through how to get and install Xcode and the iPhone API. It then introduces you to Interface Builder, the partner-in-crime to Xcode. Even in the first chapter, the authors show their attention to detail, explaining common issues you might run into (like trying to Build and Run while your iPhone or iTouch is plugged in to your Mac).

Chapter 3 introduces the Model-View-Controller paradigm, a pattern that is probably one of the most misunderstood patterns in UI development. They give you enough information to be familiar with the terms you'll be using, and they very much mean it when they tell you not to worry if you aren't understanding something — they always loop back around to make sure you understand it.

Chapter 4 was a long chapter for me, but introduces some important concepts around user interaction and controls. By the end, you have an interface which has a variety of controls which interact with each other. As with the other chapters, the authors introduce tips and tricks to make things easier (for example, Option->Cmd->Up Arrow to switch from the header to implementation file in Xcode).

Chapter 5 covers autorotation and basic animations, including linking in the Core Graphics Framework. I especially like how the authors gave three different ways of making your app auto-rotation aware, describing the benefits and drawbacks of each. Chapter 6 follows this up by introducing multi-view interfaces, something very necessary as you get into more complex iPhone development.

Chapters 7-9 describe various methods to presenting information to users, including toolbars, table views, hierarchical navigation and hierarchical lists. However, it isn't all drag-n-drop, the authors get into some good (and sometimes deep) conversations about what you are doing. For example, in Chapter 8, they talk about issues with NSDictionary and how to create deep mutable copies.

Chapters 10-13 are the last of the "fundamentals" — application settings, basic data management, custom drawing using Quartz and Open GL, and taking inputs (including gestures and multi-touch). As someone who spends most of his time as far away from graphics libraries as possible, I was quite impressed with the basics that were introduced and what someone like me could get up and running.

Finally we get into the fun. Chapter 14 introduces Core Location, allowing to figure out where in the world you are. The book goes through a discussion about the various ways to get location information, and drawbacks of each. (Helpful tip: no matter which method, if you are polling every second, you'll drain the battery pretty quickly). For the simulator-only users, this is when things start to become tricky. Chapter 14 does work, though you aren't prompted for access to Core Location.

Chapter 15, however, is useless without an actual phone, even though it's perhaps the most fun. In this chapter, the book goes through the accelerometer and all the interesting things you can do with it. There's even a small discussion on the physics (but just enough!). Both apps you create (Shake and Break and the Marble game) are quite fun for someone just starting out with all of this. It's a shame Apple couldn't figure out a way yet to include the accelerometer in the simulator.

Chapter 16 covers using the iPhone camera and Photo Library. It's short, but it shows the power of the simple interfaces Apple provides. In just 9 pages you'll be capturing images right from the iPhone.

The final two chapters I thought were quite fitting — Localization and Follow-Ups. In the localization chapter, the book covers extracting strings out to resource files and using locale to read them in. Having a day job which ships our software in 12 different languages, I know first-hand how difficult localization can be to get right, so I was glad to see this chapter. The final chapter is just a wrap-up of resources you can reach out to for help and information.

All in all I was very surprised and pleased with the book. I've had the fortune of reading many technical books, and few do a great job of walking someone through the basics without making them feel like a dolt. It felt like every time I was stuck or unsure there was a tip, hint or paragraph which explained what was going on.

The main drawback to me is the fee to deploy apps to your own phone. This wasn't something I ran into doing either J2ME or Windows Mobile apps in the past, and it is a shame that to even work on your own phone you have to pay a fee. However, since the fee does give you the ability to submit apps to the App Store, then I guess it's a consolation. I'd rather Apple lock deployments to one iPhone (or iTouch) for the truly casual people who just want to do interesting things on their own phone.

In summary, I give this book five $1000 Rubys for making a clean, concise, easy-to-read and follow introduction to iPhone development. Great job guys!

You can purchase Beginning iPhone Development: Exploring the iPhone SDK from amazon.com. Slashdot welcomes readers' book reviews — to see your own review here, read the book review guidelines, then visit the submission page.

216 comments

  1. iTouch what? by Anonymous Coward · · Score: 2, Funny

    What the hell is an iTouch? Sounds like something from a sex store.

    1. Re:iTouch what? by Sledgy · · Score: 2, Funny

      They are a UK based company with a logo that the designer obviously didn't think carefully about... http://www.itouch.co.uk/

      A company I used to work for was acquired by them.

  2. Objective-C, not too bad... by jDeepbeep · · Score: 5, Informative

    If you have a background in both C/C++, and in OOP. Otherwise, I'd suggest getting a little background in those first. I think it's slightly misleading to imply that this book is the best hand-holder in this regards.

    --
    Reply to That ||
    1. Re:Objective-C, not too bad... by Anonymous Coward · · Score: 1, Informative

      I would recommend Cocoa Programming for Mac OS X for a good introduction to Cocoa and Objective-C. No-referral Amazon link.

    2. Re:Objective-C, not too bad... by ciaohound · · Score: 1, Funny

      Best hand-holder? He gave his wife an iTouch. They're beyond hand-holding, know what I mean, know what I mean, nudge nudge, say no more?

      --
      Oh, yeah, it's not easy to pad these out to 120 characters.
    3. Re:Objective-C, not too bad... by glennrrr · · Score: 1

      I do not see the point in learning C++ first. It will take a long time, and you'll just have to unlearn it anyway. Why would you learn the more complicated language first?

      I've coded a fair amount in both languages: in fact I coded in both languages before breakfast this morning, and I cannot imagine thinking that it was easier to learn C++. I've been paid to write C++ for 12 years and template notation still confuses me.

    4. Re:Objective-C, not too bad... by jupo · · Score: 1, Interesting

      Ars recently posted a short write-up on using C# and Mono to develop for the iPhone.

      --
      Me I'm a maker, mostly of axioms.
    5. Re:Objective-C, not too bad... by Anonymous Coward · · Score: 0

      NOTE: Despite what the AC says, the Amazon link in the above posting is a referral link.

    6. Re:Objective-C, not too bad... by cadience · · Score: 2, Informative

      To keep in vein of this thread, here's another book by this same publisher: Learn Objective-C on the Mac http://www.amazon.com/Learn-Objective-ndash-C-Mac/dp/1430218150/ref=pd_bbs_sr_2?ie=UTF8&s=books&qid=1232417589&sr=8-2 It has received relatively good reviews on Amazon.

    7. Re:Objective-C, not too bad... by jdray · · Score: 1

      That was a good article for me. I have the iPhone Dev Kit, have signed up for the developer program and paid my fee, and purchased the book reviewed above. Unfortunately, having not done any Mac development before, and not really getting Objective-C at all, it's been rough getting started. But I'm a passable C# programmer, and may just switch my efforts to Mono. I don't expect to develop anything that requires "to-the-metal" performance, so if the Mono business causes a little loss in performance, so be it.

      --
      The Spoon
      Updated 6/28/2011
  3. why?? by Anonymous Coward · · Score: 1, Insightful

    why should i pay to develop for a device that is already overpriced?
    and in a language that no one else use?

    J2ME tools are free, and you wont get censured by AppStore...

    1. Re:why?? by Anonymous Coward · · Score: 1, Funny

      agree, this is just plain stupid. maybe apple doesnt want any third-party developers?

    2. Re:why?? by DurendalMac · · Score: 2, Informative

      It might have something to do with the iPhone market being insanely lucrative if you play your cards right. Just a hunch. J2ME doesn't run on the iPhone.

      I'm wondering if this is just a few ACs trolling the hell out of the place.

    3. Re:why?? by oldspewey · · Score: 1

      J2ME doesn't run on the iPhone

      That would be one cold, cold day in hell wouldn't it?

      --
      If libertarians are so opposed to effective government, why don't they all move to Somalia?
    4. Re:why?? by kelnos · · Score: 1

      $200 is overpriced for a smartphone? Really?

      --
      Xfce: Lighter than some, heavier than others. Just right.
  4. Your wife rang me up on my iPhone by Anonymous Coward · · Score: 0, Funny

    we got together, iTouched her a little, and then iGave her a good rogering

  5. stop stop stop by Anonymous Coward · · Score: 1, Informative

    Saying "iTouch", you fucking toolbox. It's an "iPod Touch". How difficult is that?

    1. Re:stop stop stop by Anpheus · · Score: 4, Funny

      Dear Apple Legal,

      We don't care.

      Signed,
      Your Consumers

    2. Re:stop stop stop by Anonymous Coward · · Score: 0

      I think you're wrong.

      It is iTouch, and if you don't stop it, you'll go blind.

    3. Re:stop stop stop by Anonymous Coward · · Score: 0

      He doesn't even say "iTouch". He refers to it as "an Touch" (sic). I don't know if it's the submitter's fault or the editors, but they should both "an Hero" for crap grammar.

  6. No extra costs! by Anonymous Coward · · Score: 0

    Yep. Just get this book (*coughs*and buy the required Mac to develop on the iPhone*coughs*) and you're good to go!

  7. The actual programming is easy by Anonymous Coward · · Score: 1, Informative

    Programming the device is rather simple, going through all the Apple hoops just to put the app on your device or deploy it is far
    more difficult. In fact if you start the developer sign up process and your application programming on the same day it is highly likely
    that your app will be ready way before Apple gives you the go ahead to pay them $100 for the opportunity to program for it.

    1. Re:The actual programming is easy by larry+bagina · · Score: 2, Informative

      Only if you can get your app finished in under 1 hour, 46 minutes. That's how long it took when I signed up for the developer program 5 months ago.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    2. Re:The actual programming is easy by Anonymous Coward · · Score: 1, Interesting

      Lucky you. We got our certificate after 4 months and 2 weeks. SURE. No, REALLY! No kidding.

      And btw, our game was almost finished.

    3. Re:The actual programming is easy by DrgnDancer · · Score: 1

      Did you sign up when the Dev kit first became available? As I understand it Apple only let in a small percentage of the people who initially signed up to download a dev kit until the App Store went live. Basically you had to either be a big name developer (Sega), prove that you had a working app ready for launch day, or be one of the first like 1000 people to sign up. Everyone else was put off until a day or two after the store launched. I got the dev kit maybe a day or two after it was released and I wasn't give my certification until a few days after App Store launched. Since then they've supposedly been very quick on the turn around. Since I've been lazy and STILL haven't finished an app, it wasn't really that big a deal. As I understand it, had you contacted them and told them you had an app ready, they'd have made sure you were online for launch day.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
  8. What's an iTouch? by Anonymous Coward · · Score: 0, Redundant

    What's an iTouch?

  9. iTouch? by Anonymous Coward · · Score: 0, Redundant

    It's an iPod Touch, you insensitive clod!

    1. Re:iTouch? by Anonymous Coward · · Score: 0
    2. Re:iTouch? by Facegarden · · Score: 2, Insightful

      Erm... I call it an iTouch. It's a good name (if it wasn't already in use I'm sure apple would have used it). I and my friends have no use for the services of the company called iTouch, so we aren't going to get confused for any reason. I know iTouch is technically incorrect, but contrary to the AC that posted before me in response to this, I'm not a "moron", i just like the name iTouch better, and everyone still knows what I'm talking about.
      -Taylor

      --
      Worldwide Military budgets: $2100 billion. Worldwide Space Exploration budgets: $38 billion. Really, world? Really?
    3. Re:iTouch? by dangitman · · Score: 0, Troll

      Erm... I call it an iTouch. It's a good name

      No. No, it absolutely is not.

      (if it wasn't already in use I'm sure apple would have used it)

      No. I'm absolutely sure they wouldn't have.

      --
      ... and then they built the supercollider.
  10. Code-Signing by Yokaze · · Score: 2, Informative

    > Note that while the API download and simulator are free â" deploying to a real iPhone or iTouch is not, even if it is your own.

    Not necessarily true. There are ways to circument the code-signing.

    --
    "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    1. Re:Code-Signing by kipton · · Score: 1

      It seems like this method requires jailbreaking. Here's another reference.

    2. Re:Code-Signing by dangitman · · Score: 1, Funny

      There are ways to circument [246tnt.com] the code-signing.

      Apparently, there are also ways to circumvent the letter "v".

      --
      ... and then they built the supercollider.
    3. Re:Code-Signing by Jawdy · · Score: 1

      I used the keychain in Mac OS X to create a code-signing certificate. That lets me finish and compile to the ASM version (rather than the x86 version for the simulator).
      From the instructions that I followed (can't find the link right now, sorry :( ) you can get the certificate authorised on the device and then get the apps on the iPhone through XCode.
      All that said though, I don't have an iPhone and simply mail the .app builds to my tester who has a device - jailbroken, I think.

      All this because I've not been contacted yet about my actual development program application!

  11. iTouch? by whisper_jeff · · Score: 0, Redundant

    What is this iTouch of which you speak? It sounds like something ... interesting. Or do you mean iPod Touch, which is also interesting but in a far less sexually suggestive way? (Being a smartass aside, if you're going to develop for it, you might want to make sure you call it by the correct name. Ok, that's still being a smartass...)

  12. Re:pfft by jDeepbeep · · Score: 2, Funny

    There is nothing sacred about a simple 'Hello World' application.

    I was told by my first C instructor that if we didn't do a Hello, World! application first, we would be thrown to the lowest depths of programming hell. I had no interest in taking such a risk at the time.

    --
    Reply to That ||
  13. Who Wouldn't Want To Devote Their Efforts? by Anonymous Coward · · Score: 0, Troll

    On iPhone development?

    What could possibly be a better use of a engineer's efforts than:

    * Going out and buying an overpriced Mac that is useless for anything other than running the Apple devtools

    * Having to waste time hooking up monitor and keyboard switches to your work environment just for the Mac hardware

    * Wasting time learning Objective C that no other company uses except Apple

    * Having your application be at the total whim of Apple who could at any moment or for any reason decide to reject your app or pull your app from the Apple store

    Android will have rapidly taken over most of the existing Windows Mobile range of devices just looking at the public release list of Android based phones for 2009. And Palm's Pre is now the gold standard for high end phones.

    Apple got lucky with Microsoft completely botching their phone efforts and arriving at a time before Android and Palm's efforts. The iPhone is nothing more than an irrelevant and overpriced niche product. Even more so now that Jobs is out of the picture and Apple can no longer leverage the Cult of Jobs in the media for massive hype, promotion, and marketing for their products.

    1. Re:Who Wouldn't Want To Devote Their Efforts? by EvilIntelligence · · Score: 3, Insightful
      Your rant runs out of steam very quickly:

      * Going out and buying an overpriced Mac that is useless for anything other than running the Apple devtools

      You can build a cheap Intel box out of spare parts and run a hacked copy of Mac OS X on it.

      * Having to waste time hooking up monitor and keyboard switches to your work environment just for the Mac hardware

      See my comment above.

      * Wasting time learning Objective C that no other company uses except Apple

      If someone's only goal is to write for Apple, and that's the world they live in, then that is a viable option to them. If its not for you, go about your life and leave them alone. They will live or die with their platform of choice.

      * Having your application be at the total whim of Apple who could at any moment or for any reason decide to reject your app or pull your app from the Apple store

      This comes down to a business decision. If you are a company (even if you're just an individual developer), you have to realize that the App Store is a distribution channel, and Apple is your distribution partner. You have to play well together. Bear in mind that they are not the only smart phone around, and the agreement is non-exclusive. There is nothing stopping you from offering your same app to other distribution channels.

      Android will have rapidly taken over most of the existing Windows Mobile range of devices just looking at the public release list of Android based phones for 2009. And Palm's Pre is now the gold standard for high end phones.

      This is pure speculation. If I was an investor, I would not dump my life savings into Android, or any single product platform.

      Apple got lucky with Microsoft completely botching their phone efforts and arriving at a time before Android and Palm's efforts.

      This issue is moot. Microsoft completely botches everything they do other than contract other companies to build video games for X-Box.

      The iPhone is nothing more than an irrelevant and overpriced niche product.

      I disagree completely. The "smart phone" movement was dead before the iPhone, because companies were complacent to put out products that people were willing to tolerate. Once iPhone came out, all the big players kicked their game into high gear. You think we would see the Palm Pre or the Blackberry Storm this year if it wasn't for iPhone? Like it or not, iPhone raised the standard for what a smart phone should be, and now everybody is going to look like they are chasing them.

      Even more so now that Jobs is out of the picture and Apple can no longer leverage the Cult of Jobs in the media for massive hype, promotion, and marketing for their products.

      There is some truth to that. But now this will be the test for Apple. Can they sell products based on their own merits? Or do they need that messiah? Time will tell.

    2. Re:Who Wouldn't Want To Devote Their Efforts? by jeremyp · · Score: 2, Insightful

      What could possibly be a better use of a engineer's efforts than: * Going out and buying an overpriced Mac that is useless for anything other than running the Apple devtools

      Actually, you can do all sorts of things with a Mac - it's a general purpose computer.

      * Wasting time learning Objective C that no other company uses except Apple

      It's not a waste of time if you can make some money out of the apps you write with it.

      * Having your application be at the total whim of Apple who could at any moment or for any reason decide to reject your app or pull your app from the Apple store

      According to Apple there are 15,000 apps in the Appstore at the moment. So it's obviously not that hard to get your application accepted, particularly when you look at the quality of some of them.

      The bottom line for a developer thinking about investing in the tools necessary to do iPhone development is whether they can make money out of it. From that perspective, as long as the iPhone (and iPod Touch) have significant market share, there will be people willing to put the investment in to develop apps for them. I don't see that market share disappearing any time soon. Out there in the real world people like shiny devices, they don't care about the technical merits of the underlying operating system. They don't care about the restrictions the Apple Appstore places on developers, they just download hundreds of apps because it is so easy to do.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    3. Re:Who Wouldn't Want To Devote Their Efforts? by Hazelnut · · Score: 1
      "You can build a cheap Intel box out of spare parts and run a hacked copy of Mac OS X on it."

      You can? Care to give a link to some instructions from someone that's done it? See, I tried to do this about 6 months back. Managed to get OSX installed in a partition on my PC multibooting with XP & ubuntu, but as soon as I installed the iPhone dev kit the mouse stopped working. I can boot it and use the keyboard, but I can't seem to find any evidence that the dev kit was installed, although I've never used OSX before this so I'm not very familiar with the key shortcuts.

    4. Re:Who Wouldn't Want To Devote Their Efforts? by Fulg · · Score: 1

      Have a look at the InsanelyMac forums, all the info is there. Unfortunately the signal to noise ratio is quite low, but you can generally find what you're looking for. I have to say though, if you're not willing to invest a good chunk of time setting up your Hackintosh, don't bother. If you thought running Linux was hard, you ain't seen nothing yet ;)

      Another hint (assuming you really want to do it), consider dedicating a whole drive to OSX instead of a single partition; you avoid many problems and it's safer too.

      --
      gcc: no input sig
    5. Re:Who Wouldn't Want To Devote Their Efforts? by Hazelnut · · Score: 1

      Thanks for the reply Fulg, as I said I did get OSX up and running. It just broke when I tried to install the dev tools. Having invested a lot of time already, I gave up and I'll not be attempting it again unless there's a step by step guide including the dev tools. I did try using a dedicated drive but the biggest spare I had was 8Gb which wasn't enough.

    6. Re:Who Wouldn't Want To Devote Their Efforts? by EvilIntelligence · · Score: 1

      Sounds like you gave up too easily.

    7. Re:Who Wouldn't Want To Devote Their Efforts? by Hazelnut · · Score: 1

      Well maybe I did, but I was working overtime at work, decorating the house most weekends & evenings and have a wife and three kids to attend to - so my lame excuse is time... I just couldn't justify any more time on it. I think I spent 30+ hours or thereabouts. So, got a step by step link? ;-)

    8. Re:Who Wouldn't Want To Devote Their Efforts? by EvilIntelligence · · Score: 1

      Excuses. Nothing more than excuses. If you really, really wanted to get it working, you would find a way. How important is it to you? The link you are looking for is on Google. Search for it.

    9. Re:Who Wouldn't Want To Devote Their Efforts? by Hazelnut · · Score: 1
      Heh, pretty much I guess, although I think of it more as priorities. You're quite correct that if I really wanted to get it working I would - never had anything beat me when I was determined. (just like any self respecting geek)

      I was just looking for an easy step by step link because it's not important enough to me to prioritise over all the other stuff I have to do. At least I know it is possible, and maybe I'll find the time someday.

      Cheers.

  14. Re:iPhone development. by Anonymous Coward · · Score: 0, Troll

    Really? I always hated MacOS and everything Apple stood for, but you've convinced me otherwise, where do I sign up?!

  15. The Machine Spirit by Anonymous Coward · · Score: 1, Insightful

    The standard Hello World is the beginning of every rite to praising the machine spirit.

    ---------

    Oh good God this is getting posted Anon

  16. Flamebait? by djupedal · · Score: 0, Offtopic

    Oh, that's right... Somewhere a High School report writing lab is still open and those two individuals have mod points.

  17. iTouch U by ElBorba · · Score: 0, Troll

    I feel as though I just wasted an additional entire minute and a half re-reading this review for content...
    It appears as though this is a "review" of a book about iTouch software development.
    iWouldn't eRead this rEview.

    --
    "The Borba"
  18. API? by mr_da3m0n · · Score: 2, Funny

    You can then download the iPhone API

    I was under the impression that this was called a SDK, and not an API?

    Then again, maybe I am just being Lord Pedantro the Quarrelsome.

  19. Re:The C Programming Disease by Anonymous Coward · · Score: 0

    yea, cause using a language like java, python, or any oo really makes sense on a microcontroller or any other embedded device that isnt basically a full fledged pc, e.g. the iphone. Ya know some people do still need to talk to hardware directly and handle interrupts. Its not like this whole segment of the market is very small either. C will be around for a long time because it is the best solution for small embedded projects.

  20. First Step by slashkitty · · Score: 5, Informative

    I thought the first step was getting a Mac, then you can get the sdk. It's actually a pretty high barrier to entry for a developer.

    --
    -- these are only opinions and they might not be mine.
    1. Re:First Step by Anonymous Coward · · Score: 1, Informative

      Owning a mac is the first part, then you need the phone, apply to pay apple $100 and if they say yes you can pay then wait some more then
      you can finally get something running on your device. Deploying it to the app store will take you another month in frustration waiting for
      approval.

    2. Re:First Step by shmlco · · Score: 4, Insightful

      As opposed to developing for Windows Mobile, where one can create applications just by thinking them into existence? Oh wait, I have to buy a PC to do WM development! Bummer.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    3. Re:First Step by supernova_hq · · Score: 1

      Or just buy a Linux mobile device and write everything in just about any language.

      I have an N810 and I can write applications in c, c++, python, shell scripts, assembling or fucking BINARY for that matter!

      It's time for mobile companies to stop trying to control hardware they have already sold. Would you buy a car if you knew that you were forbidden from changing the engine or using a no-name-brand oil???

    4. Re:First Step by Belial6 · · Score: 5, Insightful

      Given that there is a greater than 90% chance that a person wanting to jump into Windows Mobile development will already have a machine capable of doing the development, and a less than 10% chance that a person wanting to jump into iPhone development will already have a Mac capable of doing the development means that the OP has a very valid point.

    5. Re:First Step by MMInterface · · Score: 1

      "Oh wait, I have to buy a PC to do WM development! Bummer."

      Is there something about Bootcamp that prevents you from doing WM development on a Mac?

      That being said, he never said or really implied that WM development would be different. He was just commenting on the topic.

    6. Re:First Step by ckaminski · · Score: 1

      I'm thinking about getting an N810. I have a Treo 700p and find the keypad JUST RIGHT... I'm concerned the N810 will be a bit much for my fat fingers... any input?

    7. Re:First Step by cabjf · · Score: 4, Insightful

      What an apt analogy. How many people buying cars buy them to change anything (or even care what kind of oil is put in them).

      I think the big disconnect between the average open source, linux geek and the general public is that the general public likes treating computers and computer based products as appliances that just work.

      The whole walled garden approach has worked out pretty well for Apple with the iPod and iPhone. If that doesn't fit your needs though, that's fine. Just don't assume that it isn't the best choice for anyone else because of your needs or opinions.

      The difference between what Apple is doing with the iPhone and what the cell companies are doing is that Apple is attempting to provide a user focused UI. Whereas the cell companies are trying to figure out how to charge for as much as possible for anything on their network.

    8. Re:First Step by dangitman · · Score: 1

      Given that there is a greater than 90% chance that a person wanting to jump into Windows Mobile development will already have a machine capable of doing the development, and a less than 10% chance that a person wanting to jump into iPhone development will already have a Mac capable of doing the development means that the OP has a very valid point.

      Sorry, you're not being logical here. I very much doubt that those specific groups of developers have computer ownership patterns that match the general population's. Also, buying a new computer is a very different sort of "barrier" to a developer than the general populace - the kind of barrier that might be called an "incentive" or an "excuse".

      --
      ... and then they built the supercollider.
    9. Re:First Step by Belial6 · · Score: 0, Flamebait

      Your right, the kind of person who is seriously going to do development is 99.99% likely to have a computer that can do WM development and a 0.001% chance of owning a Mac.

    10. Re:First Step by nawcom · · Score: 1

      Yes, you have to buy Windows.

    11. Re:First Step by BitZtream · · Score: 1

      Theres probably a 90% chance that any machine capable of developing a vista app is probably more than capable of running OS X well enough to develop an iPhone app, assuming you don't mind futzing with OS X enough to get it to boot on your pc (which may be as simple as downloading an install image for most people now days).

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    12. Re:First Step by Anonymous Coward · · Score: 0

      Have you seen how much money many of these developers are making? The investment is worth it of you're serious.

    13. Re:First Step by lurker-11 · · Score: 1

      As I've said here before, no, you don't need Microsoft Windows to develop (near-) native applications for Windows Mobile. You can do so with Mono on Linux (or FreeBSD, or Mac OS X...) by copying the .NET Compact Framework DLLs off of the WM device and pointing the Mono compiler to them.

    14. Re:First Step by Yosho · · Score: 1

      As opposed to developing for Windows Mobile, where one can create applications just by thinking them into existence? Oh wait, I have to buy a PC to do WM development! Bummer.

      On top of that, you have to purchase at least the Professional version of Visual Studio. The WM SDK won't work with the free Express versions. Qt might seem like a viable option, since it can target Windows Mobile, except that it requires the WM SDK to be installed, so you still need VS Pro.

      --
      Karma: Terrifying (mostly affected by atrocities you've committed)
    15. Re:First Step by mgblst · · Score: 1

      You don't work with stats regularly, or you would realise how wrong you are.

      Or do you think that there is exactly the same chance of a developer for Windows getting into iPhone development, as it is for a Mac Developer? Or do you think it is more likely that a Mac Developer, who already knows objective-c, Xcode, Quartz, mac development, would get into iphone? Since it would take a few hours for a Mac Developer to produce an iphone app, I think that they would be much more likely.

    16. Re:First Step by NilObject · · Score: 2, Insightful

      10% chance?

      Since when were computers randomly distributed among people?

    17. Re:First Step by shmlco · · Score: 1

      "Given that there is a greater than 90% chance that a person wanting to jump into Windows Mobile development will already have a machine capable of doing the development..."

      Actually, you're correct that I already own a machine that can do Windows Mobile development. It's a 24" iMac that runs XP under Parallels.

      And given that much "development" these days is for the web, you might be surprised at the number of developers who own Macs vs. Windows boxes. The 90% number is the general population as a whole, and has as a base quite a few Windows machines sitting on desks at work. Try visiting a college library these days.

      Regardless, no matter what you do, you're going to need the tools for the job. Try being a commercial photographer these days without a $50,000 camera system with a 40MP digital back. $1,200 for a MacBook is one of the lowest barriers to entry of any new business out there.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    18. Re:First Step by supernova_hq · · Score: 1

      Whereas the cell companies are trying to figure out how to charge for as much as possible for anything on their network.

      And Apple isn't? They signed an exclusivity agreement with AT&T, then added code to their devices to enforce it. They also require $100 to develop software (even if you don't release it), then take 30% from EVERY sale on the store.

      Face it, Apple is just as bad as the companies who run the networks that their phones run on.

    19. Re:First Step by object88 · · Score: 2, Funny

      His right, indeed. And what to the other 0.009% own, in your estimation?

    20. Re:First Step by supernova_hq · · Score: 1

      They keyboard is a little small, but unless you are writing multi-page document with it, it works fine. I use mine for SSH, E-Mail and the Web (when my laptop is in my bag).

      There are also 2 (read that Apple, TWO) on screen keyboards to chose from. One is 1/3 the screen, the other is full-screen (with a text-box in the top-left corner).

      As for the physical keyboard, it is VERY handy (I use it 80% of the time). I can "almost" touch-type on it, but I find I end up using only my index through middle-finger (3 per hand), instead of all five. Then again, unless it's sitting on a table, you are typing with your thumbs anyways (you need to hold it up with your hands).

    21. Re:First Step by daybot · · Score: 1

      then you need the phone

      Obviously it would be better to have the phone, or an iPod Touch, but the SDK does come with an iPhone emulator. It's not essential to have the device.

    22. Re:First Step by Anonymous Coward · · Score: 0

      you don't need a mac. you can run an OSX vm.

    23. Re:First Step by speedingant · · Score: 1

      Bad analogy if your car is under warranty. But let me explain why your concept is slightly flawed.

      If you wanted to make a free application to all, you would probably go the cheapest route. Unless you have lots of money, which in that case you don't mind putting down a couple of grand for a decent computer running a decent OS plus having a decent phone.

      If you wanted to make money, what better ways to promote your application to masses are there? They pay for the bandwidth, they give you a top quality environment to code in, and they market your application. It's not all that bad..

      I can see your point, but at least Apple is controlling the iPhone and its development in a good way. It's win win in almost all circumstances.

    24. Re:First Step by wurp · · Score: 1

      Well, I just built an iPhone app (http://www.pharceapp.com) and I had to buy a MacBook Pro to do it.

      I agree there's a correlation between people using Macs and people writing code for iPhones, but it's nowhere near 100%.

    25. Re:First Step by vikstar · · Score: 1

      I wonder if the latest news items about the "kids" making $40k in two days for iFart and $100k in a couple of months for iSteam isn't just Apple propaganda so that devs fork out for macs.

      --
      The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
    26. Re:First Step by lordSaurontheGreat · · Score: 2, Insightful

      It was a five-year exclusivity contract in order to get the phone out the door. Carriers are notorious for refusing to put phones on their network unless there's something in it for them. Remember the Razr craze a few years ago? It's was exclusive to Cingular for the first year and a half or so. Then they started unlocking them, and now you can get them on Verizon and AT&T, etc.

      It's because the cellphone service market is a sad oligopolis. Your carrier doesn't give a damn about the quality of their service as long as they can spam the television with propaganda commercials claiming they're better than the other guy. AT&T has better coverage in Europe, from what I hear.

      Requiring money for an SDK isn't really that big a crime. Microsoft requires a large sum of money for their best SDKs and IDEs. Nintendo demands about $300 or so for an SDK license.

      Requiring a sum of money to gain access to the app store isn't that bad, either. Requiring a cut of the money isn't terribly horrible. What, would you honestly rather buy and maintain your own servers to host that content? What if someone Slashdots your app? What if it gets put in the top ten list? How will you connect your billing to a bank? Do you really want to pay $100 a month for an SSL certificate, or do you want to ignore that and let people transmit their credentials without the advantage of SSL? For only 30% it's a real bargain.

      --
      Consider yourself spoken to.
    27. Re:First Step by profplump · · Score: 1

      Did I miss the part where MS Windows and/or MS Visual Studio became free? Because I own a machine that can run both, and a phone that runs Windows Mobile 6.x; if someone can tell me how to develop for that platform without spending $600+ I'd be eternally grateful.

      Even if you assume the developer already has free access to MS Windows, MS Visual Studio is not cheap by any standard for personal software development.

    28. Re:First Step by profplump · · Score: 1

      And MS Visual Studio. Unless I missed some free compiler for Windows Mobile that doesn't require the (fairly expensive) MS development platform.

    29. Re:First Step by profplump · · Score: 1

      I would honestly be *very* interested in any way to develop Windows Mobile 6.x app without buying MS Windows and MS Visual Studio. Those programs are $300 *each*, and I'm not willing to spend $600+ to develop a couple of personal-use programs.

      I would, however, be willing to paying $50 to someone who can tell me how to reliable compile Windows Mobile 6.x - ARM programs using OS X (Intel and/or PPC) native programs. Email in profile.

    30. Re:First Step by Anonymous Coward · · Score: 0

      Not if you already have a Mac. Troll.

    31. Re:First Step by Mista2 · · Score: 1

      Getting An intel mac is not that expensive. A mac mi I second had would only be a couple of hundred bucks.
      I got my 2ghz with 2gb RAM for $900 nz and that was only 6 months old. I only have to get a couple of hundred people to buy my app to recoup the cost.
      Any opensource projects for iphone? Nothing wrong with charging for libre software is there 8)

    32. Re:First Step by Mista2 · · Score: 1

      Hmm a development workstation. I guess I can run windows, OS X and linux on my mac so that makes it a better desktop than most off the shelf of for def work.

    33. Re:First Step by supernova_hq · · Score: 2, Interesting

      That's all fine and dandy if you are developing an app with a medium budget and a profit in mind. But what if you just want to make a little app that monitors your cat's position in the living room by duck-taping it to its back?

    34. Re:First Step by lordSaurontheGreat · · Score: 1

      Yer screwed, life sucks, take a number.

      --
      Consider yourself spoken to.
    35. Re:First Step by Anonymous Coward · · Score: 0

      I have an N810 and a 700P and find the N810 keyboard more comfortable to use.

    36. Re:First Step by DrgnDancer · · Score: 1

      To be fair "you had to buy a Mac". You could have bought a $500 Mac Mini, you chose to buy a MacBook Pro. Not that I disagree with your choice, I'd have gone with the more useful and powerful machine too, but you didn't HAVE to buy the expensive one.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    37. Re:First Step by Pollardito · · Score: 1

      most people use a collar with a little bell on it

    38. Re:First Step by atraintocry · · Score: 1

      They're still running BeOS.

    39. Re:First Step by Anonymous Coward · · Score: 0

      Visual Studio has a free edition:

      http://www.microsoft.com/express

      (However, I don't know if you can build phone apps.)

  21. Danger overated by Dareth · · Score: 2, Funny

    Not doing "Hello World" is no where near as dangerous as using GOTO!

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
    1. Re:Danger overated by supernova_hq · · Score: 2, Funny

      goto helloWorld

    2. Re:Danger overated by Bonobo_Unknown · · Score: 1

      I used GOTO once. It was so sweet it can only be a sin.

      --
      We don't believe in radical loony monotheistic religions from the middle east -- we're Christians.
    3. Re:Danger overated by N+Monkey · · Score: 1

      I used GOTO once. It was so sweet it can only be a sin.

      Sometimes you just have to use a GOTO because C overloads the meaning of "break".

      I had a while loop with a conditional break in the middle which was fine until I replaced the if/else construct with a switch which meant I could no longer use the break to escape the containing loop.... sigh.

    4. Re:Danger overated by tim1724 · · Score: 1

      Yeah, that's one of my biggest annoyances with C syntax. (I much prefer Perl's labelled loops, which allows the next/last/redo statements to indicate what scope should be exited.)

      --
      -- Tim Buchheim
  22. Accelerometer by Bogtha · · Score: 4, Informative

    Chapter 15, however, is useless without an actual phone, even though it's perhaps the most fun. In this chapter, the book goes through the accelerometer and all the interesting things you can do with it. There's even a small discussion on the physics (but just enough!). Both apps you create (Shake and Break and the Marble game) are quite fun for someone just starting out with all of this. It's a shame Apple couldn't figure out a way yet to include the accelerometer in the simulator.

    It's possible to link up an iPhone's accelerometer to the simulator, and it's also possible to link up the accelerometer in a MacBook to the simulator as well. More details here. Honestly, though, it's probably easier to just jailbreak your iPhone.

    --
    Bogtha Bogtha Bogtha
    1. Re:Accelerometer by Anonymous Coward · · Score: 0

      Especially since you have to submit the application to Apple after you spend a couple weeks develop it and risk it being rejected for publishing. There are much more easier platforms to develop for out in the market.

  23. Interface Builder by fragbait · · Score: 5, Interesting

    The biggest problem I've had so far is Interface Builder. It isn't the most intuitive piece of software. Dragging and dropping to connect button actions to methods between two pieces of software (XCode and Interface Builder) that don't actively sync with one another, at least not as I've yet to find.

    I already had the C/C++ and GUI/fat client app building experience from 10 years back.

    +fragbait

    1. Re:Interface Builder by Anonymous Coward · · Score: 2, Informative

      Last time I used XCode/Interface builder, a method added in XCode would show up in IB as soon as you saved the .h file that declared it.

    2. Re:Interface Builder by vurg · · Score: 0

      I have a different experience with IB. My approach is to get the UI layout done first in IB, and write the code without worrying about what is in the nib files. I just know the outlets are there. Also, when I notice I'm making lots of connections between elements and controllers, that gives me a clue that I decompose the UI further into more manageable parts.

    3. Re:Interface Builder by jrothwell97 · · Score: 1

      It's a bit bizarre at first, but you get used to it before long. The trick is to lay out the interface first, then code to it, and finally to connect everything up and hope it works.

      --
      Those using pirated Tinysoft signatures(TM) are a real threat to society and should all be thrown in jail.
    4. Re:Interface Builder by middlemen · · Score: 1

      I never use Interface Builder. It sucks. I "programmatically" do everything from adding labels, to buttons to text views to anything for that matter. It is much easier to code up than use Interface Builder. This is just my opinion though. Apple's documentation is pretty good in explaining how to code up everything.

    5. Re:Interface Builder by am+2k · · Score: 3, Informative

      Dragging and dropping to connect button actions to methods between two pieces of software (XCode and Interface Builder) that don't actively sync with one another

      Your experience is a bit outdated. Starting in Leopard, they do sync actively.

    6. Re:Interface Builder by lordSaurontheGreat · · Score: 1

      My best way of explaining IB is a technological jewel(1) peddling an esoteric connection mantra(2).

      1) loading pre-chewed GUIs from a file is fucking brilliant - coming from Java where you have to wait for ten seconds for a layout engine to recompute everything is a real drag

      2) dragging and dropping connections is incredibly strange to me. On the one hand, it's far more efficient than the Java way of manually typing in all the action events and implementing them (either in anonymous classes or in their own little files). Yet again... it uses the mouse! how could that possibly be reliable?

      --
      Consider yourself spoken to.
    7. Re:Interface Builder by MouseR · · Score: 1

      They do sync up. Magically. In both directions.

      If you have your XCode project open and your XIB (Interface builder) files open, editing outlets in the header files will automatically update the models in IB. you can then proceed in connecting said outlets. Alternatively you can insert outlets (or actions) in the XIB files and it will insert said elements into your headers.

      personally, i tend to edit my headers so IB doesn't mess up my formating.

  24. A hundred bucks? by gandhi_2 · · Score: 0, Troll
    If you have to pay a corporation a single dollar for the permission to program, you are doing it wrong. How does Apple get a free pass for this kind of shit?

    Note that while the API download and simulator are free â" deploying to a real iPhone or iTouch is not, even if it is your own. To do that you have to apply to the iPhone Developer Program which is $99.

    1. Re:A hundred bucks? by Anonymous Coward · · Score: 0

      Think of it this way.... For $99 you get to present your app to everyone else's iPhone. They just threw yours in it for free.

    2. Re:A hundred bucks? by Anonymous Coward · · Score: 0

      Just because Steve allowed you to pay for an iPhone and you developed the software for it doesn't mean you have the right to use your software on Steves iPhone.

    3. Re:A hundred bucks? by Ephemeriis · · Score: 3, Informative

      If you have to pay a corporation a single dollar for the permission to program, you are doing it wrong. How does Apple get a free pass for this kind of shit?

      Note that while the API download and simulator are free â" deploying to a real iPhone or iTouch is not, even if it is your own. To do that you have to apply to the iPhone Developer Program which is $99.

      You don't have to pay a single cent to program. You have to register... But the SDK is completely free. Anyone can download it.

      What you do have to pay for is distributing your software to live hardware. Apple uses code signing much like you see on consoles like the Xbox and PlayStation. If you aren't worried about distributing to other people you can always just jailbreak your device... Then you don't even have to pay for the code signing.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    4. Re:A hundred bucks? by Anonymous Coward · · Score: 0

      ...because not everyone agrees with Kind Richard. ...because they make specific products and a computer experience that some users/developers want and are willing to pay for it.

      you can continue to disagree with the cult of apple, but how long can slashdots keep pretending we don't "get it" ??

    5. Re:A hundred bucks? by mikael_j · · Score: 1

      You can do limited ad-hoc distribution, you can distribute the source code or you can choose to pay them $99 to use the app store. Not ideal but a lot better than how a lot of people think it is.

      /Mikael

      --
      Greylisting is to SMTP as NAT is to IPv4
    6. Re:A hundred bucks? by 2short · · Score: 1

      "You can do limited ad-hoc distribution"

      It is my understanding that you are wrong. Can you provide any sort of citation?

    7. Re:A hundred bucks? by mikael_j · · Score: 1

      Try using Google, "iphone ad-hoc distribution" should give you all the info you need.

      /Mikael

      --
      Greylisting is to SMTP as NAT is to IPv4
    8. Re:A hundred bucks? by dangitman · · Score: 1

      Oh noes! Something costs $99... the horror! You may want to look up something called "capitalism".

      --
      ... and then they built the supercollider.
    9. Re:A hundred bucks? by 2short · · Score: 1

      Are you just trolling? I mean, I was genuinely interested when I asked for a citation at first, but I googled that and read the top few hits, so now I'm annoyed at you for wasting my time. According to those top few hits, you are definitely wrong.

      "ad-hoc distribution" apparently lets one beta test on up to 100 (pre-identified) iPhones, instead of just one. As widely understood (by everyone but you) you still can't put code on your own iPhone without paying $99, nor can you give someone code without involving Apple.

    10. Re:A hundred bucks? by emj · · Score: 1

      "limited" was the important part, it's easy to be too optimistic somtimes, doesn't make it trolling. :-)

      Perhaps you wanted some way to distribute/sell outside the controll of Apple?

    11. Re:A hundred bucks? by 2short · · Score: 1


      The original poster (ghandi_2) bemoaned the inability to put code on his own device without paying Apple more money. mikael_j claimed this was actually possible - specifically describing ad hoc distribution as an alternative to paying the $99. That surprised me, so I asked for a reference. His response: "Try using Google". I did. He's wrong. Saying that without having done it yourself: Troll.

    12. Re:A hundred bucks? by Anonymous Coward · · Score: 0

      Have you ever checked on the cost of developing for Windows Mobile?

    13. Re:A hundred bucks? by Jor-Al · · Score: 1

      Why should you have to pay 99 dollars to run an app that you wrote on your own phone?

    14. Re:A hundred bucks? by profplump · · Score: 1

      You don't need to pay $99 to run your own app. You only need to pay to run the app on non-pre-identified phones.

      I personally think you should be able to run any app for free on any phone without paying Apple anything. But let's not pretend that people developing for personal use must pay $99.

      / Or pretend that development for equivalent platforms -- like Windows Mobile -- doesn't require you to purchase $600+ in software from the platform vendor.

    15. Re:A hundred bucks? by Anonymous Coward · · Score: 0

      I bet you have owned a game console at least once in your life. If so, you've voted with your wallet in favor of just that sort of arrangement.

    16. Re:A hundred bucks? by dangitman · · Score: 1

      Why should you have to pay 99 dollars to run an app that you wrote on your own phone?

      Because if that is what the license requires, then you pay it, or don't buy it. Why do you think you are automatically entitled to the free use of software that anybody writes? It's Apple's property, you don't have to use it.

      In any case, as noted elsewhere, you don't need to pay to write your own app, you pay to distribute it to others.

      --
      ... and then they built the supercollider.
    17. Re:A hundred bucks? by DrgnDancer · · Score: 1

      Actually you do have to Pay the $99 to run it on your own pre-identified phone. You can't register a phone as a "developer" phone until you pay the "developer" fee. I paid the fee, so obviously I consider it worthwhile, but on the flip side i can see where people don't care for the arrangement. I can totally see the $99 to distribute on the app store, but it does seem like you should be able to register your phone without a fee. As you point out, it's certainly no worse than the cost of entry for WinMo development, and obviously I didn't consider it THAT big of a deal or I'd not have paid, but I can see where people don't like it.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
  25. Re:The C Programming Disease by SwedishPenguin · · Score: 4, Informative

    1. The language discussed is Objective C, not C.
    2. If no one programs in languages like C, you can say goodbye to modern computing. There's no way you're going to program an operating system in Python.

  26. iTouch by linuxci · · Score: 4, Insightful

    iTouch is the name of a UK company that provides mobile content. They were around a long time before the iPod touch but lost top spot in Google to Apple despite the fact they don't make a product of that name.

    1. Re:iTouch by Anonymous Coward · · Score: 0

      It's also the name of the software for lots of logitech keyboards

    2. Re:iTouch by Anonymous Coward · · Score: 0

      Agreed. This guy doesn't even have the name of hte product right! It's an iPod touch, NOT an iTouch.

    3. Re:iTouch by Anml4ixoye · · Score: 1

      (Notice: I'm the reviewer)

      iDang it. iI'm iSorry. iI iGot iToo iCaught iUp iIn iIing iEverything.

      - iCory

    4. Re:iTouch by Sparton · · Score: 1

      Agreed. This guy doesn't even have the name of [sic] hte product right! It's an iPod touch, NOT an iTouch.

      Sadly, many people still call the damn things "iTouch". Sure, it's not really correct, but it's pseudo-accepted lingo by a lot of iPhone/iPod Touch users.

    5. Re:iTouch by MikeBabcock · · Score: 1

      I think "iTouch" makes a great brand for a baseball bat :-) Especially one designed for home security.

      --
      - Michael T. Babcock (Yes, I blog)
    6. Re:iTouch by atraintocry · · Score: 1

      They should change their name to "iTouch -Apple".

  27. iPhone SDK training by Presto+Vivace · · Score: 2, Informative

    There is a company in Reston VA that trains iPhone developers http://www.aboutobjects.com/iPhone-SDK-Course.do

  28. Picked this up three days ago. by guytoronto · · Score: 2, Informative

    Very coincidentally, I picked up this book last Friday. Downloaded the SDK, and did the first chapter (dead easy). Beyond that, the book does recommend at least a passing knowledge of Objective-C. Fortunately, I have a "Learning Objective-C" book for noobs (which I am when it comes to anything C).

  29. Re:The C Programming Disease by Anonymous Coward · · Score: 0

    and i have yet to see a single good embedded device based on java that runs as quickly or as well as any comparable product that was done in C. For the embedded space java is just not up to it at this point for either realtime apps or user interfaces. Just compare the comcast/SA/motorola set top boxes to the ones from tivo, directv, and dish. The latter are all written in C, the former in Java, and it shows in speed. The ones in C are way faster from a user perspective than the ones in Java.

  30. Apple Legal's Reply by shmlco · · Score: 1

    Dear Sir, Madam, or Troll;

    If you don't care, then you're not our customer anyway. As such...

    We don't care.

    Sincerely,

    Apple Legal

    --
    Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    1. Re:Apple Legal's Reply by Capmaster · · Score: 5, Funny

      iTouche.

    2. Re:Apple Legal's Reply by Anonymous Coward · · Score: 0

      Dear Sir, Madam, or Troll;

      If you don't care, then you're not our customer anyway. As such...

      We don't care.

      Sincerely,

      Apple Legal

      Fake! Apple Legal is not cool enough to read /. comments.

    3. Re:Apple Legal's Reply by Anonymous Coward · · Score: 0

      Oh, they care. I've gotten letters from legal departments explaining to me, the paying customer, how to correctly use the trademark name. I wish I'd kept them over the years. Framed as a set, they'd make great art.

  31. Qt Even here? by scorp1us · · Score: 1

    Does anyone know what the state of Qt is on the iPhone? I figure the core classes are ok, but does it use the same Carbon/Cocoa APIs?

    I'd love to use Qt just so I don't need to learn a whole other development platform

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:Qt Even here? by jrothwell97 · · Score: 1

      Honestly? Qt on a phone? I hate having to have it on a desktop machine, let alone potentially on my person.

      That aside, Cocoa's UI API isn't hard to learn. It's dead easy. The code goes into the method files, you declare it in the header files, you point the buttons at the bit of code to execute using a point-and-click interface. And it's less of a pain than Qt.

      --
      Those using pirated Tinysoft signatures(TM) are a real threat to society and should all be thrown in jail.
    2. Re:Qt Even here? by BerntB · · Score: 1

      You don't want to see Qt on a phone?

      Please don't Google for the words: Qt Nokia :-)

      --
      Karma: Excellent (My Karma? I wish...:-( )
    3. Re:Qt Even here? by Anonymous Coward · · Score: 0

      Yeah, good example dipshit.

      Way to make his point.

  32. Re:The C Programming Disease by IamTheRealMike · · Score: 4, Interesting

    Unfortunately Objective-C is designed such that it combines the worst parts of C with the worst parts of dynamic languages, so your point doesn't really hold. Method dispatch is all dynamic, and in the best case seems to be twice as slow as a C++ vcall. But it only gets that speed by building runtime dispatch caches, ie, trading off memory against CPU. On phones memory is also very limited.

    It really is an amazingly stupid language. I am not surprised no-one except Apple uses it. This is the language that thinks it's a good idea to redefine boolean to be YES and NO.

    That sort of weird syntax quirk is not a big deal though, it's just a time-waster. The real problems start when you realize that calling a method on a NULL object doesn't crash. Instead it returns zero, another NULL or if the method returns a struct, garbage. So what would be a clean kill with a nice stack trace in any sane language in Objective-C turns into silent propagation through your code of NULL pointers and zeros, until you save state and blow away the users data.

    On the iPhone there's no garbage collection. Yes it's back to the days of ref counting, whoopie-doo. The best they have to offer is a kludge called an "auto release pool", which basically just scopes lifetime to the current GUI event. Pretty useless for anything that lasts longer than a button push. It also massively complicates exception handling due to the rules around how auto-release pools stack (yes really).

    Then there's the lack of features. No namespaces. No abstract classes. No stack allocation thus no RAII. No operator overloading. No generics, really no type safety at all (calling a non-existant method is a warning not an error). Your code is trivial to decompile. And of course the only really supported development environment is a Mac.

    Java might be a stupid language to use on a phone as well, but seriously, I'll take that kind of stupid any day over Objective-C.

  33. The first part of development by Anonymous Coward · · Score: 0

    The first part of development is knowing the actual name of the platform you're developing on. There's no such thing an "iTouch".

    1. Re:The first part of development by Anonymous Coward · · Score: 0

      Hilarious, obviously the whole "iTouch" thing strikes a nerve, since the story has been edited now: "When my wife got an Touch several months back...". Hint: it's not called "an Touch" either.

  34. Re:The C Programming Disease by Anonymous Coward · · Score: 0

    Im not sure if your replying to the first post downplaying C or the one against using java. If it was the second, there was no mention of Objective-C only C

  35. Fairly bizarre by spaceyhackerlady · · Score: 4, Informative

    Interface Builder is fairly bizarre, but it starts to make sense after a while. It does. Really.

    My primary reference for iPhone development has been Erica Sadun's book, but I may pick this one up too.

    BTW: people may bitch about code signing, but Apple gave me my signature when I asked for it. This is minor compared with what was necessary when my employers wanted to do Brew development. I considered going the jailbreak route, but ended up not doing so.

    ...laura

  36. Kochan's Programming in Objective-C 2.0 (newbies) by Anonymous Coward · · Score: 0

    I bought this book and it's way over my head since I have never dabbled with any OO programming. I bought Kochan's Programming in Objective-C 2.0 and it starts out assuming no knowledge of programming whatsoever. So those to books combined would be a good start.

  37. Re:The C Programming Disease by ckaminski · · Score: 1

    PalmOS vs. Blackberry. No comparison needed. You wouldn't know one was running Java if it hit you on the hit with a giant strychnine laced bean. :-)

  38. Re:Think Of All The Things You Can Do With It by Anonymous Coward · · Score: 0

    And there's breakout, and super breakout....

  39. First barrier by Artifex33 · · Score: 2, Insightful

    I have an iPhone 3g myself, and a few weeks of use got me excited enough about app development to feel truly let down when I discovered I'd have to buy a mac to develop on. Actually pricing one out that I could use for high-end photoshop work in addition to iPhone development was a sobering experience. Add that to the learning curve associated with migrating to OSX from WinXP, and I'm back to Flash development on my PC.

    1. Re:First barrier by TellarHK · · Score: 1

      So why do you need to do your high-end Photoshop work on the same machine you use for programming? Sure, it might be a -little- quicker, but networking makes a whole world of difference.

      A Mac mini could be just fine for XCode work for most people, and what exactly is your definition of high-end Photoshop work? And a learning curve coming from XP to OSX? That's like a couple hours.

      Sure, there's a learning curve to XCode, but it's not as steep as people who have never touched it think. Join the ADC for free, download the free tutorial videos, etcetera, and look into it.

      Bottom line, if you're that easily dissuaded from getting into development, you're not that excited after all.

  40. The French have a different word for *everything* by Gary+W.+Longsine · · Score: 1

    Mamoo dogface to teh banana patch.

    --
    If you mod me down, I shall become more powerful than you could possibly imagine.
  41. waiting by po134 · · Score: 1

    still waiting for the windows SDK.

    1. Re:waiting by JimboFBX · · Score: 1

      They can't even make a simple app like itunes run without bogging down a 3 Ghz machine with its relatively simple graphics. Doubt they could ever manage an SDK.

  42. The Rules by Gary+W.+Longsine · · Score: 1

    How do you make a small fortune as an iPhone developer?

    Start with a large one.

    --
    If you mod me down, I shall become more powerful than you could possibly imagine.
  43. multi-touch gestures by Kadagan+AU · · Score: 1

    When my wife got an Touch several months back, the first thing I wanted to do was build some applications for it. Who wouldn't want to play with a device that has accelerometers, position sensors and multi-touch gestures?

    When I read about the accelerometers, position sensors and multi-touch gestures, of course I thought you were referring to your wife...

    --
    This space for rent, inquire within.
  44. Re:The C Programming Disease by MikeBabcock · · Score: 1

    Say it as often as you want but some people will try.

    --
    - Michael T. Babcock (Yes, I blog)
  45. Reinvigorated by TellarHK · · Score: 3, Interesting

    I have to say that this book, which I picked up last week, has really given me a kick in the pants as far as getting back into programming. I haven't hardly done a damn thing since college in '02, and since I went to a pretty craptastic school that doesn't mean much.

    MS Visual C++ really made programming a slog, compared to the IDE that Apple came up with for XCode. I'm just a couple chapters into the book now, but all in all I'm really enjoying the process of programming again for the first time since GW-BASIC. I can understand why a lot of people here (especially here) complain about having to buy a Mac, having to use XCode, having to do things Apple's way but for something like the iPhone and iPod Touch development I can't imagine a better route.

    This is for the most part a very good book, at least for my rusty brain, but it definitely needs some kind of Objective-C accompaniment if you're not familiar with the language and want to do more than just follow instructions. Well worth the money.

    And again, to those people complaining about XCode and doing things Apple's way, dig around the ADC site and you'll see that Apple's learned a hell of a lot since the days when CodeWarrior was the only hope for a Mac developer's sanity.

    1. Re:Reinvigorated by mgblst · · Score: 1

      I find using XCode a much more pleasant experience that Visual Studio, and I have been programming PCs since MS-Dos 3.2. There are a few annoying things, like the error messages could be improved, and you need to restart it every few days.

    2. Re:Reinvigorated by Anonymous Coward · · Score: 0

      I can understand why a lot of people here (especially here) complain about having to buy a Mac, having to use XCode, having to do things Apple's way but for something like the iPhone and iPod Touch development I can't imagine a better route.

      You can't imagine a better route than being locked into an OS, locked into an IDE and having to pay $99 to even get the program on a device? Huh??

    3. Re:Reinvigorated by Zero+Zero · · Score: 2, Interesting

      This is for the most part a very good book, at least for my rusty brain, but it definitely needs some kind of Objective-C accompaniment if you're not familiar with the language and want to do more than just follow instructions.

      The co-author recommends Learn Objective-C on the Mac as just such an accompaniment.

    4. Re:Reinvigorated by Bonobo_Unknown · · Score: 1

      I don't mind Visual Studio, and I am a Mac guy. XCode does things a bit differently esp. in regards to the Interface designer, and it's a bit harder to get into than Visual Studio...

      --
      We don't believe in radical loony monotheistic religions from the middle east -- we're Christians.
  46. Re:The C Programming Disease by thetoadwarrior · · Score: 0, Offtopic

    I've always preferred Java to be honest.

    public Class PostingBollocks {
        public static void main(String[] args) {

            public boolean posting = true;
            public Kid anonymousCoward = new Kid("chubby", "virgin", "male breasts");
            public Mom yoMomma = new Mom("fat", "slag", "peg leg");
            public int knobs = 0;

            while(posting == true) {
                knobs++;
                yoMomma.gobble(knobs);
                if(knobs == 100) {
                    yoMomma.sendKidsToBed(anonymousCoward);
                    anonymousCoward.crySelfToSleepInMins(60);
                    System.out.println("You've been sent to bed so you mom can wash her stanky minge out in peace in quiet");
                }
            }
        }
    }

  47. Apps With A Shitty UI Tookit? Why? by Anonymous Coward · · Score: 0

    What possible reason would you think anyone who owns an iPhone would ever want an app based on a shitty UI toolkit like Qt?

  48. Autorotation? by Anonymous Coward · · Score: 0

    Chapter 5 covers autorotation and basic animations, including linking in the Core Graphics Framework. I especially like how the authors gave three different ways of making your app auto-rotation aware, describing the benefits and drawbacks of each. Chapter 6 follows this up by introducing multi-view interfaces, something very necessary as you get into more complex iPhone development.

    If you need to perform autorotation while doing iPhone development, something has gone terribly wrong: http://en.wikipedia.org/wiki/Autorotation.

  49. My Suggestion... by Anonymous Coward · · Score: 0

    Don't develop for the iPhone/iPod Touch environment. It's a failing platform. Sure, right now there's lots of potential customers using one of the devices, but as soon as the news hits (and I'm not privy right now to say exactly what this news entails, but believe me, it will send SHOCK WAVES through the tech community), people will flee away from these devices faster than a crowd scrambling from a theater on fire!

  50. recommend the book by mojorisin67_71 · · Score: 1

    - if you have a programming background, read up on objective-c
    from the docs on apple site
    Then jump into this book. It was certainly helpful for me
    to understand how interface builder and objective-c interactive.
    The book helps understand that very well.
    Also some of the example for navigation bar, tab bars, animation were helpful also. To get more familiar after reading this book,
    go to the class library reference or the reference docs from apple.

  51. Develop with Mono by Knowbuddy · · Score: 1

    How have none of the fanboys mentioned yet that you can develop iPhone apps on Linux with Mono?

    Mono now supports static compilation, which is one of the requirements to create a legitimate app that can be sold via iTunes. Search for "iphone" on Miguel de Icaza's blog (via Google) to see a number of posts on the subject.

    You still have to pay all of the fees, but you aren't limited to Objective C and, in theory, you never have to sully your hands by touching a Mac keyboard.

    (Preemptively -- also remember that Mono supports more than just C# and VB.NET. Again it's just theory, but you could write an iPhone app in IronPython, Boo, PHP, Pascal, etc. Anything that compiles down to CIL.)

    1. Re:Develop with Mono by Bonobo_Unknown · · Score: 1

      Last time I checked Mono didn't even support ReadLine on the Mac. I really wanted it to work, and it nearly did.

      --
      We don't believe in radical loony monotheistic religions from the middle east -- we're Christians.
  52. Re:The C Programming Disease by mario_grgic · · Score: 1

    From Wikipedia (http://en.wikipedia.org/wiki/Objective-C)

    "Objective-C, like Smalltalk, can use dynamic typing: an object can be sent a message that is not specified in its interface. This can allow for increased flexibility â" in Objective-C an object can "capture" this message, and depending on the object, can send the message off again to a different object (who can respond to the message correctly and appropriately, or likewise send the message on again). This behavior is known as message forwarding or delegation (see below). Alternatively, an error handler can be used instead, in case the message cannot be forwarded. If the object does not forward the message, handle the error, or respond to it, a runtime error occurs."

    So it would appear that calling a method (i.e. sending a message) on an object that does not have a method should blow up during runtime ?

    --
    As the island of our knowledge grows, so does the shore of our ignorance.
  53. Re:The C Programming Disease by Anonymous Coward · · Score: 0

    Listen, what you say makes sense but it doesn't apply to the iPhone. The latency that you attribute to pseudo v-table calls is going to be in the noise level of that device. We are talking about software/hardware interaction; not software/software interactions.

    Get off your soap box and contribute

  54. ASP.NET MVC / iUI by Anonymous Coward · · Score: 0

    Honestly, if you're not tying into some of the built in iPhone applications, you can make a pretty darn good iPhone website instead of having to buy in to xode and objective C.

    We use iUI, it's a bunch of image, css and javascript files that help emulate the look and feel of a native iPhone app.

    The only catch is that the HTML has to be VERY simple for it to work, so we had to adopt the ASP.NET MVC development model. Which is not a bad thing to learn if you're eventually headed towards native iPhone apps.

  55. mis-categorized by Anonymous Coward · · Score: 0

    "When my wife got an Touch several months back..." You forgot the "typoinsummary" category. Regards, Your 6th Grade English Teacher

  56. Re:The C Programming Disease by pfoorion · · Score: 2, Insightful

    Not crashing when calling something on a NULL object is not necessarily a bad thing. You should read: Enhancing Server Availability and Security Through Failure-Oblivious Computing You can also use TRUE/FALSE and 1/0 for boolean values, too. Dropping stack allocation for objects is, IMHO, a good thing. The fact that C++ has to truncate an object when you pass a subclass to a method that expects the superclass via the stack, but does not when you pass a pointer to it. Not what most people would expect and would break dynamic dispatch.

  57. Re:The C Programming Disease by cruachan · · Score: 3, Informative

    Personally I find Objective C really rather neat. Of course it undoubtably helps that I grew up with C and can hack it upside down and backwards. I never really used C++ to anything like the same degree (having moved on to other things) and so when I started playing around with the iPhone recently this was my first taste of Objective C.

    It's syntax really is weird I agree, but once you get past that - and it's no worse than many other languages - it's just hunky dory. Certainly the freedom of not having C++'s bondage style language features and ridiculous complexity really is rather refreshing. And no gabage-collection - well if you're just coding something the size of an iPhone app and you can't handle your own garbage then really you should go stick to visual basic in a nice safe environment.

  58. Not any Mac... by dubbayu_d_40 · · Score: 1

    The SDK requires an Intel Mac.

  59. Re:The C Programming Disease by iluvcapra · · Score: 3, Informative

    It does, but I think the OP point was that "nil" effectively implements all methods and returns 0, nil, or 0XDEADBEEF1374, like a bottom class without the semantic consistency of languages with true bottom types.

    --
    Don't blame me, I voted for Baltar.
  60. Objective-C: dynamic language with access to C by EMB+Numbers · · Score: 3, Informative

    There are many resources available for iPhone/Cocoa programmers. The earliest versions of Cocoa shipped commercially in 1988, and the most used features and patterns haven't changed much. Here is a good place to start: http://www.cocoadev.com/index.pl?CocoaPrerequisites

    Why does Objective-C use BOOl and YES,NO instead of bool and true/false? One reason is that Objective-C predates the addition of the bool type to standard C by 11 years.

    If you don't like dynamic languages, you won't like Objective-C. Bruce Eckel makes an interesting argument for dynamic languages at http://www.mindview.net/WebLog/log-0025.

    I think the ability to seamlessly use and intermix the world of C and C++ software with Objective-C outweighs and criticism that Objective-C includes C.

    You must keep an open mind - There are an infinite number of different ways to solve every programming problem. Many programming languages and reusable software libraries use different approaches to solve common problems. There is a good chance that Objective-C and Cocoa use a substantially different approach from other languages and frameworks you may have used. That doesn't make either approach better or worse automatically. Every commercial software development technology has advantages in at least some cases or the technology would not exist. Cocoa is renowned for enabling very high programmer productivity without constraining the set of problems that can be solved, but programmer's opinions will always vary and software development environments are subject to aesthetic judgments irrespective of abstract technical merit. Many programmers are enthralled by Objective-C and Cocoa. You might be enthralled too. Or, you may never like Objective-C and Cocoa from an aesthetic standpoint, and there isn't really anything anyone can do to change that without affecting the aesthetics for others.

    1. Re:Objective-C: dynamic language with access to C by samkass · · Score: 2, Interesting

      Actually, I agree with the original poster on many points, and it's more than aesthetics. While I love Interface Builder, Objective-C development is like pulling teeth. Things don't fail fast, the compiler catches way fewer bugs up-front, and it's a much harder language to introspect and offer lint-like analysis on than many modern languages. To someone who develops in Java all day, Objective-C is like having teeth pulled. I put up with it because I really like the iPhone, but Apple would be doing way better with developers (outside a small core of enthusiasts) if they'd ditched Objective-C when NeXTstep became MacOS X.

      --
      E pluribus unum
    2. Re:Objective-C: dynamic language with access to C by furball · · Score: 1

      Let me try to explain to people who don't run companies real quickly why Objective-C is really appealing to apple by asking several questions.

      Who drives the Objective-C language spec? Who drives the Objective-C runtime? Who does Apple need to ask permissions from to make modifications to the language or runtime? Ok then.

      Let's pretend for a moment Apple decides to switch to Java. Who drives the Java language spec? Who drives the Java runtimes? Who would apple need to ask permissions from to make modifications to the language or runtime?

      We good now? I'm pretty sure, being a business, Apple banks on business expediency over developer enthusiasm.

    3. Re:Objective-C: dynamic language with access to C by Anonymous Coward · · Score: 0

      Apple actually did release Java bindings for Cocoa around the time of the first couple of OS X releases, but abandoned them soon after. Not sure why; probably lack of widespread use.

    4. Re:Objective-C: dynamic language with access to C by Anonymous Coward · · Score: 1, Interesting

      There are Cocoa bindings in a variety of other languages.

      Two examples, from vastly different languages:

      The first is Chicken Scheme, with an extended tutorial showing iTunes processing using Chicken:

      http://3e8.org/zb/cocoa/manipulating-itunes-plist.html

      The second, with a less extended set of examples, is HOC - a Cocoa bridge for Haskell:

      http://hoc.sourceforge.net/examples.html

      Note that Apple is involved several bridges from other dynamic languages (ECMAScript, python, ruby) to Cocoa.

      The point is to be able to reuse the Cocoa frameworks, which are largely written in Objective-C and C++, and in some cases build entirely new frameworks using a non-C-derived language.

      If you're allergic to Objective-C, you don't actually need to use it directly, although it's helpful to understand it in order to follow how the bridges use syntactic sugar to make the mapping to Cocoa seem more Objective-C-like.

      Admittedly, shoving this into the iPhone at this point is incredibly awkward, but Apple is not actively opposing the use of other controller languages on the iPhone, as long as they are well behaved (mostly wrt well-defined bounds on CPU and space use, and a clear understanding of the change to the attack surface of the program and the phone as a result of the language choice, and so forth).

  61. Re:The C Programming Disease by FireFlie · · Score: 1

    and most applications run only 1.1 times faster than a modern Java app anyway.

    An instant ten percent speed up just by choosing the right language can be a meaningful speed increase in many applications.

  62. Why bother with all of that? by caywen · · Score: 1

    Get the frame buffer, draw a few bitmaps in, and put in a few bodily noises. You'll be rich in no time.

    1. Re:Why bother with all of that? by Sparton · · Score: 1

      Sadly, this works.

      I hate you iFart. As an iPhone dev, I hate you and your top 100 charting feats.

  63. Re:The C Programming Disease by Anonymous Coward · · Score: 0

    Shouldn't you be doing null checking anyway, you sloppy developer you?

  64. Re:The C Programming Disease by sribe · · Score: 1

    Sounds like you really didn't use Objective-C/Cocoa long enough to even remotely start to grok it.

    - Runtime dispatch caches: what, you think all those vtables that C++ generates don't take up memory?

    - Definition of boolean: Objective-C & Cocoa were around long before C added a proper bool type, so yes, they used typedef char, just like every other C framework in existence.

    - Messaging null: different, but neither a wholelot worse nor better. If you care about propagation of return values, you'd best be checking. But just as C++ lets you delete null for a convenience, Objective-C lets you message nil for the same reason.

    - Autorelease: apparently you didn't notice, what autorelease does for you is that, outside of property accessors, you rarely actually have to bother with reference counting. (And if you'd worked with this for long, you'd have realized that the need to stack autorelease pools is quite rare.)

    - I'd like namespaces and abstract classes.

    - If you want RAII, just do it yourself using Objective-C++ and constructors/destructors that call retain/release. (Although if you work with this long enough, you'll eventually realize that approach adds overhead for almost no benefit.)

    - If you want generics, go ahead and use STL, I do it all the time ;-)

    - Non-existent methods: come on, are you really admitting in such a public venue that you ignore compiler warnings? Sloppy!

  65. Yes, Gary? by BorgCopyeditor · · Score: 1

    Yes, Gary, you can go to the bathroom.

    --
    Shop as usual. And avoid panic buying.
  66. buying a second Touch by wwwillem · · Score: 1

    Picked up another, but similar book, to get started with iPhone / iTouch programming. Besides the horrible way that Apple wants to control how you deploy "your own software" on "your own device", what puts me off even more was the statement that you shouldn't expect that you can use the Touch used for testing your software, for normal operations anymore. As they noted it "the software environment will write to the Touch, which can make it unusable for normal use".

    Is this really true? Having to pay $99 is one thing, but having to buy another Touch, just for the fun of developing apps for it, seems to be a little too much.

    I'm a pretty experienced WM5 developer, and I can use my regular phone to test my software. Nothing that gets blown away by the SDK.

    --
    Browsers shouldn't have a back button!! It's all about going forward...
  67. Re:iPhone development. by Bonobo_Unknown · · Score: 2, Funny

    Is that a promise?

    --
    We don't believe in radical loony monotheistic religions from the middle east -- we're Christians.
  68. Re:The C Programming Disease by IamTheRealMike · · Score: 2, Informative

    C++ only does that if you are trying to pass classes by value, which is almost always a bad idea. I agree it's unintuitive but then a lot of C++ is, you don't lose anything if you simply never pass subclasses by value. If you use references the whole problem disappears.

  69. best iphone developer books by Anonymous Coward · · Score: 0

    Here's my reviews of iPhone developer books, and picks of the 4 best:

    http://www.markj.net/iphone-development-programming-books/

    Mark

  70. Re:The C Programming Disease by Moondevil · · Score: 1

    Let me tell you a secret.

    There were other systems languages before C and there *will* be others after C.

    Although C is a nice language, it is also the major culprit of today's lack of security in major OS.

    I dream the day when the OSs are coded in a systems language not prone to buffer overflows and memory leaks.

    There are many examples of such OSs, unfortunately they didn't get any major impact on our daily lives.

    Maybe singularity will change that.

  71. Re:The C Programming Disease by Moondevil · · Score: 2, Insightful

    Why should I say goodbye to modern computing?

    As an example, there are OS implemented in Modula-3 and Ada. They are quite fast, and the languages are not "like C", though they do the job and there aren't buffer overflows to worry about.

    Maybe getting rid of C is what we need to finally embrace modern computing?

  72. Re:The C Programming Disease by JohnnyCannuk · · Score: 1

    Ah, another pontificating buffoon who has never used or seen smalltalk.

    Hot flash from the newsroom, genius - ObjectiveC is an extension of C. If you want to use the features of C or call regular C code, you can. Indeed, for some features, such as CALayers, that is the only way to do it.

    Now, if you are more comfortable with C++, keep programming in it. Skip the iPhone development a stick to Windows.

    Freaking language snobs. Right tool for the job. I use C, Java, ObjectiveC and even a bit of various scripting languages daily. Get over yourself, honestly.

    --
    Never by hatred has hatred been appeased, only by kindness - the Buddha
  73. iPhone dev works on our G4 by vatavian · · Score: 2, Informative

    The SDK *says* it requires an Intel Mac, but my wife found instructions on the net and just last night we compiled and ran from XCode on her G4 to her iPhone.
    She had been excited that we had an excuse to upgrade from her G4, but it turns out iPhone development doesn't require us to upgrade.

    1. Re:iPhone dev works on our G4 by hansamurai · · Score: 1

      My friend wrote an iPhone game using his PowerPC Mac. So definitely no reason to upgrade (just for development's sake).

  74. Re:The C Programming Disease by Anonymous Coward · · Score: 0

    In general I agree with your assessment, but it's a little better on a Mac instead of a phone. They've added garbage collection, for example, and dispatch caching is a pretty nice optimization if you've got the RAM, used in various other decently-performing dynamic languages.

    Also, it's got a feature shared with Smalltalk and Ruby, that you can build a generic handler for all messages you haven't otherwise built a handler for. This is a pretty nifty feature for building DSLs.

  75. Re:The C Programming Disease by tim1724 · · Score: 1

    This is the language that thinks it's a good idea to redefine boolean to be YES and NO.

    You do realize that Objective-C was designed before C had a boolean type, right? (C didn't have a standardized boolean type until C99, but Objective-C has been around since the mid-80s.) So they weren't redefining anything. Everyone else at that time was just using a char or int and had a "#define TRUE 1" at the top of their programs...

    --
    -- Tim Buchheim