Oberon is a programming language A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication created in 1986 by Professor Niklaus Wirth Niklaus Emil Wirth is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering. In 1984 he won the Turing Award for developing a sequence of innovative computer languages (creator of the Pascal Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring, Modula, and Modula-2 Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH 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: programming languages) and his associates at ETH Zurich ETH Zurich or Swiss Federal Institute of Technology Zurich is a science and technology university in the City of Zurich, Switzerland. Locals sometimes refer to it by the name Poly, derived from the original name Eidgenössisches Polytechnikum or Federal Polytechnic Institute in Switzerland Switzerland , officially the Swiss Confederation (Confœderatio Helvetica in Latin, hence its ISO country codes CH and CHE), is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe[note 4] where it is bordered by Germany to the north, France to the west, Italy to. It was developed as part of the implementation of the Oberon operating system 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 basic system was designed and implemented by a team of two part-time programmers at ETH Zürich , Niklaus Wirth and Jürg Gutknecht. It was later extended and ported to other. The original intention was to use Modula-2 as the implementation language but it lacked the required safe type-extension facilities. Also, it was planned to eventually publish the full details of the operating system and compiler so that they could be studied and understood. These factors led to the decision to design a new language which concentrated on just the essential features necessary for the task in hand. The name is from the moon of Uranus Uranus is the seventh planet from the Sun, and the third-largest and fourth most massive planet in the Solar System. It is named after the ancient Greek deity of the sky Uranus the father of Cronus (Saturn) and grandfather of Zeus (Jupiter). Though it is visible to the naked eye like the five classical planets, it was never recognized as a planet, Oberon Oberon ,[note 5] also designated Uranus IV, is the outermost major moon of the planet Uranus. It is the second largest and second most massive of Uranian moons, and the ninth most massive moon in the Solar System. Discovered by William Herschel in 1787, Oberon is named after a character in Shakespeare's A Midsummer Night's Dream. Its orbit lies[1].

Oberon is very much like Modula-2 Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH 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: in its syntax, but is considerably smaller. Oberon's feature simplicity leads to considerable space and coding efficiency for its compilers. The full language can be specified in a page of EBNF In computer science, Extended Backus–Naur Form is a family of metasyntax notations used for expressing context-free grammars: that is, a formal way to describe computer programming languages and other formal languages. They are extensions of the basic Backus–Naur Form (BNF) metasyntax notation. The Oberon report is, at 16 pages, about a third of the size of the Modula-2 report, and one of the early full compilers was only about 4000 lines long. Unlike Modula-2, it has garbage collection In computer science, garbage collection is a form of automatic memory management. It is a special case of resource management, in which the limited resource being managed is memory. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program. Garbage collection was.

Oberon was designed for Oberon operating system 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 basic system was designed and implemented by a team of two part-time programmers at ETH Zürich , Niklaus Wirth and Jürg Gutknecht. It was later extended and ported to other which ran on the Ceres workstation (built around the National Semiconductor 32032 The 320xx or NS32000 was a series of microprocessors from National Semiconductor . They were likely the first 32-bit general-purpose microprocessors on the market, but due to a number of factors never managed to become a major player. The 320xx series was also used as the basis of the Swordfish series of microcontrollers CPU) and the Chameleon Chameleon is a computer workstation design produced at ETH Zurich running the Oberon operating system workstation. The Oberon language (and later, Oberon-2 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) has now been ported to many other operating systems, including the Java Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) platform, where Oberon source code compiles to source code in Java, or to bytecode Bytecode is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code. Since instructions are processed by software, they may be arbitrarily complex, but are nonetheless often akin to traditional hardware for a Java virtual machine. The Oberon operating system is also available for several hardware platforms other than the original workstation.

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 A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by 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.

Oberon was intended to make mistakes harder in part by making code less opaque, and in part because features not included cannot be misused.

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 Jean David Ichbiah was a French-born computer scientist and the chief designer (from 1977–1983) of Ada, a general-purpose, strongly typed programming language with certified validated compilers. At the time, he was a member of the Programming Research division at CII Honeywell Bull (CII-HB) in Louveciennes, France. He had previously designed an, the architect of Ada Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages. It was originally designed by a team led by Jean Ichbiah of CII Honeywell Bull under contract to the United States Department of Defense from 1977 to 1983 to supersede the 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!"[citation needed] Oberon developers have even felt that Oberon went too far in this respect, as Oberon-2 returned the 'FOR' statement to that version of the language.

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 Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) 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, Ichbiah'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.[citation needed]

