Content deleted Content added
Tag: |
|||
(6 intermediate revisions by 6 users not shown) | |||
Line 1:
{{WikiProject banner shell|class=Start|
{{WikiProject Computing |software=y |software-importance=Mid |importance=Low}}
}}
==Problems with the current aricle -- long list==
I don't have the information to correct this, but
Line 125 ⟶ 129:
A recent edit by Taw included an edit summary noting the article said oberon was not object oriented. As this can be achieved in various ways, including that used by Wirth et al in the design of Oberon, I suggest that this edit is confused as to the underlying facts. And in any case, the article also says plainly the O is object oriented, just not in the C++, Java, or Smalltalk fashion. Comments? [[User:Ww|ww]] 05:22, 20 October 2006 (UTC)
:I would say that while Oberon supports the practice of OOP, it also supports Imperative programming. It's a component-orientated language, which gives a lot more expressive freedom to the programmer. If I may go all poetical for a moment, the Copernican revolution in programming was the sudden awareness that algorithms should revolve around data and not data around algorithms - an allusion to the discovery that the earth revolves around the sun. But as modern thinkers we should be aware that in fact the sun and the earth revolve around their common centre of gravity, which turns out to be outside the surface of the sun. Likewise, you can't write a decent large software system without understanding BOTH the data and the algorithms. This is an archetypical Niklaus Wirth view - refer to his ancient book "Algorithms + Data Structures = Programs" (Wirth, 1975, {{ISBN
::Oberon-1 wasn't even the slightiest bit object-oriented. In Oberon-2 there's no message passing, not everything is an object (in particular classes are not objects), polymorphism is limited to class hierarchies, and there's no object-based encapsulation. What it really supports is [[abstract data types]] and [[component-oriented]] programming (it is pretty much irrelevant whether it's "better" than oop, it's just not oop). It supports a little OOP, but to call it is too much to call it an "object-oriented programming language". [[User:Taw|Taw]] 17:51, 31 October 2006 (UTC)
Line 179 ⟶ 183:
Both. See Page 8 of the Project Oberon book listed in the references. The moons of Uranus and the "king of elfs" are both mentioned.[[User:Chris Burrows|Chris Burrows]] ([[User talk:Chris Burrows|talk]]) 00:11, 6 March 2010 (UTC)
: According to prof Wirth, the language is named after the moon.
== Unanswered questions ==
After reading the article through I find myself lacking a lot of elementary information on the language. I don't know what term Oberon uses for functions (proc? function? subroutine?).
I don't know if it has record structures or something comparable. I don't know how its objects differ from those in C++, just that they differ. I don't know whether a language feature must be declared before use, as in Pascal. I don't know whether arrays of different sizes are considered different types, one of the most criticized features of Pascal, and which most other modern languages try to circumvent. I don't know if the language supports JAVA-style interfaces. I don't know what the entry point of the programming is -- a "main" routine as in C? Sample source code would help, but the only sample source code I've seen was on this Talk page, not in the main article. In short, this article needs a lot of work. [[User:CharlesTheBold|CharlesTheBold]] ([[User talk:CharlesTheBold|talk]]) 01:42, 17 June 2012 (UTC)
Both procedures and functions that return a result are called procedures.
Oberon has record structures. Additionally, unlike Pascal and Modula-2 these are extensible and so variant records are no longer required.
Identifiers must be declared before use apart from pointer references.
Name-compatibility is used rather than structure-compatibility as in Pascal and Modula-2. However, the dimensionless 'ARRAY OF <type>' can be used to allow arrays of arbitrary size to be passed as procedure parameters.
Interfaces are not supported.
On a suitably capable operating system (e.g. the Oberon operating system) any parameterless exported procedure may be an entry point - programs are constrained to just one entry point.
Note that this is an encyclopedia article not a Language Reference. Refer to the external links for more in-depth information about the language.
[[User:Chris Burrows|Chris Burrows]] ([[User talk:Chris Burrows|talk]]) 11:50, 17 June 2012 (UTC)
==POV==
The article seems to me to have a POV problem. It sounds like a booster of the language wrote it.--[[Special:Contributions/76.169.116.244|76.169.116.244]] ([[User talk:76.169.116.244|talk]]) 03:13, 26 December 2014 (UTC)
|