Richard
2012-06-09 14:15:00 UTC
(added comp.lang.oberon to the newsgroup list)
The rating "as simple as possible" always depends on the goals one
wants to achive. The Oberon programming language was designed to
implement the Oberon System and its application programs.
Nevertheless, it is a general-purpose programming language and
contains features like local procedures which are not available in
many other programming languages and would not really have been
necessary to implement the Oberon System.
unique user interface. If you want to create native user interfaces
for other operating systems, you have to use different libraries. This
is the same for all programming languages.
created with Oberon and other "procedural-only sequential" programming
lanuguages.
Also, Oberon supports type extension and thus reuse and extensibility
similar to object-oriented languages. Therefore, I would not call it a
"procedural-only" programming language.
possible to create and use collection libraries, however, due to the
lack of generics, it is often preferable to use built-in arrays or
pointers resp. references explicitly.
support for parallelism. This does not preclude parallelism supported
by libraries and operating systems.
language on other operating systems, it is easily possible to link
different versions of a module to a program or library.
comparable to languages like Java. The Oberon System and it's
libraries are, however, quite different from everything else.
Richard
In truth, the more I look into FP languages, the more I appreciate
Wirth's use of Einstein's one-liner, "Make it as simple as possible, but
not simpler", in reference to his Oberon language.
in past times... i also likes such filosofy, likes Oberon.Wirth's use of Einstein's one-liner, "Make it as simple as possible, but
not simpler", in reference to his Oberon language.
wants to achive. The Oberon programming language was designed to
implement the Oberon System and its application programs.
Nevertheless, it is a general-purpose programming language and
contains features like local procedures which are not available in
many other programming languages and would not really have been
necessary to implement the Oberon System.
1) Oberon do not define libraries, and their complexity way bigger
than language complexity. it's small project for specific purpose. and
makes specific solutions, solutions only for that purposes, not generally
applicable.
A lot of libraries (modules) are targeted to the Oberon System and itsthan language complexity. it's small project for specific purpose. and
makes specific solutions, solutions only for that purposes, not generally
applicable.
unique user interface. If you want to create native user interfaces
for other operating systems, you have to use different libraries. This
is the same for all programming languages.
2) Oberon language is minimum-minimorum, procedural-only sequential
core. it's for system programming, not for applications.
I do not agree with this assertion. Applications can and have beencore. it's for system programming, not for applications.
created with Oberon and other "procedural-only sequential" programming
lanuguages.
Also, Oberon supports type extension and thus reuse and extensibility
similar to object-oriented languages. Therefore, I would not call it a
"procedural-only" programming language.
It don't have lists or other frequiently used in applications data
strictures and send user to libraries for such functionality. meanwhile, like Ada.
SML has lists.
Oberon is similar to Java before version 1.5 in this respect: It isstrictures and send user to libraries for such functionality. meanwhile, like Ada.
SML has lists.
possible to create and use collection libraries, however, due to the
lack of generics, it is often preferable to use built-in arrays or
pointers resp. references explicitly.
3) Oberon not defines parallel semantic, it mere ephemeral/procedural.
Similar to many other programming languages there is no explicitsupport for parallelism. This does not preclude parallelism supported
by libraries and operating systems.
4) Oberon do not permit to have two independently developed
applications coexist. Oberon just do not thinks about interoperability,
like Ada 83. All oberon system must be one, extensible, application.
All modules have only one "true" implementation.
By design, one version for all.
These are concepts of the Oberon System. When using the Oberonapplications coexist. Oberon just do not thinks about interoperability,
like Ada 83. All oberon system must be one, extensible, application.
All modules have only one "true" implementation.
By design, one version for all.
language on other operating systems, it is easily possible to link
different versions of a module to a program or library.
Oberon is good, but you can not directly compare it with other languages,
with general-purpose languages, like SML. They have different semantic
and different powers, they have different purposes and different solutions,
different functionality.
The Oberon language is a general-purpose programming languagewith general-purpose languages, like SML. They have different semantic
and different powers, they have different purposes and different solutions,
different functionality.
comparable to languages like Java. The Oberon System and it's
libraries are, however, quite different from everything else.
Richard