About: Oberon-2

An Entity of Type: language, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

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. It was developed in 1991 at ETH Zurich by Niklaus Wirth and Hanspeter Mössenböck, who is now at Institut für Systemsoftware (SSW) of the University of Linz, Austria. Oberon-2 is a superset of Oberon, is fully compatible with it, and was a redesign of Object Oberon. The language Component Pascal is a refinement (a superset) of Oberon-2.

Property Value
dbo:abstract
  • 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. It was developed in 1991 at ETH Zurich by Niklaus Wirth and Hanspeter Mössenböck, who is now at Institut für Systemsoftware (SSW) of the University of Linz, Austria. Oberon-2 is a superset of Oberon, is fully compatible with it, and was a redesign of Object Oberon. Oberon-2 inherited limited reflection and single inheritance ("type extension") without the interfaces or mixins from Oberon, but added efficient virtual methods ("type bound procedures"). Method calls were resolved at runtime using C++-style virtual method tables. Compared to fully object-oriented languages like Smalltalk, in Oberon-2, basic data types and classes are not objects, many operations are not methods, there is no message passing (it can be emulated somewhat by reflection and through message extension, as demonstrated in ETH Oberon), and polymorphism is limited to subclasses of a common class (no duck typing as in Python, and it's not possible to define interfaces as in Java). Oberon-2 does not support encapsulation at object or class level, but modules can be used for this purpose. Reflection in Oberon-2 does not use metaobjects, but simply reads from type descriptors compiled into the executable binaries, and exposed in the modules that define the types and/or procedures. If the format of these structures are exposed at the language level (as is the case for ETH Oberon, for example), reflection could be implemented at the library level. It could thus be implemented almost entirely at library level, without changing the language code. Indeed, ETH Oberon makes use of language-level and library-level reflection abilities extensively. Oberon-2 provides built-in runtime support for garbage collection similar to Java and performs bounds and array index checks, etc., that eliminate the potential stack and array bounds overwriting problems and manual memory management issues inherent in C and C++. Separate compiling using symbol files and namespaces via the module architecture ensure fast rebuilds since only modules with changed interfaces need to be recompiled. The language Component Pascal is a refinement (a superset) of Oberon-2. (en)
  • Оберон-2 (Oberon-2) — расширение языка программирования Оберон элементами метапрограммирования (ограниченная рефлексия) и средствами для объектно-ориентированного программирования, также добавлены открытые массивы и базовые типы указателей, поля доступные при экспорте только для чтения, восстановлен оператор FOR из Модулы-2. Разработан в 1991 году в Швейцарской высшей технической школе (Цюрих) Никлаусом Виртом и Ханспетером Мёссенбёком как переработка Объектного Оберона. Оберон-2 — расширенный набор Оберона и полностью с ним совместим. Основные дополнения: * добавлены процедуры, связанные с типом, допускающие переопределение для порождённых типов (приблизительный аналог виртуальных методов в других объектно-ориентированных языках); * в язык возвращен оператор цикла с шагом FOR; * добавлена возможность экспорта описаний в режиме «только для чтения». Существует оптимизирующий компилятор для Оберона-2; есть также компилятор языка в байт-код Java. (ru)
dbo:designer
dbo:developer
dbo:influenced
dbo:influencedBy
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 449019 (xsd:integer)
dbo:wikiPageLength
  • 21632 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1121248962 (xsd:integer)
dbo:wikiPageWikiLink
dbp:designer
dbp:developer
dbp:family
dbp:influenced
dbp:influencedBy
dbp:logo
  • Oberon programming language logo.svg (en)
dbp:name
  • Oberon-2 (en)
dbp:operatingSystem
dbp:paradigms
dbp:platform
  • Ceres , IA-32, x86-64 (en)
dbp:scope
dbp:typing
  • Strong, hybrid (en)
dbp:wikiPageUsesTemplate
dbp:wordnet_type
dcterms:subject
rdf:type
rdfs:comment
  • 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. It was developed in 1991 at ETH Zurich by Niklaus Wirth and Hanspeter Mössenböck, who is now at Institut für Systemsoftware (SSW) of the University of Linz, Austria. Oberon-2 is a superset of Oberon, is fully compatible with it, and was a redesign of Object Oberon. The language Component Pascal is a refinement (a superset) of Oberon-2. (en)
  • Оберон-2 (Oberon-2) — расширение языка программирования Оберон элементами метапрограммирования (ограниченная рефлексия) и средствами для объектно-ориентированного программирования, также добавлены открытые массивы и базовые типы указателей, поля доступные при экспорте только для чтения, восстановлен оператор FOR из Модулы-2. Разработан в 1991 году в Швейцарской высшей технической школе (Цюрих) Никлаусом Виртом и Ханспетером Мёссенбёком как переработка Объектного Оберона. Оберон-2 — расширенный набор Оберона и полностью с ним совместим. Основные дополнения: (ru)
rdfs:label
  • Oberon-2 (en)
  • Оберон-2 (ru)
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:homepage
foaf:isPrimaryTopicOf
foaf:name
  • Oberon-2 (en)
is dbo:influenced of
is dbo:influencedBy of
is dbo:knownFor of
is dbo:programmingLanguage of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is dbp:influenced of
is dbp:influencedBy of
is dbp:knownFor of
is dbp:programmingLanguage of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License