Cluster (programming language)
Cluster is a programming language that was developed in the early 1990s by Thomas Pfrengle and Ulrich Sigmund ( StoneWare ) for the Amiga graphic card system EGS . It is a dialect of the Modula-2 programming language with borrowings from Oberon ( object-oriented elements ) and Ada (exception handling).
properties
- strict and static types
- Ordinal types : integers , lists , characters , truth values
- Subranges of ordinal types
- Sets over ordinal types
- Ordinal type fields for indexes
- Floating point numbers
- Texts
- Tags, a specialty of the Amiga operating system : pairs of a property and a parameter
- Data networks and objects
- Subroutines and functions
- Modules
- Generic modules without machine code duplication
- Object orientation (multiple inheritance in approaches)
- automatic release of resources such as memory, windows, file access, etc .; however, it can easily happen that resources are released too early
- Exception handling (exceptions)
- concurrent programming in approaches ( threads )
- Support for calls to AmigaOS function libraries
- machine-level programming elements (query of processor flags, embedded assembler programs)
Projects
Probably the best known projects realized with the cluster are
- the object-oriented graphical user interface from EGS,
- the cluster development environment and
- a sound processing program called Assampler .