FACTOID # 126: Iceland has many, many more tractors per 1000 hectares of cropland than any other nation - more than twice that of the next highest country, Slovenia.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Cocoa (API)
A Cocoa application being developed using Xcode. Interface Builder windows are also visible.

Cocoa is Apple Inc's native object-oriented application programming environment for the Mac OS X operating system. It is one of five major APIs available for Mac OS X; the others are Carbon, Toolbox (for the obsolete Classic environment), POSIX (for the BSD environment), and Java. (Environments such as Perl and Ruby are considered minor environments because they are not generally used for full-fledged application programming.) Download high resolution version (1417x1047, 247 KB)A Cocoa application being developed in Xcode. ... Download high resolution version (1417x1047, 247 KB)A Cocoa application being developed in Xcode. ... Xcode is Apple Computers IDE for developing applications and other software for Mac OS X. It is shipped free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10. ... For information on general interface builders, please see User interface builder. ... Apple Inc. ... Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... Mac OS X (IPA: ) is a line of graphical operating systems developed, marketed, and sold by Apple Inc. ... // An operating system (OS) is the software that manages the sharing of the resources of a computer. ... The software that provides the functionality described by an API is said to be an implementation of the API. The API itself is abstract, in that it specifies an interface and does not get involved with implementation details. ... Carbon is the codename of Apple Computers API for the Macintosh operating system, which permits a good degree of forward and backward compatibility between source code written to run on the classic Mac OS, and the newer Mac OS X. The APIs are published and accessed in the form... The Macintosh Toolbox was a set of resources, drivers, routines and APIs stored in the ROM of Old World ROM Apple Macintosh computers. ... Classic, or Classic Environment, is a hardware and software abstraction layer in Mac OS X that allows applications compatible with Mac OS 9 to run on the OS X operating system. ... POSIX or Portable Operating System Interface[1] is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system. ... Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the Unix derivative distributed by the University of California, Berkeley, starting in the 1970s. ... The Java platform is the name for a bundle of related programs, or platform, from Sun Microsystems which allow for developing and running programs written in the Java programming language. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... Ruby is a reflective, dynamic, object-oriented programming language. ...


Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder, using the Objective-C language. However, the Cocoa programming environment can be accessed using other tools, such as Python, Perl and Ruby, with the aid of bridging mechanisms such as PyObjC, CamelBones and RubyCocoa, respectively. It is also possible to write Objective-C Cocoa programs in a simple text editor and build it manually with GCC or GNUstep's makefile scripts. Xcode is Apple Computers IDE for developing applications and other software for Mac OS X. It is shipped free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10. ... Project Builder is an integrated development environment (IDE) developed by NeXT computer, which was acquired and distributed Apple Computer for software development on Mac OS X computer systems prior to Mac OS X 10. ... For information on general interface builders, please see User interface builder. ... Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language... Python is a high-level programming language first released by Guido van Rossum in 1991. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... Ruby is a reflective, dynamic, object-oriented programming language. ... PyObjC is a bidirectional bridge between Python and Objective-C. It allows Python scripts to use and extend existing Objective-C class libraries. ... CamelBones is a programming framework that allows one to use MacOS Xs Cocoa API through Perl. ... RubyCocoa is a Mac OS X framework that provides a bridge between the Ruby and the Objective-C programming languages, allowing the user to manipulate Objective-C objects from Ruby, and vice-versa. ... Notepad is the standard text editor for Microsoft Windows A text editor is a piece of computer software for editing plain text. ... The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ... GNUstep is a free software implementation of NeXTs OpenStep Objective-C libraries (called frameworks), widget toolkit, and application development tools not only for Unix-like operating systems, but also for Microsoft Windows. ... make is a computer program that automates the compilation of programs whose files are dependent on each other. ...


For end-users, Cocoa applications are considered to be those written using the Cocoa programming environment. Such applications usually have a distinctive feel, since the Cocoa programming environment automates many aspects of an application to comply with Apple's Human Interface Guidelines. The end user is a central concept in software engineering, referring to an abstraction of the group of persons who will ultimately use a piece of software (i. ... This article does not cite any references or sources. ... Human Interface Guidelines (HIG) is a software development document which offers application developers a set of recommendations. ...

Contents

Cocoa history

Cocoa is derived from the NeXTSTEP and OPENSTEP programming environments developed by NeXT in the late 1980s. Apple acquired NeXT in December 1996, and subsequently went to work on the Rhapsody operating system that was supposed to be the direct successor of OPENSTEP. It was to have an emulation base for Mac OS applications, called Blue Box. The OPENSTEP base of libraries and binary support was termed Yellow Box. Rhapsody evolved into Mac OS X, and the Yellow Box became Cocoa. As a result, Cocoa classes begin with the acronym "NS" (for the NeXT-Sun creation of OPENSTEP[1]): NSString, NSArray, etc. NEXTSTEP is the original object-oriented, multitasking operating system that NeXT Computer, Inc. ... The OPENSTEP desktop. ... For other meanings, see Next. ... Year 1996 (MCMXCVI) was a leap year starting on Monday (link will display full 1996 Gregorian calendar). ... Rhapsody was the code name given to Apple Computers next-generation operating system during the period of its development between Apples purchase of NeXT in late 1996 and the announcement of Mac OS X in 1998. ... This article or section does not adequately cite its references or sources. ...


Much of the work that went into developing OPENSTEP was applied to the development of Mac OS X, Cocoa being the most visible part. There are, however, some differences. For example, NeXTSTEP and OPENSTEP used Display PostScript for on-screen display of text and graphics, while Cocoa depends on Apple's Quartz (which uses the PDF imaging model). Cocoa also has a level of Internet support, including the NSURL and WebKit HTML classes, and others, while under OPENSTEP there was only rudimentary support for managed network connections through NSFileHandle classes and Berkeley sockets. NeXT Computer Inc. ... Quartz is the marketing name of the proprietary graphics layer that sits on top of the open source Darwin core of Mac OS X. Quartz is part of the Core Graphics framework. ... The Portable Document Format (PDF) is the file format created by Adobe Systems in 1993 for document exchange. ... HTML, short for Hypertext Markup Language, is the predominant markup language for the creation of web pages. ... The Berkeley sockets application programming interface (API) comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly across a computer network. ...


Prior to its current use, the "Cocoa" trademark was the name of an application that allowed children to create multimedia projects. It was originally known as KidSim, and is now licensed to a third party and marketed as Stagecast Creator. The program was discontinued in one of the rationalizations that followed Steve Jobs' return to Apple. The name was re-used to avoid the delay while registering a new trademark, with Stagecast agreeing to market the older Cocoa under a new name. Stagecast Creator is a visual programming language intended for use teaching programming to kids. ... Stagecast Creator is a visual programming language intended for use in teaching programming to kids. ... In economics, rationalization is an attempt to change a pre-existing ad-hoc workflow into one that is based on a set of published rules. ... Steven Paul Jobs (born February 24, 1955) is the co-founder and CEO of Apple and was the CEO of Pixar until its acquisition by Disney. ... “(TM)” redirects here. ...


Memory management

One feature of the Cocoa environment is its facility for managing dynamically allocated memory. Cocoa's NSObject class, from which most classes, both vendor and user, are derived, implements a reference counting scheme for memory management. Objects derived from the NSObject root class respond to a retain and a release message and keep a retain count which can be queried by sending a retainCount message. A newly allocated object created with alloc or copy has a retain count of one. Sending that object a retain message increments the retain count, while sending it a release message decrements the retain count. When an object's retain count reaches zero, it is deallocated, its memory freed. (Deallocation is to Objective-C objects as destruction is to C++ objects. The dealloc method is functionally similar to a C++ destructor. dealloc is not guaranteed to be invoked.) This reference counting approach is very similar to that of Microsoft's COM which features the IUnknown interface. IUnknown provides equivalents to retain and release in the form of AddRef and Release. In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object or block of memory. ... Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language... In object-oriented programming, a destructor (sometimes shortened to dtor) is a method which is automatically invoked when the object is destroyed. ... Component Object Model (COM) is a platform for software componentry introduced by Microsoft in 1993. ... The published COM specification mandates that COM objects must minimally implement the IUnknown interface. ... The published COM specification mandates that COM objects must minimally implement the IUnknown interface. ...


In addition to manual reference counting, application programmers may choose to make use of autorelease pools. Sending an object an autorelease message registers a future release with that thread's nearest autorelease pool. When the autorelease pool is itself released, it sends a corresponding release message for every registered autorelease. Autorelease pools are generally created and released at the beginning and end of the event loop, guaranteeing program flow has passed out of the block where objects were autoreleased. This means the application has predictable performance and memory collection is generally invisible to the user, whereas under most fully automated schemes the application will sometimes suddenly stop responding when the garbage collection system is started. In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object or block of memory. ...


Automatic garbage collection for Cocoa is currently under development by Apple. Garbage collection can be added to code (now called Objective-C 2.0) using Xcode 3.0 included with the preview of Mac OS X 10.5 Leopard. When it is completed, the programmer will have the choice of whether to manually manage memory of objects or not. Opinions on this are divided. Some say that reference counting is superior because it allows the programmer to have precise control over when objects are deallocated, but does not add the burden of doing so for every object a program allocates, nor incur the performance penalty usually associated with automatic garbage collection. Others say the entire scheme is unnecessary, that Java-style automatic garbage collection is superior, because it significantly reduces the possibility of programmer error in memory management. When garbage collection is introduced in Cocoa, it must be able to interoperate with both approaches, as all the existing Cocoa code uses reference counting. Xcode is Apple Computers IDE for developing applications and other software for Mac OS X. It is shipped free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10. ... Mac OS X version 10. ... In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object or block of memory. ... In computer science, garbage collection (GC) is a form of automatic memory management. ...


Main frameworks

Cocoa consists primarily of two Objective-C object libraries called frameworks. Frameworks are functionally similar to shared libraries, a compiled object that can be dynamically loaded into a program's address space at runtime, but frameworks add associated resources, header files, and documentation. Cocoa also includes a powerful versioning system to prevent the sort of problems that occur under Microsoft Windows, the so called "DLL Hell". Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language... In computer programming, an application framework is a term usually used to refer to a set of libraries or classes that are used to implement the standard structure of an application for a specific operating system. ... Illustration of an application which may use libvorbisfile. ... Windows redirects here. ... DLL hell is a colorful term given to any problem based on a difficulty in managing Dynamically Linked Libraries (DLLs) installed on a particular copy of an operating system. ...

  • Foundation Kit, or more commonly simply Foundation, first appeared in OpenStep. On Mac OS X, it is based on Core Foundation. Foundation is a generic object-oriented library providing string and value manipulation, containers and iteration, distributed computing, run loops, and other functions that are not directly tied to the graphical user interface. The "NS" prefix, used for all classes and constants in the framework, comes from Cocoa's NeXTSTEP heritage.
  • Application Kit or AppKit is directly descended from the original NeXTSTEP Application Kit. It contains code with which programs can create and interact with graphical user interfaces. AppKit is built on top of Foundation, and uses the same "NS" prefix.

