Ymmärrän tuon sanan yleinen lauseessa, standardi poksahtaa ohi viuhahtaen. Miten Objective-C ei ole standardi? NeXT, NextStep, OpenStep olivat suosittuja nimenomaan ohjelmoijien parissa. Siellä lepää Cocoan historia ja Sunin Solariksessakin käyttiin siitä osia, porttasipa Sun koko OpenStepin omalle alustalleen. OpenStepistä tuli sitten jossain välissä Yellow Box ja myöhemmin Cocoa.Koska Carbon pohjaa yleiseen ja standardiin ohjelmointikieleen, Cocoa ei.
developer.apple.com, What is Cocoa?
"You may use several programming languages when developing Cocoa software. The primary language is Objective-C, which has its own runtime for Cocoa. Objective-C is a superset of ANSI C that has been extended with certain syntactical and semantic features (derived from Smalltalk) to support object-oriented programming. The few added conventions are simple and easy to learn and use. Because Objective-C rests on a foundation of ANSI C, you can freely intermix straight C code with Objective-C code. Moreover, your code can call functions defined in non-Cocoa programmatic interfaces, such as Carbon and BSD. You can even mix C++ code with your Cocoa code and link them into the same executable. Finally, Cocoa supports the Java language through a parallel set of Java classes and a mechanism that bridges the Java interfaces to their corresponding Objective-C implementations. The Java flavor of Cocoa allows you to mix (within limits) native Java objects with Cocoa objects."
Totta, ei käytä eikä tule vielä pitkään aikaan käyttämään. Syitä on monia, suurimpana ehkä vanhan koodin olemassaolo. Carbonista on helpompi viedä softaa muihin ympäristöihin, se on totta. Mutta tämä on muna-kana tilanne, siihen palaan myöhemmin.Eikä Applekaan sitä kaikissa softissaan käytä, iTunes esimerkiksi on Carbon. Niinpä siitä saatiinkin Windows-versio aikaiseksi. Kuka ohjelmistotuottaja haluaa pysyä single-platform-operaattorina niin valitkoon Cocoan. Ja jääköön pieneksi.
iTunes on huono esimerkki siinä mielessä ettei ohjelma edes ole alunperin ollenkaan Applen käsialaa vaan sen kirjoittivat samat jäppiset kuin SoundJamin. Tosin Jobs olisi kuulemma mieluummin ottanut Panicin kehittäjät töihin, mutta kun AOL oli samaan aikaan kiinnostunut heistä niin sopimus jäi kirjoittamatta. Sivumennen sanottuna, OS 9:ssä ei ollut läpinäkyvyyttä käyttöliittymässä, sen piti olla mahdotonta, mutta niin vaan Panic Audionissa oli läpinäkyviä skinejä...no kaikesta huolimatta iTunes on kuitenkin Carbonia.
Mutta lisätäänpä vetää myllyyn: Cocoan sisään voidaan upottaa Carbon-koodia ja päinvastoin. Cocoa tarkkaanottaen käyttää paljonkin Carbonia apuna nykyisellään. Päinvastoin taas esimerkiksi juuri paljon puheena olevat fonttivalikot on mahdollista kutsua Carbon-ohjelmasta Cocoan avulla, tai ylipäätään käyttöliittymän elementtejä. Palaamme jälleen takaisin lähtöpisteeseen eli sovelluksen kehittäjään ja siihen kuinka pitkälle tämä vaivautuu koodia vääntäessään/portatessaan sovittamaan softaansa oikeasti Mac OS X ympäristöön. Lähtökohtana sovelluskehittäjä voi käyttää kumpaa vaan, Cocoaa tai Carbonia ja sitten sen jälkeen lisätä koodiin Cocoaa tai Carbonia ja miksipä ei vielä Javaakin.
http://developer.apple.com/documentatio ... index.html
Kyllä ne varmaan ovat lukeneet. AppleWorksia ei vain vieläkään kirjoitettu uusiksi. FileMaker Inc taas on kiinnostunut enempi Windows-puolesta kuin Maceista nykyään, Mac-puolella ei ole kasvua odotettavissa kun Windows-puolella markkinaosuus kasvaa. Claris on kuopattu jo ajat sitten.Vot, jäädään odottamaan että Apple ja Claris lukevat omat dokumenttinsa.
Kuten sanottu, Carbon-ohjelma voi käyttää myös Cocoa-koodia. Ei tämä tästä mihinkään muutu. Työkalut on tarjottu kehittäjille hoitaa fonttivalikot kuntoon, useammallakin eri tavalla. Carbon-koodia käyttäessä monella valmistajalla painaa varmasti vielä yhteensopivuus Mac OS 9:ään. Jos vielä tuokin halutaan samaan aikaan, on varmasti hankala toteuttaa muutoksia.Siis nyt ymmärsit hieman väärin. Pidän Cocoa-softia hienoina sinänsä. Tarkoitin, että vain Cocoa-ohjelmistoissa toimivat systeemitason ratkaisut (kuten fonttienhallintaohjelma) ovat merkityksettömiä korjattaessa Mac OS X:n puutteita, koska kaakaonkuluttajat ovat pieni vähemmistö.