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 (programming language)
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
New!!: Objective-C and Ada (programming language) · See more »
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.
New!!: Objective-C and Adapter pattern · See more »
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.
New!!: Objective-C and Apache Groovy · See more »
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, that designs, develops, and sells consumer electronics, computer software, and online services.
New!!: Objective-C and Apple Inc. · See more »
Apple Worldwide Developers Conference
The Apple Worldwide Developers Conference (WWDC) is a conference held annually by Apple Inc. in San Jose, California.
New!!: Objective-C and Apple Worldwide Developers Conference · See more »
The Application Kit, usually called AppKit, is a graphical user interface toolkit for macOS.
New!!: Objective-C and Application Kit · See more »
Application programming interface
In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building software.
New!!: Objective-C and Application programming interface · See more »
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.
New!!: Objective-C and ARM architecture · See more »
Association for Computing Machinery
The Association for Computing Machinery (ACM) is an international learned society for computing.
New!!: Objective-C and Association for Computing Machinery · See more »
Automatic Reference Counting
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.
New!!: Objective-C and Automatic Reference Counting · See more »
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.
New!!: Objective-C and Backward compatibility · See more »
Barriers to entry
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.
New!!: Objective-C and Barriers to entry · See more »
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.
New!!: Objective-C and Brad Cox · See more »
C (programming language)
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.
New!!: Objective-C and C (programming language) · See more »
C++ ("see plus plus") is a general-purpose programming language.
New!!: Objective-C and C++ · See more »
C++ Standard Library
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.
New!!: Objective-C and C++ Standard Library · See more »
Clang is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, OpenMP, OpenCL, and CUDA.
New!!: Objective-C and Clang · See more »
Class (computer programming)
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).
New!!: Objective-C and Class (computer programming) · See more »
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).
New!!: Objective-C and Class-based programming · See more »
Closure (computer 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.
New!!: Objective-C and Closure (computer programming) · See more »
Cocoa is Apple's native object-oriented application programming interface (API) for their operating system macOS.
New!!: Objective-C and Cocoa (API) · See more »
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.
New!!: Objective-C and Cocoa Touch · See more »
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.
New!!: Objective-C and CocoaPods · See more »
Comparison of programming languages
Programming languages are used for controlling the behavior of a machine (often a computer).
New!!: Objective-C and Comparison of programming languages · See more »
Component-based software engineering
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.
New!!: Objective-C and Component-based software engineering · See more »
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
New!!: Objective-C and Cross-platform · See more »
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.
New!!: Objective-C and Debugging · See more »
Delegation, in computing or computer programming, refers generally to one entity passing something to another entity, and narrowly to various specific forms of relationships.
New!!: Objective-C and Delegation (computing) · See more »
Denmark (Danmark), officially the Kingdom of Denmark,Kongeriget Danmark,.
New!!: Objective-C and Denmark · See more »
In computer science, dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time.
New!!: Objective-C and Dynamic dispatch · See more »
Enterprise Objects Framework
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.
New!!: Objective-C and Enterprise Objects Framework · See more »
In object-oriented computer programming, an extension method is a method added to an object after the original object was compiled.
New!!: Objective-C and Extension method · See more »
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.
New!!: Objective-C and First-class citizen · See more »
The Foundation Kit, or just Foundation for short, is an Objective-C framework in the OpenStep specification.
New!!: Objective-C and Foundation Kit · See more »
Fragile binary interface problem
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.
New!!: Objective-C and Fragile binary interface problem · See more »
Free and open-source software
Free and open-source software (FOSS) is software that can be classified as both free software and open-source software.
New!!: Objective-C and Free and open-source software · See more »
In some programming languages, function overloading or method overloading is the ability to create multiple methods of the same name with different implementations.
New!!: Objective-C and Function overloading · See more »
Garbage collection (computer science)
In computer science, garbage collection (GC) is a form of automatic memory management.
New!!: Objective-C and Garbage collection (computer science) · See more »
General-purpose programming language
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).
New!!: Objective-C and General-purpose programming language · See more »
In computer programming, a generic function is a function defined for polymorphism.
New!!: Objective-C and Generic function · See more »
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.
New!!: Objective-C and Generic programming · See more »
GEOS (16-bit operating system)
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.
New!!: Objective-C and GEOS (16-bit operating system) · See more »
GNU is an operating system and an extensive collection of computer software.
New!!: Objective-C and GNU · See more »
GNU Compiler Collection
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.
New!!: Objective-C and GNU Compiler Collection · See more »
GNU General Public License
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.
New!!: Objective-C and GNU General Public License · See more »
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.
New!!: Objective-C and GNUstep · See more »
The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability.
New!!: Objective-C and GObject · See more »
GTK+ (formerly GIMP Toolkit) is a cross-platform widget toolkit for creating graphical user interfaces.
New!!: Objective-C and GTK+ · See more »
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.
New!!: Objective-C and Include directive · See more »
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.
New!!: Objective-C and Include guard · See more »
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.
New!!: Objective-C and Interface (computing) · See more »
Interface Builder is a software development application for Apple's Mac OS X operating system.
New!!: Objective-C and Interface Builder · See more »
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware.
New!!: Objective-C and IOS · See more »
iOS 4 is the fourth major release of the iOS mobile operating system developed by Apple Inc., being the successor to iPhone OS 3.
New!!: Objective-C and IOS 4 · See more »
iOS 7 is the seventh major release of the iOS mobile operating system developed by Apple Inc., being the successor to iOS 6.
New!!: Objective-C and IOS 7 · See more »
ITT Inc., formerly ITT Corporation, is an American worldwide manufacturing company based in White Plains, New York.
New!!: Objective-C and ITT Inc. · See more »
Java (programming language)
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.
New!!: Objective-C and Java (programming language) · See more »
Linux is a family of free and open-source software operating systems built around the Linux kernel.
New!!: Objective-C and Linux · See more »
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.
New!!: Objective-C and LLVM · See more »
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.
New!!: Objective-C and Logtalk · See more »
Mac OS X Leopard
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.
New!!: Objective-C and Mac OS X Leopard · See more »
Mac OS X Snow Leopard
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.
New!!: Objective-C and Mac OS X Snow Leopard · See more »
macOS (previously and later) is a series of graphical operating systems developed and marketed by Apple Inc. since 2001.
New!!: Objective-C and MacOS · See more »
In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer.
New!!: Objective-C and Message passing · See more »
Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.
New!!: Objective-C and Metaprogramming · See more »
Method (computer programming)
A method in object-oriented programming (OOP) is a procedure associated with a message and an object.
New!!: Objective-C and Method (computer programming) · See more »
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).
New!!: Objective-C and Monkey patch · See more »
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.
New!!: Objective-C and Multiple inheritance · See more »
In programming languages, name binding is the association of entities (data and/or code) with identifiers.
New!!: Objective-C and Name binding · See more »
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.
New!!: Objective-C and Named parameter · See more »
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.
New!!: Objective-C and Namespace · See more »
NeXT (later NeXT Computer and NeXT Software) was an American computer and software company founded in 1985 by Apple Computer co-founder Steve Jobs.
New!!: Objective-C and NeXT · See more »
NeXTSTEP is a discontinued object-oriented, multitasking operating system based on UNIX.
New!!: Objective-C and NeXTSTEP · See more »
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.
New!!: Objective-C and NOP · See more »
Nu (programming language)
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).
New!!: Objective-C and Nu (programming language) · See more »
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.
New!!: Objective-C and O'Reilly Media · See more »
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").
New!!: Objective-C and Object-oriented programming · See more »
Objective-J is a programming language developed as part of the Cappuccino web development framework.
New!!: Objective-C and Objective-J · See more »
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.
New!!: Objective-C and Observer pattern · See more »
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.
New!!: Objective-C and OpenStep · See more »
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.
New!!: Objective-C and Operator overloading · See more »
Pointer (computer programming)
In computer science, a pointer is a programming language object that stores the memory address of another value located in computer memory.
New!!: Objective-C and Pointer (computer programming) · See more »
In computer science, pointer swizzling is the conversion of references based on name or position to direct pointer references.
New!!: Objective-C and Pointer swizzling · See more »
Polymorphism (computer science)
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.
New!!: Objective-C and Polymorphism (computer science) · See more »
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
New!!: Objective-C and Programming language · See more »
Project Builder was an integrated development environment (IDE) originally developed by NeXT for the NeXTSTEP operating system.
New!!: Objective-C and Project Builder · See more »
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.
New!!: Objective-C and Property (programming) · See more »
Protocol (object-oriented programming)
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.
New!!: Objective-C and Protocol (object-oriented programming) · See more »
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.
New!!: Objective-C and Prototype-based programming · See more »
In computer programming, the proxy pattern is a software design pattern.
New!!: Objective-C and Proxy pattern · See more »
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.
New!!: Objective-C and Reference counting · See more »
Reflection (computer programming)
In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.
New!!: Objective-C and Reflection (computer programming) · See more »
Remote procedure call
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.
New!!: Objective-C and Remote procedure call · See more »
Richard Matthew Stallman (born March 16, 1953), often known by his initials, rms—is an American free software movement activist and programmer.
New!!: Objective-C and Richard Stallman · See more »
Ruby (programming language)
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.
New!!: Objective-C and Ruby (programming language) · See more »
Run time (program lifecycle phase)
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.
New!!: Objective-C and Run time (program lifecycle phase) · See more »
Run-time type information
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.
New!!: Objective-C and Run-time type information · See more »
A runtime system, also called run-time system, primarily implements portions of an execution model.
New!!: Objective-C and Runtime system · See more »
Self (programming language)
Self is an object-oriented programming language based on the concept of prototypes.
New!!: Objective-C and Self (programming language) · See more »
Sequence container (C++)
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.
New!!: Objective-C and Sequence container (C++) · See more »
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.
New!!: Objective-C and Simula · See more »
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
New!!: Objective-C and Smalltalk · See more »
Software design pattern
In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design.
New!!: Objective-C and Software design pattern · See more »
Software engineering is the application of engineering to the development of software in a systematic method.
New!!: Objective-C and Software engineering · See more »
In computing, a spell checker (or spell check) is an application program that flags words in a document that may not be spelled correctly.
New!!: Objective-C and Spell checker · See more »
Static program analysis
Static program analysis is the analysis of computer software that is performed without actually executing programs.
New!!: Objective-C and Static program analysis · See more »
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.
New!!: Objective-C and Stepstone · See more »
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.
New!!: Objective-C and String literal · See more »
Strong and weak typing
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).
New!!: Objective-C and Strong and weak typing · See more »
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.
New!!: Objective-C and Structured programming · See more »
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.
New!!: Objective-C and Subset · See more »
Swift (programming language)
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
New!!: Objective-C and Swift (programming language) · See more »
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.
New!!: Objective-C and Tagged pointer · See more »
Templates are a feature of the C++ programming language that allows functions and classes to operate with generic types.
New!!: Objective-C and Template (C++) · See more »
TOM (object-oriented programming language)
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.
New!!: Objective-C and TOM (object-oriented programming language) · See more »
In computer science, a type signature or type annotation defines the inputs and outputs for a function, subroutine or method.
New!!: Objective-C and Type signature · See more »
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.
New!!: Objective-C and Type system · See more »
Vala (programming language)
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.
New!!: Objective-C and Vala (programming language) · See more »
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.
New!!: Objective-C and Virtual function · See more »
In computing, a virtual machine (VM) is an emulation of a computer system.
New!!: Objective-C and Virtual machine · See more »
Wired is a monthly American magazine, published in print and online editions, that focuses on how emerging technologies affect culture, the economy, and politics.
New!!: Objective-C and Wired (magazine) · See more »
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.
New!!: Objective-C and Xcode · See more »
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.