Interesting features

Key characteristics

The following features characterise the Oberon language:

Visibility flags

Global variables, types, constants, and procedures are by default only visible within the declaring module. They may be made public to other modules by suffixing them with a visibility flag, namely an asterisk (*) for read-write permission. The default was chosen to ensure safety in case a flag was inadvertently omitted.

Local variables, types, constants, and procedures are always visible only to the declaring procedure.

Call by reference or by value

Two possible modes are available for procedure parameters. Call-by-value allows expressions to be used as parameters, so that the value of the expression is passed down to the procedure. Call-by-reference allows variables to be used, so that the value of the variable may be changed by the procedure. A procedure may declare a reference parameter by prefixing it with the VAR keyword.

Implementations and variants

Oberon

No-cost implementations of Oberon (the language) and Oberon (the operating system) can be found on the Internet (several are from ETHZ itself).

Oberon-2

A few changes were made to the first released specification (object-oriented programming features were added, the 'FOR' loop was reinstated, for instance); the result was Oberon-2 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, currently the most common implementation. There is a release called Native Oberon Native Oberon or ETHNO, is the version of the Oberon operating system which runs on x86 PC hardware. It has minimal hardware requirements . The basic system runs from a single HD-Floppy and additional software can be installed through the network. The full installation includes the Gadgets GUI and is surprisingly functional given its small code- which includes an operating system, and can directly boot on PC class hardware. A .NET The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. It includes a large library of coded solutions to common programming problems and a virtual machine that manages the execution of programs written specifically for the framework. The .NET Framework supports multiple implementation of Oberon with the addition of some minor .NET-related extensions has also been developed at ETHZ.

Oberon-2 compilers maintained by ETH include versions for Windows, Linux, Solaris, Mac OS X.

There is an Oberon-2 Lex scanner and Yacc The computer program yacc is a parser generator developed by Stephen C. Johnson at AT&T for the Unix operating system. The name is an acronym for "Yet Another Compiler Compiler." It generates a parser based on an analytic grammar written in a notation similar to BNF. Yacc generates the code for the parser in the C programming parser In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens , to determine its grammatical structure with respect to a given (more or less) formal grammar by Stephen J Bevan of Manchester University, UK, based on the one in the Mössenböck and Wirth reference. It is at version 1.4.

Oberon-07

Oberon-07, defined by Niklaus Wirth in 2007, is a revision of the original version of Oberon. The main changes are: the loop statement has been eliminated, return statements are connected to the end of a function, array assignments are handled just like other assignments, constant parameters are introduced and imported variables are read-only. For full details, see The Programming Language Oberon-07.

The initial implementations of Oberon-07 target systems using 32-bit ARM The ARM is a 32-bit reduced instruction set computer instruction set architecture (ISA) developed by ARM Holdings. It was known as the Advanced RISC Machine, and before that as the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in terms of numbers produced. They were originally conceived as a processor for desktop processors.

Related languages

Development has continued on languages in this family. A further extension of Oberon-2 produced Component Pascal 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 but is incompatible with it. Instead, it is a minor variant and refinement of Oberon-2, designed and supported by a small ETH Zürich spin-off company called Oberon microsystems, currently supported by Oberon Microsystems, a commercial company spun off from ETHZ, and by Queensland University of Technology Queensland University of Technology is located in Brisbane, Queensland, and is one of Australia's largest universities. In addition, the Lagoona Lagoona is an experimental programming language developed by Michael Franz, a former student of Niklaus Wirth. It explores component-oriented programming with the use of stand-alone messages and message sets, message forwarding, and by de-emphasizing classes and Obliq 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. The interpreter is written in Modula-3, and provides Obliq with full access to Modula-3's network objects capabilities. A type languages carry the Oberon spirit into specialized areas.

