Paradigm | Object-oriented |
---|---|
Developer | H Mössenböck, J Templ, R Griesemer |
First appeared | 1990 |
Influenced by | |
Oberon | |
Influenced | |
Oberon-2 |
Object Oberon is a programming language which is based on the Oberon programming language with features for object-oriented programming. Oberon-2 was essentially a redesign of Object Oberon.
A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data, in the form of fields, and code, in the form of procedures. A feature of objects is an object's procedures that can access and often modify the data fields of the object with which they are associated. In OOP, computer programs are designed by making them out of objects that interact with one another. OOP languages are diverse, but the most popular ones are class-based, meaning that objects are instances of classes, which also determine their types.
Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export and reintroduces the FOR loop from Modula-2.
In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state and implementations of behavior. In many languages, the class name is used as the name for the class, the name for the default constructor of the class, and as the type of objects generated by instantiating the class; these distinct concepts are easily conflated.
Oberon is a general-purpose programming language created in 1986 by Niklaus Wirth and the latest member of the Wirthian family of ALGOL-like languages. Oberon was the result of a concentrated effort to increase the power of Modula-2, the direct successor of Pascal, and simultaneously to reduce its complexity. Its principal new feature is the concept of type extension of record types: It permits the construction of new data types on the basis of existing ones and to relate them, deviating from the dogma of strictly static data typing. Type extension is Wirth's way of inheritance reflecting the viewpoint of the parent site. Oberon was developed as part of the implementation of the Oberon operating system at ETH Zurich in Switzerland. The name is from the moon of Uranus, Oberon.
This is a "genealogy" of programming languages. Languages are categorized under the ancestor language with the strongest influence. Those ancestor languages are listed in alphabetical order. Any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources.
Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates.
A method in object-oriented programming (OOP) is a procedure associated with a message and an object. An object consists of data and behavior. The data and behavior comprise an interface, which specifies how the object may be utilized by any of various consumers of the object.
The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language of the same name. It was originally developed in the late 1980s at ETH Zürich. The Oberon System has an unconventional visual Text User Interface instead of a conventional CLI or GUI. This "TUI" was very innovative in its time and influenced the design of the Acme text editor for the Plan 9 from Bell Labs operating system.
Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the Pascal programming language and it preserves its heritage, but it is not compatible with Pascal. Instead, it is a minor variant and refinement of Oberon-2 with a more expressive type system and built-in string support. Component Pascal was originally designed and supported by a small ETH Zürich spin-off company called Oberon microsystems under the name Oberon/L. They developed an IDE called BlackBox Component Builder. Since 2014 development and support has been taken over by a small group of volunteers. At the time the first version of the IDE was released it presented a novel approach to graphical user interface (GUI) construction based on editable forms, where fields and command buttons are linked to exported variables and executable procedures. This approach bears some similarity to the code-behind way used in Microsoft's .NET 3.0 to access code in XAML, which was released in 2008.
Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
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. It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. This practice aims to bring about an equally wide-ranging degree of benefits in both the short-term and the long-term for the software itself and for organizations that sponsor such software.
History of Programming Languages (HOPL) is an infrequent ACM SIGPLAN conference. Past conferences were held in 1978, 1993, and 2007. The fourth conference will take place in June 2020.
BlackBox Component Builder is an integrated development environment (IDE) optimized for component-based software development developed by a small spin-off ETH-Zürich company in Switzerland. The IDE consists of development tools, a library of reusable components, a framework that simplifies the development of robust custom components and applications, and a run-time environment for components.
Active Oberon is a general purpose programming language developed during 1996-1998 by the group around Niklaus Wirth and Jürg Gutknecht at the Swiss Federal Institute of Technology (ETH) in Zürich. It is an extension of the programming language Oberon. The extensions aim at implementing active objects as expressions for parallelism. Compared to its predecessors, Oberon and Oberon-2, Active Oberon adds objects, system-guarded assertions, preemptive priority scheduling and a changed syntax for methods. Objects may be active, which means that they may be threads or processes. The operating system A2 aka Bluebottle, especially the kernel, synchronizes and coordinates different active objects.
The Ceres Workstation was a computer built by Niklaus Wirth's group around 1985. Ceres was a workstation based on the NS320xx a CPU by National Semiconductor. Ceres was a follow-up project to the Lilith, a machine based on AMD bit-slice technology and the programming language Modula-2. The operating system of Ceres, called "The Oberon System" was completely written in the programming language Oberon. It is an early example of an object oriented operating system utilizing garbage collection on the system level and a document centered approach for the user interface, as envisaged later with OpenDoc.
Modula-2 is a computer programming language designed and developed between 1977 and 1985 by Niklaus Wirth at the Swiss Federal Institute of Technology in Zurich as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith. The principal concepts were:
This programming-language-related article is a stub. You can help Wikipedia by expanding it. |