Om du har provat att programmera i dem, så märker du att det är helt olika miljöer!
För mig är detta intressant eftersom jag föredrar C++, det är SNABBT! Dock fungerar det historiskt mera kompletta och snygga (t.ex. spara varningen som "droppar" ner i Cocoa program såsom textedit bara funnits i Cocoa, vet inte hur det är nu). Därför borde iTunes vara SNABBT eftersom det är skrivet i C++.
Problemet är att Carbon är bakåtkompatibelt mot OS9, och dess trådtekniker är verkligen undermåttliga. Dessutom är det mycket overhead, för att få det att fungera på både OS9 och OSX, vilket gör att program lätt bli MYCKET taffliga; sega, känns inte bra. Jämför Photoshop 6 och 7 på OS9 så förstår ni..
Ett annat problem med Carbon är att det är skrivet för C (procedur-språk) inte C++, vilket gör att du inte kan objekt-orinetera med Carbon speciellt bra. Med andra ord har jag tvingats över till Objective-C (Cocoas språk). Det är lite bökigt om man kommer från C++, och mycket långsammare eftersom det körs i en runtime.
Det possitiva jag ser med detta, är att Apple kanske insett att Carbon måste bli bättre, och att vissa stora program som t.ex. Pages gör sig bättre i C++.
För visst ser Pages ut som Cocoa? Ärligt?
Med andra ord, vi tänker samma. Carbon borde vara snabbare, men har historikt sett varigt FULT och SEGT pga bakåtkompabiliteten. Det kanske håller på att ändras.
Dessutom är Keynote Cocoa. Applikationerna känns onekligen ganska lika, och bode ha delad kod. Ett mycket attraktiv tanke vore ju om Cocoa och Carbon kommit så nära varandra att dom snart kommer att bli som en. För visst är det skumt att Keynote är Cocoa och Pages Carbon, trots att dom känns så lika?