Hi Oyvind, and all
I'm not surprised that "the message" is finally getting through BUT ? only a small part of it, I think. occam was many things.
Why oh why do we have to retain such obscure syntax and so many complications of such little utility.
I suppose letting 'go' of inheritance is some progress.
Many more complications could be removed from view.
To me, the most essential point about programming is the model for abstraction a language represents.
This has to be as simple as possible, and transparent in the language, as it was in occam.
The model must encompass all the behaviour we really need but no more.
We need simple abstraction of concurrency, prioritized alternation ('event-driven' behaviour), and objects mobile between processes.
We can live without channels of channels, or channels down channels, IMHO.
The acid test is in teaching.
A language simple enough for 90% of students will afford reliable programs as well as a reliable supply of programmers.
In my experience, only 40% (truly) made it past pointers. Only about 1% would have made it past concurrency in Java. 95% did so with occam.
'Programmability' is going to matter more and more, even in the simplest products. We need a PL everyone can use.
For me, the breakthrough here was Bill Atkinson's Hypercard, which combined power of _expression_ with 'readability'.
It showed how raising the level of abstraction could bring you closer to natural language.
The truly sad thing is that, while the need for better tools continues to grow exponentially, the only voices that will be heard are those with a big name.
It's a kind of celebrity culture, rather than a technical one.
On 11 Nov 2009, at 09:05, Teig, Oyvind UTCFS wrote: