Cocoa
Cocoa is an application environment that is
what’s called object oriented. Its used to make fully
Mac OS X native applications. A cocoa framework is meant to
have rapid development and be very productive. It takes
100% full advantage of every single underlying technology
through out the OS.
Carbon
Carbon includes a set of what’s called
APIs (Application Program
Interfaces) that are used to create OS X
applications using C+ and C++ that can take advantage of
Quartz 2D graphics, multi-processing, and other OS X
underlying technologies. It provides services such as
OpenGL, drawing, the Mach microkernel and BSD Unix
services. Carbon apps don’t really look any different
from the users eye from a cocoa app. It’s really how
the application was programmed. Carbon apps can do fairly
similar things as cocoa apps, it generally just takes more
code to do the same thing. The difference is how the apps
are programmed to get something accomplished.
Java
Java is built into the Mac OS using the Java 2
foundation. It allows java developers to easily distribute
their java apps as native OS X applications to users.
Developers can also take advantage of the Mac OS Java
specific features as well as some cocoa based API’s.