Amiga 500 is alive :dafür:
Noch was...
Es gab mal Pläne für so eine Art
"Informatik-Kindergarten", mit Bootcamp Anteilen.
Soweit ich weiss, war der Projektname
"Future Kids".
Die wollten mit Apfel Rechner arbeiten und
das gute alte LOGO war die Programmiersprache.
Ich weiss nicht genau, woran die gescheitert sind.
Wenn du solche Ideen hast, solltest Du dich vielleicht
an Zeilen compilern und Pascal/Oberon versuchen.
Ich darf mal zitieren...Oberon is a general-purpose programming language created in 1986 by Niklaus Wirth and the latest member of the Wirthian family of ALGOL-like languages (Euler, Algol-W, Pascal, Modula, and Modula-2). Oberon was the result of a concentrated effort to increase the power of Modula-2, the direct successor of Pascal, and simultaneously to reduce its complexity. Its principal new feature is the concept of type extension of record types: It permits the construction of new data types on the basis of existing ones and to relate them, deviating from the dogma of strictly static data typing. Type extension is Wirth's way of inheritance reflecting the viewpoint of the parent site. Oberon was developed as part of the implementation of the Oberon operating system at ETH Zurich in Switzerland. The name is from the moon of Uranus, Oberon.
Oberon is designed with a motto attributed to Albert Einstein in mind: “Make things as simple as possible, but not simpler.” The principal guideline was to concentrate on features that are basic and essential and to omit ephemeral issues. Another factor was recognition of the growth of complexity in languages such as C++ and Ada: in contrast to these, Oberon emphasizes the use of the library concept for extending the language. Enumeration and subrange types, which were present in Modula-2, have been removed; similarly, set types have been limited to small sets of integers, and the number of low-level facilities has been sharply reduced (most particularly, type transfer functions have been eliminated). Elimination of the remaining potentially-unsafe facilities concludes the most essential step toward obtaining a truly high-level language. Very close type-checking even across modules, strict index-checking at run time, null-pointer checking, and the safe type extension concept largely allow the programmer to rely on the language rules alone.
The intent of this strategy was to produce a language that is easier to learn, simpler to implement, and very efficient. Oberon compilers have been viewed as compact and fast, while providing adequate code quality compared to commercial compilers.
The following features characterize the Oberon language:
Case sensitive syntax with uppercase keywords
Type-extension with type test
Modules and separate compilation
String operations
Isolation of unsafe code
Support for system programming
Und der Code sieht so aus :
MODULE Rectangles;
IMPORT Figures;
TYPE
Rectangle* = POINTER TO RectangleDesc;
RectangleDesc* = RECORD
(Figures.FigureDesc)
x, y, w, h : INTEGER;
END;
VAR
if : Figures.Interface;
PROCEDURE New* (VAR r : Rectangle);
BEGIN
NEW(r);
Figures.Init(r, if);
END New;
PROCEDURE Draw* (f : Figure);
VAR
r : Rectangle;
BEGIN
r := f(Rectangle); (* f AS Rectangle *)
(* ... *)
END Draw;
(* Other procedures here *)
BEGIN (* Module initialisation *)
NEW(if);
if.draw := Draw;
if.clear := Clear;
if.mark := Mark;
if.move := Move;
END Rectangles.
Ich finde das gut lesbar....
Während es in C ja schon Wettbewerbe gibt,
gültigen, aber schwer lesbarne Code zu schreiben.
Gruss aus Hamburg
Amiga 500 is alive :dafür: