FACTOID # 125: India’s criminal courts acquitted over a million defendants in 1999, more than the next 48 surveyed countries combined.
 
 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 > Oberon programming language
Jump to: navigation, search

Oberon is a reflective programming language created in the late 1980s by Professor Niklaus Wirth (creator of the Pascal, Modula, and Modula-2 programming languages) and his associates at ETHZ in Switzerland. The name is from the moon of Uranus, Oberon. Jump to: navigation, search In computer science, reflection (or computational reflection) is the ability of a program to observe and possibly modify its high level structure. ... Jump to: navigation, search A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ... Jump to: navigation, search Niklaus Wirth giving a lecture Niklaus E. Wirth (born February 15, 1934) is a Swiss computer scientist. ... Jump to: navigation, search Pascal is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. ... In the mid-1970s, after designing the Pascal programming language, Niklaus Wirth began experimenting with program concurrency and modularization, which led to the design of the Modula programming language. ... Jump to: navigation, search Modula-2 is a computer programming language invented by Niklaus Wirth at ETH around 1978, as a successor to Modula, another language by him. ... ETH Zurich (from its German name Eidgenössische Technische Hochschule Zürich, ETHZ) is the Swiss Federal Institute of Technology in Zürich, Switzerland. ... Atmospheric characteristics Atmospheric pressure 120 kPa Hydrogen 83% Helium 15% Methane 1. ... Atmospheric pressure 0 kPa Oberon (oe-bur-on) is the outermost of the major moons of the planet Uranus. ...


Oberon is also, somewhat confusingly, the name of the Oberon operating system, written in Oberon, for the Ceres workstation (built around the National Semiconductor 32032 CPU) and for the Chameleon workstation. Oberon, the language, has now been ported to many other operating systems, and is even available for the Java platform, where Oberon source code compiles to source code in Java, or to bytecode for a Java virtual machine. The Oberon operating system is also available for several other hardware platforms than the original workstation. Oberon is an operating system, originally developed as part of the NS32032-based Ceres workstation project; it is written entirely in the Oberon programming language. ... The 320xx is a series of microprocessors from National Semiconductor (NS, Natsemi). The 320xx processors have a coprocessor interface which allows coprocessors such as FPUs and MMUs to be attached in a chain. ... Chameleon is a computer workstation design produced at ETH Zurich running the Oberon operating system. ... Jump to: navigation, search Java is a reflective, object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. ... Byte-code is a sort of intermediate code that is more abstract than machine code. ...


The design continued the Wirth tradition/strategy of attempting to simplify without loss of power. Oberon may be thought of as a Modula-2 with full object oriented class/object capabilities, though not exactly in C++ or Smalltalk style. On the other hand, Oberon omits variant records, as these now can be implemented more safely using type extension, and other features such as enumeration types and subrange types, found in older Wirthian languages and elsewhere. Portrait of Niklaus Wirth taken 1969, courtesy of Robert M. McClure. ... 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. ... Jump to: navigation, search C++ (pronounced see plus plus, IPA: /siː pləs pləs/) is a general-purpose computer programming language. ... Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ...


Oberon is very much Modula-2 like in its syntax, but offers several interesting features. Perhaps the foremost is 'type extension' by which most of the reuseability of object classes is made available. Furthermore, 'binding to a type' is included, which ties what would in Smalltalk be called 'methods' to a type (ie, class), with the result being object orientation. As with other modern programming languages, garbage collection is an inherent part of the language. Procedures are also cleanly exportable. Jump to: navigation, search Modula-2 is a computer programming language invented by Niklaus Wirth at ETH around 1978, as a successor to Modula, another language by him. ... In object-oriented programming, a class consists of a collection of types of encapsulated instance variables and types of methods, possibly with implementation of those types together with a constructor function that can be used to create objects of the class. ... 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. ... In computing, garbage collection (also known as GC) is a form of automatic memory management. ...


Oberon's feature simplicity leads to considerable space and coding efficiency for its compilers, as little provision is needed for features not included. The full language can be specified in something like a page of EBNF, the Oberon report is, at 16 pages, about 1/3 the size of the Modula-2 report, and one of the early full compilers was about 4000 lines long. In addition, compiler output is also smaller and faster, probably also due to reduced feature complexity. Entire Web browsers written in Oberon have fit on a single floppy disk. The Extended Backus-Naur form (EBNF) is any variation on the basic Backus-Naur form (BNF) metasyntax notation with (some of) the following additional constructs: square brackets [..] surrounding optional items, suffix * for Kleene closure (a sequence of zero or more of an item), suffix + for one or more of an... Jump to: navigation, search A floppy disk is a data storage device that is composed of a circular piece of thin, flexible (i. ...

Contents


Design goals

Oberon is designed to be a 'safe' language; it employs array bounds checking, garbage collection and strong type checking. These features, particularly ones which enable logic errors to be detected as early as possible (i.e. at compile-time), can significantly reduce the number of bugs occurring in a program at runtime. However, some features included in other languages in an attempt to reduce bugs (e.g. enumerations and programmer-defined ranges on integers), were omitted. Consequently, more care should be taken by the programmer, when working with numeric expressions, to avoid logic errors. A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working as intended, or produces an incorrect result. ...


