122 relations: Ada (programming language), Adapter pattern, Apache Groovy, Apple Inc., Apple Worldwide Developers Conference, Application Kit, Application programming interface, ARM architecture, Association for Computing Machinery, Automatic Reference Counting, Backward compatibility, Barriers to entry, Brad Cox, C (programming language), C++, C++ Standard Library, Clang, Class (computer programming), Class-based programming, Closure (computer programming), Cocoa (API), Cocoa Touch, CocoaPods, Comparison of programming languages, Component-based software engineering, Cross-platform, Debugging, Delegation (computing), Denmark, Dynamic dispatch, Enterprise Objects Framework, Extension method, First-class citizen, Foundation Kit, Fragile binary interface problem, Free and open-source software, Function overloading, Garbage collection (computer science), General-purpose programming language, Generic function, Generic programming, GEOS (16-bit operating system), GNU, GNU Compiler Collection, GNU General Public License, GNUstep, GObject, GTK+, Include directive, Include guard, ..., Interface (computing), Interface Builder, IOS, IOS 4, IOS 7, ITT Inc., Java (programming language), Linux, LLVM, Logtalk, Mac OS X Leopard, Mac OS X Snow Leopard, MacOS, Message passing, Metaprogramming, Method (computer programming), Monkey patch, Multiple inheritance, Name binding, Named parameter, Namespace, NeXT, NeXTSTEP, NOP, Nu (programming language), O'Reilly Media, Object-oriented programming, Objective-J, Observer pattern, OpenStep, Operator overloading, Pointer (computer programming), Pointer swizzling, Polymorphism (computer science), Programming language, Project Builder, Property (programming), Protocol (object-oriented programming), Prototype-based programming, Proxy pattern, Reference counting, Reflection (computer programming), Remote procedure call, Richard Stallman, Ruby (programming language), Run time (program lifecycle phase), Run-time type information, Runtime system, Self (programming language), Sequence container (C++), Simula, Smalltalk, Software design pattern, Software engineering, Spell checker, Static program analysis, Stepstone, String literal, Strong and weak typing, Structured programming, Subset, Swift (programming language), Tagged pointer, Template (C++), TOM (object-oriented programming language), Type signature, Type system, Vala (programming language), Virtual function, Virtual machine, Wired (magazine), Xcode. Expand index (72 more) » « Shrink index
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
In software engineering, the adapter pattern is a software design pattern (also known as Wrapper, an alternative naming shared with the Decorator pattern) that allows the interface of an existing class to be used as another interface.
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, that designs, develops, and sells consumer electronics, computer software, and online services.
The Apple Worldwide Developers Conference (WWDC) is a conference held annually by Apple Inc. in San Jose, California.
The Application Kit, usually called AppKit, is a graphical user interface toolkit for macOS.
In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building software.
ARM, previously Advanced RISC Machine, originally Acorn RISC Machine, is a family of reduced instruction set computing (RISC) architectures for computer processors, configured for various environments.
The Association for Computing Machinery (ACM) is an international learned society for computing.
Automatic Reference Counting (ARC) is a memory management feature of the Clang compiler providing automatic reference counting for the Objective-C and Swift programming languages.
Backward compatibility is a property of a system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in telecommunications and computing.
In theories of competition in economics, a barrier to entry, or an economic barrier to entry, is a cost that must be incurred by a new entrant into a market that incumbents do not have or have not had to incur.
Brad Cox is a computer scientist known mostly for creating the Objective-C programming language with his business partner Tom Love and for his work in software engineering (specifically software reuse) and software componentry.
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
C++ ("see plus plus") is a general-purpose programming language.
In the C++ programming language, the C++ Standard Library is a collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.
Clang is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, OpenMP, OpenCL, and CUDA.
In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).
Class-based programming, or more commonly class-orientation, is a style of object-oriented programming (OOP) in which inheritance is achieved by defining classes of objects, as opposed to the objects themselves (compare prototype-based programming).
In programming languages, a closure (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-class functions.
Cocoa is Apple's native object-oriented application programming interface (API) for their operating system macOS.
Cocoa Touch is a UI framework for building software programs to run on iOS for the iPhone, iPod Touch, and iPad, watchOS for the Apple Watch, and tvOS for the fourth-generation Apple TV, from Apple Inc. Cocoa Touch provides an abstraction layer of iOS, the operating system for the iPhone, iPod Touch, and iPad.
CocoaPods is an application level dependency manager for the Objective-C, Swift and any other languages that run on the Objective-C runtime, such as RubyMotion, that provides a standard format for managing external libraries.
Programming languages are used for controlling the behavior of a machine (often a computer).
Component-based software engineering (CBSE), also called as component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system.
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.
Delegation, in computing or computer programming, refers generally to one entity passing something to another entity, and narrowly to various specific forms of relationships.
Denmark (Danmark), officially the Kingdom of Denmark,Kongeriget Danmark,.
In computer science, dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time.
The Enterprise Objects Framework, or more commonly simply EOF, was introduced by NeXT in 1994 as a pioneering object-relational mapping product for its NeXTSTEP and OpenStep development platforms.
In object-oriented computer programming, an extension method is a method added to an object after the original object was compiled.
In programming language design, a first-class citizen (also type, object, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities.
The Foundation Kit, or just Foundation for short, is an Objective-C framework in the OpenStep specification.
The fragile binary interface problem or FBI is a shortcoming of certain object-oriented programming language compilers, in which internal changes to an underlying class library can cause descendant libraries or programs to cease working.
Free and open-source software (FOSS) is software that can be classified as both free software and open-source software.
In some programming languages, function overloading or method overloading is the ability to create multiple methods of the same name with different implementations.
In computer science, garbage collection (GC) is a form of automatic memory management.
In computer software, a general-purpose programming language is a programming language designed to be used for writing software in the widest variety of application domains (a general-purpose language).
In computer programming, a generic function is a function defined for polymorphism.
Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.
GEOS (also later known as Geoworks Ensemble, NewDeal Office and Breadbox Ensemble) is a computer operating environment, graphical user interface, and suite of application software.
GNU is an operating system and an extensive collection of computer software.
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.
The GNU General Public License (GNU GPL or GPL) is a widely used free software license, which guarantees end users the freedom to run, study, share and modify the software.
GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows.
The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability.
GTK+ (formerly GIMP Toolkit) is a cross-platform widget toolkit for creating graphical user interfaces.
Many programming languages and other computer files have a directive, often called include (as well as copy and import), that causes the contents of a second file to be inserted into the original file.
In the C and C++ programming languages, an #include guard, sometimes called a macro guard or header guard, is a particular construct used to avoid the problem of double inclusion when dealing with the include directive.
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.
Interface Builder is a software development application for Apple's Mac OS X operating system.
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware.
iOS 4 is the fourth major release of the iOS mobile operating system developed by Apple Inc., being the successor to iPhone OS 3.
iOS 7 is the seventh major release of the iOS mobile operating system developed by Apple Inc., being the successor to iOS 6.
ITT Inc., formerly ITT Corporation, is an American worldwide manufacturing company based in White Plains, New York.
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
Linux is a family of free and open-source software operating systems built around the Linux kernel.
The LLVM compiler infrastructure project is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.
Logtalk is an object-oriented logic programming language that extends and leverages the Prolog language with a feature set suitable for programming in the large.
Mac OS X Leopard (version 10.5) is the sixth major release of Mac OS X (now named macOS), Apple's desktop and server operating system for Macintosh computers.
Mac OS X Snow Leopard (version 10.6) is the seventh major release of Mac OS X (now named macOS), Apple's desktop and server operating system for Macintosh computers.
macOS (previously and later) is a series of graphical operating systems developed and marketed by Apple Inc. since 2001.
In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer.
Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.
A method in object-oriented programming (OOP) is a procedure associated with a message and an object.
A monkey patch is a way for a program to extend or modify supporting system software locally (affecting only the running instance of the program).
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.
In programming languages, name binding is the association of entities (data and/or code) with identifiers.
In computer programming, named parameters, pass-by-name, or keyword arguments refer to a computer language's support for function calls that clearly state the name of each parameter within the function call.
In computing, a namespace is a set of symbols that are used to organize objects of various kinds, so that these objects may be referred to by name.
NeXT (later NeXT Computer and NeXT Software) was an American computer and software company founded in 1985 by Apple Computer co-founder Steve Jobs.
NeXTSTEP is a discontinued object-oriented, multitasking operating system based on UNIX.
In computer science, a NOP, no-op, or NOOP (pronounced "no op"; short for no operation) is an assembly language instruction, programming language statement, or computer protocol command that does nothing.
Nu is an interpreted object-oriented programming language, with a Lisp-like syntax, created by Tim Burks as an alternative scripting language to program OS X through its Cocoa application programming interface (API).
O'Reilly Media (formerly O'Reilly & Associates) is an American media company established by Tim O'Reilly that publishes books and Web sites and produces conferences on computer technology topics.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
Objective-J is a programming language developed as part of the Cappuccino web development framework.
The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.
OpenStep is an object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on a non-NeXTSTEP operating system.
In programming, operator overloading, sometimes termed operator ad hoc polymorphism, is a specific case of polymorphism, where different operators have different implementations depending on their arguments.
In computer science, a pointer is a programming language object that stores the memory address of another value located in computer memory.
In computer science, pointer swizzling is the conversion of references based on name or position to direct pointer references.
In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much" and μορφή, morphē, "form, shape") is the provision of a single interface to entities of different types.
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
Project Builder was an integrated development environment (IDE) originally developed by NeXT for the NeXTSTEP operating system.
A property, in some object-oriented programming languages, is a special sort of class member, intermediate in functionality between a field (or data member) and a method.
Protocol is a term used by particular object-oriented programming languages with a variety of specific meanings, which other languages may term interface or trait (or even Dynamic dispatch or Dependency injection), and often associated with languages from Apple Inc. (Protocol when used otherwise is akin to a Communication protocol, indicating the chain of interactions between the caller and the object.) Languages which use the term Protocol include.
Prototype-based programming is a style of object-oriented programming in which behaviour reuse (known as inheritance) is performed via a process of reusing existing objects via delegation that serve as prototypes.
In computer programming, the proxy pattern is a software design pattern.
In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object, block of memory, disk space or other resource.
In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.
In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction.
Richard Matthew Stallman (born March 16, 1953), often known by his initials, rms—is an American free software movement activist and programmer.
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.
In computer science, run time, runtime or execution time is the time during which a program is running (executing), in contrast to other program lifecycle phases such as compile time, link time and load time.
In computer programming, run-time type information or run-time type identification (RTTI) is a feature of the C++ programming language that exposes information about an object's data type at runtime.
A runtime system, also called run-time system, primarily implements portions of an execution model.
Self is an object-oriented programming language based on the concept of prototypes.
In computing, sequence containers refer to a group of container class templates in the standard library of the C++ programming language that implement storage of data elements.
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard.
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design.
Software engineering is the application of engineering to the development of software in a systematic method.
In computing, a spell checker (or spell check) is an application program that flags words in a document that may not be spelled correctly.
Static program analysis is the analysis of computer software that is performed without actually executing programs.
Stepstone, originally named Productivity Products International (PPI), was a software company founded in 1983 by Brad Cox and Tom Love, best known for releasing the original version of the Objective-C programming language.
A string literal or anonymous string is a type of literal in programming for the representation of a string value within the source code of a computer program.
In computer programming, programming languages are often colloquially classified as to whether the language's type system makes it strongly typed or weakly typed (loosely typed).
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.
In mathematics, a set A is a subset of a set B, or equivalently B is a superset of A, if A is "contained" inside B, that is, all elements of A are also elements of B. A and B may coincide.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
In computer science, a tagged pointer is a pointer (concretely a memory address) with additional data associated with it, such as an indirection bit or reference count.
Templates are a feature of the C++ programming language that allows functions and classes to operate with generic types.
TOM was an object-oriented programming language developed in the 1990s that built on the lessons learned from Objective-C. The main purpose of TOM was to allow for "unplanned reuse" of code via a well-developed extension mechanism.
In computer science, a type signature or type annotation defines the inputs and outputs for a function, subroutine or method.
In programming languages, a type system is a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions or modules.
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.
In object-oriented programming, in languages such as C++, and Object Pascal, a virtual function or virtual method is an inheritable and overridable function or method for which dynamic dispatch is facilitated.
In computing, a virtual machine (VM) is an emulation of a computer system.
Wired is a monthly American magazine, published in print and online editions, that focuses on how emerging technologies affect culture, the economy, and politics.
Xcode is an integrated development environment (IDE) for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS, and tvOS.
C and Smalltalk, Obj C, Obj C programming language, Obj-C, Obj-C programming language, Obj-c, ObjC, ObjC programming language, Objc, Object C, Object-C, Objective C, Objective C plus plus, Objective C programming language, Objective C++, Objective c, Objective-C (programming language), Objective-C 2.0, Objective-C categories, Objective-C programming language, Objective-C++, Objective-c, ObjectiveC, Smalltalk and C.