BLUE

What is it?


Blue is an object-oriented programming language that was developed especially for teaching. It runs in an integrated programming environment that includes a graphical program structure editor, a text editor, a debugger, a library browser, and more. It was developed for teaching obect-oriented concepts to first year students. The Blue language can be briefly characterised by the following key words:
Pure object-oriented language
Blue supports programming only in classes - classes are the structuring mechanism for all code. It is not a hybrid language that offers both, procedural and object-based programming.

Clean, simple, well-defined concepts
Emphasis in the language design was on the concepts we want to teach. The important object-oriented concepts are represented in the language in a clean and simple way.

Static, "strong" type checking
Full static type checking.

Single inheritance

Genericity (Polymorphism)
Blue supports both constrained and unconstrained genericity.

Readable syntax
The syntax is based on keywords (rather than symbols) and many programs can be understood by programmers who are not familiar with the details of Blue. Students can easily learn from example programs, or look up keywords in a textbook.

Assertions, pre and postconditions
Assertions, pre and postconditions are checked by the runtime system.

Small
Although the features mentioned above are powerful, the language is very small. It can very quickly be learned by programmers familiar with any other OO language, and students can get to a point where they feel comfortable with the whole language (not only a subset).

Easy-to-use integrated environment
The environment is essential for first year students. It allows teachers to concentrate on the language topics without wasting too much time on operating system problems. It encourages debugging and testing as part of the development process from the very beginning on.

Easy transition to C++ and similar languages
Blue is similar enough to C++ to make it easy to transfer skills learned with Blue to C++ programming (or any other imperative object-oriented language).

Automatic garbage collection

Free
Blue will be available free of charge to everyone. (This includes the whole environment.)