[Oberon] Need V4 Code for trivial task.

Lars noreply at z505.com
Wed Dec 14 07:39:24 CET 2016


On Tue, December 13, 2016 7:51 am, eas lab wrote:
> Skulski wrote:-
> ] The GUI paradigm is a different one.
> ]GUI systems do not have one input and one output.
> ]GUI can take its input from anywhere and it can put the output anywhere.
>
>
> No: GraphicalUserInterface is orthoginal to "number of inputs/outputs.
> It's just that the CommandLineInput [ie. instead of selecting from a
> menu] is more tolerable with the economy of concepts and corresponding
> economy of tokens in a command. -----------------
> ]..you are advocating a paradigm which Oberon System (and any other
> ] GUI system) has explicitly disposed of.
>
>
> No, and that's also why lisp and Forth are not being replaced.
> Haskell seems to be taking the lead, but lacks a NW who can analyse
> and explain the subtle aspects, instead of lapsing into "it feels nice".
>

Lisp and forth probably already have been replaced, or superseded, by
unfortunately C++. C++ with all its templating tricks is basically "plain
C with lisp like extensibility but still not as powerful as lisp"
When Paul Graham wrote his Lisp shopping cart (the first one to exist on
the internet apparently, Yahoo Stores, way way back in the day) Guess what
happened? His startup got bought, and they converted the code from lisp to
another language that modern developers could actually use and
understand... Since lisp is so bloody extensible and powerful, that's it's
double edged sword: you can modify the living hell out of a lisp program,
to the extent that no one actually understands what the lisp program is
doing any more.

With all its "macros" and changing the language at run time, rather than a
fixed simpler language like C (assuming you don't use preprocessor macros
or compiler tricks), basically no one uses lisp, because it's too much of
a nightmare to understand all the "lisp tricks" that clever (clever is not
necessarily the same as smart) programmers put into the lisp code...

Also Lisp keeps getting replaced (or refined?) with new forks of itself.
You've got Scheme, and then you've got Paul Graham's version of lisp...
all these seem to be disciplined "rewrites" of lisp to try to put some
sense in it so that it is more, disciplined...

To be fair, the same thing (but different) happened with plain C. People
forked it and created objective C and c++, and php, and other c variants,
like Java... Java was an attempt to make C code more disciplined (or C++
Rather).

As for Forth, I guess I don't know enough about it to comment, but pray
tell, who in the hell even uses forth? There's like, what a total of.. how
many Forth programmers...  Not to knock it or bash it, as again I don't
know enough about it, but it just seems like... a niche language that very
few use. Be interesting to find out how many people use it and for what
purposes.. You had that crazy version of forth called Color Forth which is
alien... and weird, which I've been meaning to try, but can't figure out
what I would actually do with it, let alone why..

Generally programming languages are not "Replaced". They don't die. They
just get refinements.  Everyone said Delphi was dead when Borland left it
to die.. but Delphi didn't die. Programming languages just don't die..

> We have a reader here who built an <Oberon Functional system> and who
> presumably should have plently to tell, but his system uses the absurd
> MocroSoft convention of haveing multi-word-tokens, which kills the
> UserInterface aspect, which you have rightly emphasised is vitally
> important.

Can you explain what a Microsoft multi word token is in their GUI?
AFIACT microsoft uses gui widgets... where are these tokens you speak of?
do you mean the windows api? What's a multi word token in a gui?

> What happened to nested functions which TurboPascal & my P-code
> interpreter used?   Like: count the sentences in dirTree:D in Files:F which
> contain "blue" & "red"
>

By nested functions do you mean code?

like

procedure test;
  procedure inner;
  begin
  end;
begin
  inner; // local function, nested
end;

or do you mean something else...

AFAIK some oberon have nested functions?
But maybe you mean something else..
like nested commands, at a unix terminal. But then you mentioned turbo
pascal so I wonder what you mean...

BTW freepascal may interest you if you are a turbopascal fan...

Then there are those higher order functions, or golfing functions inside
functions.

IMO nested functions are a double edged sword as people end up abusing
them to have functions inside functions inside functions, on and on and
on, until their program looks like a steaming pile of nested tree crap..

http://i1.trekearth.com/photos/89575/tree_complex_1.jpg

One nest deep and you aren't too bad... but once you start nesting the
crap out of everything, you end up with some bizarre program that no one
can understand that wiggles all over the screen, which makes you beg for a
plain C non nested program that reads from top to bottom...

Functional languages and their deep nests of functions inside functions is
also one of the things that I'm a biggest critic of with regards to
functional programming... Human brains are not equipped to understand such
deep nests, IMO, which is why languages like C and C++ and Java are
winning, likely.. because they read from top to bottom, not inside each
others insides and all over each others internal functions inside
functions...

Now displayed use of nests is a good thing... but deep nests IMO are bad,
and is likely one of the biggest issues with LISP and maybe even other
languages like, Javascript, but I don't know enough about javascript to
comment much.

But the nests you talk about could be something else, I don't know. It's
just that you mentioned turbo pascal..

> You conflate the BUILDING of the item with the USE of the item.
> Perhaps it's not as much fun PRODUCING choclate as EATING it?
>

It's much more fun to produce chocolate if you are making money selling
it, as consuming it does not produce a large income. The chocolate
industry is basically a monopoly right now, with the only sensible tasting
99 percent chocolate, coming from a company called Lindt, who apparently
has virtually no competitors. So when Lindt has a monopoly on 90 percent
and 99 percent rated chocolate, they make a killing in profits. I'd much
rather produce (make income from) chocolate than consume it, but even
better I'd rather produce it and sample it at the factory too, sticking my
finger into someone's bar. In other words, writing a compiler, and using
it, or writing a parser, or any program, and "eating your own dog food" is
the ideal.

> One of the few substantial projects I did was via TurboPascal-3,
> and I've been wondering how the DOS-based system made the menues and
> different source-files so effortlessly available, whereas gmail & M$: via
> a generation later [MODERN giant corporationS] are so lame! Gmail cut off
> 2 of my 3 accounts, when my system was
> stolen and I was forced to use my RPi with a TV-set and slow Inet, because
> they "detected strange activity". So they used their multidimensional game
> of sending you passwords to one account to confirm/unlock another account,
> and then cut-off the game/cycle once you had used the confirming
> phone-number N-times, because they had simplistically designed <limitation
> of N accounts per single phone-number>. If the above had been linear, it

Security is difficult, no one really gets it right... Even PayPal locks
out your credit card if you add it too many times (the same card number). 
So if you remove the credit card and then decide a few months later that
you will in fact use that card again even though you previously chose to
remove it, just be careful.. Same with bank accounts being confirmed.

Security is difficult to get right. Ultimately there should be a bypass
system, like you can call up google and say "hey this account got locked
out, is there any way I can get you to reset this for me so it works..". 
All small companies generally have this feature "call us". Big companies
suffer from the issue of lack of personal customer service because they
have grown too big. Except for banks, which have figured out a way to grow
in massive size, but still provide Local Branches you can visit for one on
one customer service. That is something to be said about banks...


More information about the Oberon mailing list