Remember that Go vs D MQTT thing and how we wondered about dmd vs gdc?
Paulo Pinto
pjmlp at progtools.org
Mon Mar 17 15:28:13 PDT 2014
Am 17.03.2014 22:24, schrieb Bienlein:
> On Monday, 17 March 2014 at 17:02:06 UTC, Paulo Pinto wrote:
>> That is no wonder.
>>
>> If you search the web for references, you will find that Rob Pike very
>> much dislikes OOP.
>
> All right, but what is then the solution to encapsulate things? A type
> switch breaks encapsulation: If you change some inner works of component
> A you might have to extend the type switch in Component B. I understand
> the argument that dynamic binding is a high price to achieve this, but a
> type switch as in Go that simply breaks encapsulation is not very
> convincing.
>
>> When I jumped into Go as of the language's announcement, was due to
>> the language influence of Oberon.
>
> Do you have some affiliation with the ETHZ? Oberon didn't spread much
> outside of it. I played with Oberon many years ago and I also recognized
> similarities of it in Go. Just read about it again to recap and it was
> striking to see how much the Oberon WITH statement resembles a Go type
> switch. I guess Niklaus Wirth would like Go ...
A spiritual affiliation if you will.
I learned Pascal via Turbo Pascal before I got to learn C and it spoiled
me never to enjoy pure C, although I like C++.
A few years later when I discovered I could not use Turbo Pascal on
UNIX, did I realize how basic plain ISO Pascal was. The improved ISO
Extended Pascal was being ignored as Pascal compiler vendors tried to be
compatible with Turbo Pascal.
This was around the early 90's, when I started to interest myself for
language design, which meant trying to learn as much as possible from
all sources of information. Mostly books and OOPSLA papers, not much
Internet on those days.
The university library had lots of cool books, including many about
Modula-2 and Oberon. So given my appreciation for Wirth's work I
devoured those books and discovered in addition to Turbo Pascal a few
more languages that could be used for systems programming.
Around this time ETHZ started to support using standard PCs in addition
to the Ceres hardware. So I got to install it on my computer.
I was playing with the idea of creating a compiler for Oberon in
GNU/Linux, which never came to be for a few reasons, although I did
write an initial lexer and grammar for it.
https://github.com/pjmlp/Oberon-2-FrontendTools
You might find a few posts from me in comp.compilers archives from those
days.
The system impressed me for trying to provide a similar experience to
Smalltalk, which I already knew and showing me that having a full blown
OS done in a GC enabled systems programming language was possible.
Since then, I have tracked Wirth's work, collecting all his publications
and books.
I also had the pleasure to be with him when CERN organized an Oberon day
back in 2004, when I was still there.
--
Paulo
More information about the Digitalmars-d
mailing list