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