A key part of the Cocoa architecture is its comprehensive views model. This is organized along conventional lines for an application framework, but is based on the PDF drawing model provided by Quartz. This allows creation of custom drawing content using PostScript-like drawing commands, which also allow automatic printer support and so forth. Since the Cocoa framework manages all the clipping, scrolling, scaling and other chores of drawing graphics, the programmer is freed from implementing basic infrastructure and can concentrate only on the unique aspects of an application's content. The Foundation Kit, or just Foundation for short, is a framework specified under the OpenStep specification. ... Core Foundation (also called CF) is a Mac OS X framework and API. CF provides: Primitive types for data (raw bytes, Unicode strings, numbers, calendar dates, UUIDs) and collections (arrays, sets, dictionaries) Application preferences management (CFPropertyList, Preferences Utilities) XML parsing Bundle handling File system I/O (CFReadStream, CFWriteStream, CFURL) Network... In computer programming and formal language theory, (and other branches of mathematics), a string is an ordered sequence of symbols. ... Look up container in Wiktionary, the free dictionary. ... The word iteration is sometimes used in everyday English with a meaning virtually identical to repetition. ... Distributed computing is a method of computer processing in which different parts of a program run simultaneously on two or more computers that are communicating with each other over a network. ... The event loop is a programming construct that waits for and dispatches events. ... In computer science and mathematics, a variable (IPA pronunciation: ) (sometimes called a pronumeral) is a symbolic representation denoting a quantity or expression. ... The Application Kit is called AppKit under OpenStep and provides all of the gui classes. ... A graphical user interface (GUI) is a type of user interface which allows people to interact with a computer and computer-controlled devices which employ graphical icons, visual indicators or special graphical elements called widgets, along with text labels or text navigation to represent the information and actions available to... The Portable Document Format (PDF) is the file format created by Adobe Systems in 1993 for document exchange. ... Quartz is the marketing name of the proprietary graphics layer that sits on top of the open source Darwin core of Mac OS X. Quartz is part of the Core Graphics framework. ... For the literary term, see Postscript. ...


Model-view-controller

The Smalltalk teams at Xerox PARC eventually settled on a design philosophy that led to easy development and high code reuse. Known as "model-view-controller" (MVC), the concept breaks an application into three sets of interacting object classes. Models classes represent raw data, such as documents, settings files, or objects in memory. Views are, as the name implies, representations (often visual) of the data. Controllers classes contain logic which links the models to their views, and maintains state to keep them synchronized. For other uses, see Small talk. ... Bold text // Headline text Link title This article is about the computer research center. ... This article or section should include material from Model view controller triad Model-View-Controller (MVC) is a software architecture that separates an applications data model, user interface, and control logic into three distinct components so that modifications to the view component can be made with minimal impact to...


Cocoa's design is a strict application of MVC principles. Under OpenStep, most of the classes provided were either high-level View classes (in AppKit) or one of a number of relatively low-level model classes like NSString. Compared to similar MVC systems, OpenStep lacked a strong model layer. There was no stock class which represented a "document," for instance. During the transition to Cocoa, the model layer was expanded greatly, introducing a number of pre-rolled classes to provide functionality common to desktop applications.


In Mac OS X 10.3, Apple introduced the NSController family of classes, which provide predefined behavior for the controller layer. These classes are considered part of the Cocoa Bindings system, which also makes extensive use of protocols such as Key-Value Observing and Key-Value Binding. The term 'binding' refers to a relationship between two objects, often between a view and a controller. Bindings allow the developer to focus on more on declarative relationships rather than orchestrating fine-grained behavior.


With the arrival of Mac OS X 10.4, Apple extended this foundation further by introducing the Core Data framework, which standardizes change tracking and persistence in the model layer. In effect, the framework greatly simplifies the process of making changes to application data, undoing changes (if necessary), saving data to disk, and reading it back in. Core Data is part of the Cocoa API in Mac OS X, first introduced in Mac OS X 10. ...


By providing framework support for all three MVC layers, Apple's goal is to reduce the amount of boilerplate or "glue" code that developers have to write, freeing up resources to spend time on application-specific features.


Late binding

In most object-oriented languages, calls to methods are represented physically by a pointer to the code in memory. This restricts the design of an application since specific "command handling" classes are required, usually organised according to the chain of command design pattern. While Cocoa retains this approach for the most part, the "late binding" of Objective-C opens up more flexibility. This article deals with the military concept. ... Design pattern could mean several things. ... In programming languages, name binding refers to the association of values with identifiers. ... Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language...


Under Objective-C, methods are represented by a selector, a string describing the method to be called. When a message is sent, the selector is sent into the ObjC runtime, matched against a list of available methods, and the method's implementation is called. Since the selector is text data, this allows it to be saved to a file, transmitted over a network or between processes, or manipulated in other ways. The implementation of the method is looked up at runtime, not compile time. There is a performance penalty for this, but this is small, and late binding allows the same selector to reference different implementations.


