Discussion:
Updating the standard modules (was Re: OberonF/BlackBox: XYplane-output-window-size)
(too old to reply)
y***@z505.com
2015-09-22 06:08:26 UTC
Permalink
Replying to an old post from 1999... yes I know it's 2015.
There is a draft ADT (abstract data type) library for OOC (see the home
page http://www.uni-kl.de/OOC/). It has is an abstraction for containers
that includes both internal iterators (eg. to apply a function to all
elements of a container) and external iterators (ie. Riders). There is a
persistence mechanism that allows arbitrary (possibly cyclic) data
structures to be saved and retrieved from streams. This includes the
concept of "Alien" objects, as found in BlackBox Stores. This means that
you can safely continue to manipulate containers even when you do not
have the object code required for the component objects.
This module uses OOC's abstract types extension. However, the code can
be transformed into standard O2 using the code navigator (oocn). I'm
sure that any input into this project would be welcome. For those
interested, there was an extensive discussion of the topic on the OOC
mailing list (also available via the OOC home page).
I have not followed the OOC too closely, so excuse me for the following
ignorant question: from what you said I infer OOC has defined some
extensions to the Oberon-2 language (namely, abstract types extension).
You further mention BlackBox. This leaves me to wonder: did you try
to converge the OOC towards Component Pascal, and if not, why not?
Do not take me wrong, I am not criticising OOC. I only think that
CP is a powerful step forward, and I was hoping that the (much overdue?)
Oberon-2 overhaul will either embrace CP, or will simply become a CP.
I have programmed a both under O-2 and CP, and frankly I think CP
is a wonderful language. I also think that we would gain if we were not
branching into different directions, but try to follow one direction
instead.
Does this make sense to you?
Wojtek
It makes sense to me! I'm certain that if I was here on the internet back in 1999 I would have answered this post back then. So now it is 2015 and look what has happened: different directions of all kinds. Oberon, Oberon 2, Oberon 7, Component pascal from swiss folk, oberon extensions, gardens point component pascal from maybe not swiss folk... Yep we are branching out just as Standard pascal was castrated at birth (lacking) and needed to branch out so it wouldn't be as castrated, which fragments the oberon community and mostly people just end up using Delphi or go back to C and C++, or run off to Ruby, Python, PHP.

So you see, the C language has actually branched in different directions too... there is C++, PHP (c based), Perl (written in C when it was perl 5), Ruby, Python, all these languages are to address the problems of C. People don't think of these languages as C languages but really they are to replace a lot of C code. Oberon and Standard pascal suffered the same problem: they were languages that needed to be branched off and fragmented the community into multiple sections. Maybe the only useful industrial version of Oberon is Go Language which is based on it, but nothing close to it... similar to how Delphi is no longer anything near standard pascal. Oh yes and Java is just another language based on C which splits the C community once again. And C# what a joke that is... forcing everything to be a class like java (but what about Int or Integer, can they be classes too? Rhetorical stupid question).

So sure I'm mad at oberon for splitting the communities into several different oberons, but C also suffers this problem.

Can anyone get it right? I doubt it. Seems more like a trial and error process, rather than intelligent design. Programming languages are stupid design, evolving into silly beasts instead of being designed right from day one.

If someone wants to evolve oberon, I guess they should do it since it wasn't designed right. Define "right" you say. Okay, well, for one thing, the string debate is ongoing, and my other posts address that. There is no right way to do strings, but there certainly are better ways. Maybe the oberon language should be open to criticism instead of just being defined on paper and everyone is supposed to blindly accept the language as perfect since it came from swiss folk and swiss folk are always right. I used to think europeans were on to something, until I looked at all the barf languages developed by europeans...from netherlands, denmark, (c++, python they came from somewhere in europe, I could careless where exactly), iceland (php?), ... so we can't blame america, folks. This is a european problem too. (Dijkstra was notorious for blaming americans and thinking europe was better at programming).

People criticize COBOL as being a joke developed by the US Navy... what about the jokes that come from Europe which are just as obnoxious as cobol. The only progress made is most people abandoned spaghetti Goto's.. but that's about the only progress made. In other respects, we've gone downhill ever since algol.

Regards,
Z505 Software
Replying to old posts that are still relevant today
You'd be surprised.
UlrichEduard
2021-08-21 15:17:38 UTC
Permalink
Post by y***@z505.com
Replying to an old post from 1999... yes I know it's 2015.
There is a draft ADT (abstract data type) library for OOC (see the home
page http://www.uni-kl.de/OOC/). It has is an abstraction for containers
that includes both internal iterators (eg. to apply a function to all
elements of a container) and external iterators (ie. Riders). There is a
persistence mechanism that allows arbitrary (possibly cyclic) data
structures to be saved and retrieved from streams. This includes the
concept of "Alien" objects, as found in BlackBox Stores. This means that
you can safely continue to manipulate containers even when you do not
have the object code required for the component objects.
This module uses OOC's abstract types extension. However, the code can
be transformed into standard O2 using the code navigator (oocn). I'm
sure that any input into this project would be welcome. For those
interested, there was an extensive discussion of the topic on the OOC
mailing list (also available via the OOC home page).
I have not followed the OOC too closely, so excuse me for the following
ignorant question: from what you said I infer OOC has defined some
extensions to the Oberon-2 language (namely, abstract types extension).
You further mention BlackBox. This leaves me to wonder: did you try
to converge the OOC towards Component Pascal, and if not, why not?
Do not take me wrong, I am not criticising OOC. I only think that
CP is a powerful step forward, and I was hoping that the (much overdue?)
Oberon-2 overhaul will either embrace CP, or will simply become a CP.
I have programmed a both under O-2 and CP, and frankly I think CP
is a wonderful language. I also think that we would gain if we were not
branching into different directions, but try to follow one direction
instead.
Does this make sense to you?
Wojtek
It makes sense to me! I'm certain that if I was here on the internet back in 1999 I would have answered this post back then. So now it is 2015 and look what has happened: different directions of all kinds. Oberon, Oberon 2, Oberon 7, Component pascal from swiss folk, oberon extensions, gardens point component pascal from maybe not swiss folk... Yep we are branching out just as Standard pascal was castrated at birth (lacking) and needed to branch out so it wouldn't be as castrated, which fragments the oberon community and mostly people just end up using Delphi or go back to C and C++, or run off to Ruby, Python, PHP.
So you see, the C language has actually branched in different directions too... there is C++, PHP (c based), Perl (written in C when it was perl 5), Ruby, Python, all these languages are to address the problems of C. People don't think of these languages as C languages but really they are to replace a lot of C code. Oberon and Standard pascal suffered the same problem: they were languages that needed to be branched off and fragmented the community into multiple sections. Maybe the only useful industrial version of Oberon is Go Language which is based on it, but nothing close to it... similar to how Delphi is no longer anything near standard pascal. Oh yes and Java is just another language based on C which splits the C community once again. And C# what a joke that is... forcing everything to be a class like java (but what about Int or Integer, can they be classes too? Rhetorical stupid question).
So sure I'm mad at oberon for splitting the communities into several different oberons, but C also suffers this problem.
Can anyone get it right? I doubt it. Seems more like a trial and error process, rather than intelligent design. Programming languages are stupid design, evolving into silly beasts instead of being designed right from day one.
If someone wants to evolve oberon, I guess they should do it since it wasn't designed right. Define "right" you say. Okay, well, for one thing, the string debate is ongoing, and my other posts address that. There is no right way to do strings, but there certainly are better ways. Maybe the oberon language should be open to criticism instead of just being defined on paper and everyone is supposed to blindly accept the language as perfect since it came from swiss folk and swiss folk are always right. I used to think europeans were on to something, until I looked at all the barf languages developed by europeans...from netherlands, denmark, (c++, python they came from somewhere in europe, I could careless where exactly), iceland (php?), ... so we can't blame america, folks. This is a european problem too. (Dijkstra was notorious for blaming americans and thinking europe was better at programming).
People criticize COBOL as being a joke developed by the US Navy... what about the jokes that come from Europe which are just as obnoxious as cobol. The only progress made is most people abandoned spaghetti Goto's.. but that's about the only progress made. In other respects, we've gone downhill ever since algol.
Regards,
Z505 Software
Replying to old posts that are still relevant today
You'd be surprised.
Go has GOTO ...
Luke A. Guest
2021-08-22 20:44:24 UTC
Permalink
Post by UlrichEduard
Post by y***@z505.com
Can anyone get it right? I doubt it. Seems more like a trial and error
process, rather than intelligent design.  Programming languages are
stupid design, evolving into silly beasts instead of being designed
right from day one.
Ada was designed from day one.
Post by UlrichEduard
Post by y***@z505.com
If someone wants to evolve oberon, I guess they should do it since it
wasn't designed right. Define "right" you say. Okay, well, for one
I'm going to use it as a basis for my language. Whether it'll be
designed right or not, is debatable ;P
Post by UlrichEduard
Post by y***@z505.com
thing, the string debate is ongoing, and my other posts address that.
There is no right way to do strings, but there certainly are better
We're stuck with Unicode for now.
Post by UlrichEduard
Post by y***@z505.com
ways.  Maybe the oberon language should be open to criticism instead
of just being defined on paper and everyone is supposed to blindly
accept the language as perfect since it came from swiss folk and swiss
folk are always right.  I used to think europeans were on to
Are they?
Post by UlrichEduard
Post by y***@z505.com
something, until I looked at all the barf languages developed by
europeans...from netherlands, denmark, (c++, python  they came from
somewhere in europe, I could careless where exactly), iceland (php?),
... so we can't blame america, folks. This is a european problem too.
(Dijkstra was notorious for blaming americans and thinking europe was
better at programming).
I blame the American's for C and indirectly everything that has C
leanings, C++, Java, C#, literally every reddit post saying "hey! I
fixed C," and don't.
Post by UlrichEduard
Post by y***@z505.com
People criticize COBOL as being a joke developed by the US Navy...
what about the jokes that come from Europe which are just as obnoxious
as cobol. The only progress made is most people abandoned spaghetti
Goto's.. but that's about the only progress made. In other respects,
we've gone downhill ever since algol.
Regards,
Z505 Software
Replying to old posts that are still relevant today
You'd be surprised.
Go has GOTO ...
Ada made a point of making goto's stand out to be readable and limit's
their use, so cannot goto across subprogram/package boundaries, can only
goto a label that has been seen by the compiler.

Luke.
UlrichEduard
2021-08-31 07:46:31 UTC
Permalink
Post by Luke A. Guest
Post by UlrichEduard
Post by y***@z505.com
People criticize COBOL as being a joke developed by the US Navy...
what about the jokes that come from Europe which are just as
obnoxious as cobol. The only progress made is most people abandoned
spaghetti Goto's.. but that's about the only progress made. In other
respects, we've gone downhill ever since algol.
Regards,
Z505 Software
Replying to old posts that are still relevant today
You'd be surprised.
Go has GOTO ...
Ada made a point of making goto's stand out to be readable and limit's
their use, so cannot goto across subprogram/package boundaries, can only
goto a label that has been seen by the compiler.
Luke.
Ada obviously went only halfway. GOTO is bad language design, using it
is bad programming style.

Loading...