Oberon was intended to make mistakes harder in part by making code less opaque, and in part because features not included cannot be misused. This approach can be taken even further, as in APL, which is both exceptionally terse and renowned for being less than easy to understand, but Oberon was deliberately constructed to not over simplify. APL (for A Programming Language, or sometimes Array Processing Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. ...


As this is an intent whose success cannot be easily quantified, there remains some disagreement that Oberon has achieved its intended goals in this respect. One objection to its strategy of language design simplification was expressed by Jean Ichbiah, the architect of Ada when Wirth criticized Ada for being too big; he responded "There are times when Wirth believes in small solutions for big problems. I don't believe in that sort of miracle. Big problems need big solutions!" Oberon developers have even felt that Oberon (version 1) went too far in this respect -- Oberon 2 returned the 'FOR' statement to that version of the language. Jump to: navigation, search Jean David Ichbiah (born 25 March 1940) was the chief designer of the Ada programming language, from 1977–1983. ... Ada is a structured, statically typed imperative computer programming language designed by a team lead by Jean Ichbiah of CII Honeywell Bull during 1977–1983. ...


It can be argued that failure to include a feature may force the programmer to reimplement the feature in his code, leading to multiple 'wheel reinvention' and consequent problems. Libraries can mitigate this -- more or less -- effectively depending on the feature and a language's graceful use of such libraries. Java is an example of a relatively simple language (though far less so than Oberon) embedded in large standard libraries. (Oberon has a much smaller standard library than Java.) As much of the effort of learning any language is learning the standard libraries, Ichibah's objection above can be extended to a strategy of simplification by moving features from the core language into standard libraries. Wirth, and Oberon fans, argue that Oberon has essentially, and effectively, avoided this problem. Jump to: navigation, search Java is a reflective, object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. ...


Available implementations & further language variants

No-cost implementations of Oberon (the language) and Oberon (the operating system) can be found on the Internet (several are from ETHZ itself). A few changes were made to the first released specification (the 'FOR' loop was reinstated, for instance); the result was Oberon 2, currently the most common implementation. There is also a .NET version in development for those interested in Microsoft's vision. There is a release called Native Oberon. As it includes an operating system, it can directly boot on PC class hardware. Oberon-2 is a refinement to Oberon programming language, which adds the FOR loop and type bound procedures, which is to Oberon, what classes are to other object oriented programming languages. ... Jump to: navigation, search The . ... Native Oberon is the version of the Oberon operating system which runs on bare PC hardware. ...


Development has continued on languages in this family. A further extension of Oberon 2 produced Component Pascal, currently supported by a commercial company spun off from ETHZ. In addition, the Lagoona and Obliq languages carry the Oberon spirit into specialized areas. ETHZ has released Active Oberon which supports active objects, and the Bluebottle operating system and environment (JDK, HTTP, FTP, etc) for the language. As with many prior designs from ETHZ, versions of both are available for download on the Internet. As this is written, both single and dual x86 CPUs and the StrongARM family are supported. Component Pascal is a programming language in the tradition of Oberon and Oberon-2, the last language Niklaus Wirth designed before he retired in 1999. ... Obliq is an interpreted, object-oriented programming language designed to make distributed, and locally multi-threaded, computation simple and easy for the programmer, while providing program safety and untyped variables. ... Jump to: navigation, search Bluebottle, also known as AOS, is the name of the next generation Native Oberon, the Oberon operating system for bare PC hardware. ... x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ... Jump to: navigation, search DEC StrongARM SA-110 Microprocessor The StrongARM microprocessor is a faster version of the Advanced RISC Machines ARM design. ...


Oberon-V (originally called Seneca) is a descendant of Oberon designed for numerical applications on supercomputers, especially vector or pipelined architectures. It includes array constructors and an ALL statement. (See "Seneca - A Language for Numerical Applications on Vectorcomputers", Proc CONPAR 90 - VAPP IV Conf. R. Griesemer, Diss Nr. 10277, ETH Zurich.)


See also

  • Hello World program in Oberon

Jump to: navigation, search A hello world program is a computer program that prints out Hello, world! on a display device. ...

External links

  • ETH Oberon Home Page
  • Native Oberon Home Page at ETHZ
  • Oberon Language Genealogy

  Results from FactBites:
 
Oberon programming language - Wikipedia, the free encyclopedia (1010 words)
Oberon is a reflective programming language created in the late 1980s by Professor Niklaus Wirth (creator of the Pascal, Modula, and Modula-2 programming languages) and his associates at ETHZ in Switzerland.
Oberon is also, somewhat confusingly, the name of the Oberon operating system, written in Oberon, for the Ceres workstation (built around the National Semiconductor 32032 CPU) and for the Chameleon workstation.
Oberon, the language, has now been ported to many other operating systems, and is even available for the Java platform, where Oberon source code compiles to source code in Java, or to bytecode for a Java virtual machine.
  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.