By a similar token, Cocoa provides a pervasive data manipulation technique called key-value coding (KVC). This permits a piece of data or property of an object to be looked up or changed at runtime by name — the property name acts as a key to the value itself. In traditional languages, this late binding is not possible. KVC leads to great design flexibility — an object's type does not need to be known, yet any property of that object can be discovered using KVC. In addition, by extending this system using something Cocoa calls Key-Value Observing (KVO), automatic support for Undo/Redo is provided.


Rich objects

One of the most useful features of Cocoa is the powerful "base objects" the system supplies. As an example, consider the Foundation classes NSString and NSAttributedString, which provide Unicode strings, and the NSText system in AppKit, which allows the programmer to place string objects in the GUI. Unicode is an industry standard allowing computers to consistently represent and manipulate text expressed in any of the worlds writing systems. ... In computer programming and formal language theory, (and other branches of mathematics), a string is an ordered sequence of symbols. ...


NSText and its related classes are used to display and edit strings. The collection of objects involved permit an application to implement anything from a simple single-line text entry field to a complete multi-page, multi-column text layout schema, with full professional typography features such as kerning, ligatures, running text around arbitrary shapes, rotation, full Unicode support and anti-aliased glyph rendering. Paragraph layout can be controlled automatically or by the user, using a built-in "ruler" object that can be attached to any text view. Spell checking is automatic, using a single dictionary used by all applications that uses the "squiggly underlining" introduced by Microsoft (actually a dashed red underline in Cocoa). Unlimited Undo/Redo support is built in. Using only the built-in features, one can write a text editor application in as few as 13 lines of code. With new controller objects, this may fall to zero. This is in contrast to the TextEdit APIs found in the earlier Mac OS. This article does not cite any references or sources. ... This article or section does not adequately cite its references or sources. ... In writing and typography, a ligature occurs where two or more letterforms are written or printed as a unit. ... Look up shape in Wiktionary, the free dictionary. ... A sphere rotating around its axis. ... In digital signal processing, anti-aliasing is the technique of minimizing aliasing when representing a high-resolution signal at a lower resolution. ... variant glyphs representing the character a (allographs of a) in the Zapfino typeface. ... A variety of rulers A 2 metre carpenters rule Retractable flexible rule A ruler or rule is an instrument used in geometry, technical drawing and engineering/building to measure distances and/or to rule straight lines. ... Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... TextEdit was the name of a collection of application programming interfaces (APIs) in the classic Mac OS for performing text edition. ...


When extensions are needed, Cocoa's use of Objective-C makes this a straightforward task. Objective-C includes the concept of "categories" which allows for modifications to an existing class "in-place". Functionality can be accomplished in a category without any changes to the original classes in the framework, or even access to its source. Under more common frameworks this same task would require the programmer to make a new subclass supporting the additional features, and then change all instances of the classes to this new class.


Implementations

The Cocoa frameworks are written in Objective-C, and hence Objective-C is the preferred language for development of Cocoa applications. Java bindings for the Cocoa frameworks (known as the "Java bridge") are also available but have not proven popular amongst Cocoa developers. Further, the need for runtime binding means many of Cocoa's key features are not available with Java. In 2005, Apple announced that the Java bridge was to be deprecated, meaning that features added to Cocoa in Mac OS X versions later than 10.4 would not be added to the Cocoa-Java programming interface. Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language... In computer science, binding refers to the creation of a simple reference to something which is larger and more complicated and used frequently. ... Year 2005 (MMV) was a common year starting on Saturday (link displays full calendar) of the Gregorian calendar. ...


