Elsősorban az Xcode miatt, másodsorban az Objective C miatt. (Lehet hogy négány dologban nincs igazam, vagy csak a beta miatt van de akkor is...) Hat érv az ellen amit csinálunk:)
Objective C 1
A Perl után a világ legocsmányabb nyelve höhö.... Elvileg OOP, és végülis tényleg az, de rengeteg fícsör híányzik belőle, amit az ember C++-ban illetve Java-ban megszokott. Nem tudsz példálul függvényeknél láthatóságot állítani, csak tagváltozóknál. Nincs osztályváltozó csak osztálymetódus. Ami nem baj, csak furcsa, az az hogy az osztályt interface-nek hívják, az interface-t pedig protocolnak, amit azzal indokolnak meg hogy amit te leírsz az nem az osztályod, hanem az osztályod FELÜLETE, ami módszertanilag igaz, de hogy miért kellett a jól megszokott terminológiától eltérni, az érthetetlen.
Objective C 2
Külön fejezet van a OC doksijában arról hogy hogyan lehet OC és C++ kódot együtt használni... Elvileg. Azonban egy kis guglizás után rájössz hogy nagyjából sehogy. Annyi szenvedés összerakni a C++ kódot az OC-vel hogy jobban megéri portolni.
Xcode 1
Használtam már jó sok IDE-t, eclipse, MS különböző IDE-it, de még a Dev-C++-t vagy Code::Blocksot is, de az Xcode ha nem is mondom hogy mindet alulmúlja, de iszonyat szívások vannak vele. Kitörölsz egy forrásfájlt, majd fél óra múlva fordítasz egyet, és még mindig bele akarja fordítani. Király. (Megjegyzem lehet nem szeretni az MS-t de a fejlesztő környezeteik fantasztikusak.)
Xcode 2
Csomószor van olyan hogy kapok iszonyat linker errort, olyan symbolokra amiket nem is én írtam, tehát valami standard könytárbeli cuccra, pedig csak #import direktívát használok, ami elvileg okos include, olyan mint a Java importja. Sebaj rebuild all. Semmi változás. Clean all targets. Semmi. Kézzel kitörlök mindent, semmi. Újra indítom az Xcode-ot erre lefordítja. Na köszi.
Xcode 3
Na hát ez volt az egyik kedvencem... Csinálok egy sima szövegfájlt az IDE-n belül, és egy kis kód használta volna azt. Megírom, lefordítom elszáll... Na gondolom rossz a parser, vagy valamit elírtam a szövegben. Egy órán át debuggoltam, végül látom hogy nem tudja megnyitni a fájlt (normális ember ezt nézné meg először, nem?:P). Erre kiderült hogy az Xcode az IDE-n belül létrehozott szövegfájlomat nem másolta bele a resource-ok közé, pedig eddig mindig. Nosza, kézzel belerakom, láss csodát megy.
iPhone SDK finomságok
Én elfogadom hogy nagy a hajtás az Apple-nél, és tényleg rövid idő alatt kellett összerakni az SDK-t, de hogy ennyire aluldokumentált legyen az hihetetlen. Következő érdekes dolog történt... Nézegettük hogy a hang manager-ünket mibe írjuk, egyértelműnek tűnt az OpenAL, de sehogy sem sikerült működésre bírnunk, találtunk is egy (azaz 1 db) fórumtémát erről az apple.com-on de ott sem írtak semmit, nem válaszoltak. Na sebaj, legyen CoreAudio, ami az Apple saját audio apija. Iszonyatosan profi, nagyon robosztus, nagyon masszív, és nagyon bonyolult. Nekiálltam elolvasni a doksit, 80-ik oldal környékén bukkantam rá az OpenAL-ről szóló két mondatra, amiből kiderült hogy a OpenAL csak egy wrapper a CoreAudio fölé (!!!), magyarul az OpenAL-nek ami az ájfónon van semmi köze az igazi AL-hez. Biztonság kedvéért én is feltettem a kérdést az Apple fórumain, hátha írnak valamit, következő nap válaszolt valaki, hogy az AL csak device-on megy, szimulátoron nem, viszont device-on full featured.. Kösz. Apple-ék képtelenek voltak egy mondatot írni erről. Köszönjük, mínusz két munkanap.