ETHZ has released Active Oberon Active Oberon is an extension of the programming language Oberon. Objects may be active, which means that they may be threads or processes. The operating system Bluebottle, especially the kernel, synchronizes and coordinates different active objects which supports active objects, and the Bluebottle operating system Bluebottle, , is the name of the next generation Native Oberon, the Oberon operating system for bare PC hardware. It was developed at the ETH Zürich. It is lean and fast and has support for multiprocessor machines. It is completely based on an upward compatible dialect of the Oberon programming language called Active Oberon. Its User Interface 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 The term x86 refers to a family of instruction set architectures based on the Intel 8086. The 8086 was launched in 1978 as a fully 16-bit extension of Intel's early 8-bit based microprocessors and also introduced segmentation to overcome the 16-bit addressing barrier of earlier chips. The term x86 derived from the fact that early successors to the CPUs and the StrongARM The StrongARM is a family of microprocessors that implemented the ARM V4 instruction set architecture . It was developed by Digital Equipment Corporation (DEC) and later sold to Intel, who continued to manufacture it before replacing it with the XScale family are supported.

Recent .NET development efforts at ETHZ have been focused on a new language called Zonnon Zonnon is a general purpose programming language in the Pascal, Modula-2 and Oberon family. Its conceptual model is based on objects, definitions, implementations and modules. Its computing model is concurrent, based on active objects which interact via syntax controlled dialogs. This includes the features of Oberon and restores some from Pascal (enumerated types, built-in IO) but has some syntactic differences. Additional features include support for active objects, operator overloading and exception handling. Zonnon is available as a plug-in language for the Microsoft Visual Studio Microsoft Visual Studio is an Integrated Development Environment from Microsoft. It can be used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows for .NET development environment.

Oberon-V (originally called Seneca, after Seneca the Younger Lucius Annaeus Seneca (c. 4 BC – AD 65) was a Roman Stoic philosopher, statesman, dramatist, and in one work humorist, of the Silver Age of Latin literature. He was tutor and later advisor to emperor Nero. He was later forced to commit suicide for complicity in the Pisonian conspiracy to assassinate this last of the Julio-Claudian emperors;) is a descendant of Oberon designed for numerical applications on supercomputers A supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation. Supercomputers were introduced in the 1960s and were designed primarily by Seymour Cray at Control Data Corporation , which led the market into the 1970s until Cray left to form his own company, Cray Research. He then took over, 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.)

References

  1. ^ N. Wirth and J. Gutknecht: Project Oberon - The Design of an Operating System and Compiler. ACM Press 1992.

External links

General

Evolution of Oberon

Categories: Class-based programming languages This category lists all object-oriented programming languages which adhere to the Class-based programming paradigm | Procedural programming languages This category lists those programming languages that adhere to the procedural programming paradigm | Oberon programming language family | Systems programming languages This category lists programming languages that provide adequate support for doing systems programming

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a.
Some facts may not have been fully verified for accuracy. [Disclaimers Wikipedia is an online open-content collaborative encyclopedia, that is, a voluntary association of individuals and groups working to develop a common resource of human knowledge. The structure of the project allows anyone with an Internet connection to alter its content. Please be advised that nothing found here has necessarily been reviewed by]
This page was last archived by our server on Thu Jul 29 04:22:58 2010. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.


ProgOberonD gif
cs.inf.ethz.ch
ProgOberonD gif
214px x 150px | 16.10kB

[source page]

Programmieren in Oberon Das neue Pascal Martin Reiser und

Yahoo Images Search: Oberon programming language,
Thu Jul 29 04:23:02 2010
OBJECT ORIENTED PROGRAMMING LANGUAGE -OOP
ec-miniprojects.blogspot.com
OBJECT ORIENTED PROGRAMMING LANGUAGE -OOP

examstime

Mon, 29 Jun 2009 07:04:00 GM

Oberon. -2. Object REXX; Objective-C; Objective Caml; Oz. Mozart . Programming. System. Perl 5; PHP; Pliant; PRM; Prototype-based​ . languages. . Actor-Based Concurrent . Language. , ABCL: ABCL/1, ABCL/R, ABCL/R2, ABCL/c+; Agora; Cecil ...

Google Blogs Search: Oberon programming language,
Thu Jul 29 04:23:02 2010