AppleScript Studio, part of Apple's Xcode Tools makes it possible to write (less complex) Cocoa applications using AppleScript. There is also a third-party scripting language specifically designed for Cocoa, called F-Script, that allows for native access to Cocoa objects and provides a suite of graphical introspection tools. Xcode is Apple Computers IDE for developing software and ships free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10. ... Xcode is Apple Computers IDE for developing applications and other software for Mac OS X. It is shipped free with Mac OS X. First introduced on October 24, 2003 along with the release of Mac OS X v10. ... AppleScript is a scripting language devised by Apple, Inc. ...


Third party bindings are also available for other languages:

A more extensive list of implementations is available. Python is a high-level programming language first released by Guido van Rossum in 1991. ... PyObjC is a bidirectional bridge between Python and Objective-C. It allows Python scripts to use and extend existing Objective-C class libraries. ... Ruby is a reflective, object-oriented programming language. ... RubyCocoa is a Mac OS X framework that provides a bridge between the Ruby and the Objective-C programming languages, allowing the user to manipulate Objective-C objects from Ruby, and vice-versa. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... CamelBones is a programming framework that allows one to use MacOS Xs Cocoa API through Perl. ... C# (pronounced see-sharp) is an object-oriented programming language developed by Microsoft as part of their . ...


There are also open source implementations of major parts of the Cocoa framework that allows cross-platform (including MS Windows) Cocoa application development:

  • GNUstep
  • libFoundation [6]
  • Cocotron [7]

GNUstep is a free software implementation of NeXTs OpenStep Objective-C libraries (called frameworks), widget toolkit, and application development tools not only for Unix-like operating systems, but also for Microsoft Windows. ...

References

  • Aaron Hillegass: Cocoa Programming for Mac OS X, Addison-Wesley, 2nd Edition 2004, Paperback, ISBN 0-321-21314-9.
  • Stephen Kochan: Programming in Objective-C, Sams, 1st Edition 2003, Paperback, ISBN 0-672-32586-1.
  • Michael Beam, James Duncan Davidson: Cocoa in a Nutshell, O'Reilly, 1st Edition 2003, Paperback, ISBN 0-596-00462-1.
  • Erick Tejkowski: Cocoa Programming for Dummies, 1st Edition 2003, Paperback, ISBN 0-7645-2613-8.
  • Simson Garfinkel, Michael K. Mahoney: Building Cocoa Applications : A Step by Step Guide, O'Reilly, 1st Edition 2002, Paperback, ISBN 0-596-00235-1.
  • James Duncan Davidson: Learning Cocoa with Objective-C, O'Reilly, 2nd Edition 2002, Paperback, ISBN 0-596-00301-3.
  • Scott Anguish, Erik M. Buck, Donald A. Yacktman: Cocoa Programming, Sams, 1st Edition 2002, Paperback, ISBN 0-672-32230-7.
  • Bill Cheeseman: Cocoa Recipes for Mac OS X, Peachpit Press, 1st Edition 2002, Paperback, ISBN 0-201-87801-1.
  • Andrew Duncan: Objective-C Pocket Reference, O'Reilly, 1st Edition 2002, Paperback, ISBN 0-596-00423-0.
  • Apple Inc.: Learning Cocoa, O'Reilly, 1st Edition 2001, Paperback, ISBN 0-596-00160-6.
  1. ^ Apple explains the history of the NS prefix

Aaron Hillegass (born 1969) is the author of Cocoa Programming for Mac OS X, the most popular introductory text for Cocoa developers, and the proprietor of the Big Nerd Ranch, a provider of Macintosh software developer training. ... James Duncan Davidson, born July 29th, 1970 in Lubbock Texas, raised in Oklahoma and Texas. ... Simson L. Garfinkel is a journalist and writer specializing in the field of computer security, who has written fourteen books on computing. ... James Duncan Davidson, born July 29th, 1970 in Lubbock Texas, raised in Oklahoma and Texas. ... Apple Inc. ...

External links


  Results from FactBites:
 
Cocoa (API) - CGWiki (241 words)
Cocoa is Apple Computer's native object-oriented application programming environment for the Mac OS X operating system.
Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder, using the Objective-C language.
For end-users, Cocoa applications are considered to be those written using the Cocoa programming environment.
MSN Encarta - Romania (1012 words)
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.