4 ms·
Yeah - I skipped the type inclusion, as I just viewed it as a misfeature, assuming we're talking about the implicit casts between different number types. As to
by dfawcus 4y ago
Yeah - I skipped the type inclusion, as I just viewed it as a misfeature, assuming we're talking about the implicit casts between different number types.
As to ':=' in Go, yeah - a new thing over Oberon-2.
Since assignment in Go uses C style '=' whereas Oberon uses Pascal style ':=', I certainly was not confusing them.
The characterisation came about because of an implicit complaint (from C programmers) about a choice of Go for a project. Now never having used Oberon-2, but having read the report, I used the comparison to a stripped version it as a way of showing how simple the language actually was. Something like 25 pages being sufficient to describe it.
The things which struck me were:
O2 MODULE becomes Go package (and similar syntax use)
O2 NEW retained as Go new, but &Foo{} generally preferred
O2 export of symbol via '\*' tag becomes Go export via capital letter.
O2 Open arrays replaced by Go slices or strings.
O2 WITH because Go 'type switch'
O2 'type guard' becomes Go 'type assertion'
O2 VAR parameters to PROCEDURES become Go pointer parameters to funcs
But in the end it is very much a subjective thing, so unless using the non classful parts of Oberon-2 reveals significant differences, I'd have to stick with my evaluation.
- Rochus 4y ago> Something like 25 pages being sufficient to describe it. Wirth attached importance to the fact that there are only 16 pages; on closer inspection, however, one realizes that not everything has been specified and the omission of redundant descriptions easily leads to ambiguity in the given writing style. > in the end it is very much a subjective thing The differences and little similarities, as far as specified, are objectively ascertainable. But of course there are far more important things. From my point of view Oberon (including Oberon-2 and especially Oberon-07) is too minimalistic for non-academic projects anyway. That's why I threw my hat into the ring with Oberon+ (http://www.oberon-lang.ch http://www.oberon-lang.ch ); its specification is still small with about 50 pages.