Choose your language: us

What is BlackBox/Component Pascal?

BlackBox Component Builder is an open-source IDE and a framework (collection of modules) written in the programming language Component Pascal which is a superset of the language Oberon-2 developed by Niklaus Wirth. BlackBox provides facilities for document creation, program compilation, module execution, and interface design.  Component Pascal is module based. Each module is a unit of compilation and a unit of execution. There is no explicit linker. Modules are brought into memory when specified.  There is no need for "header" files.  Symbol files are automatically generated by the compiler for those elements of a module that are specifically marked to be exported.

The component classes (e.g. for text or form components) follow the principle of black box inheritance (interface inheritance instead of implementation inheritance), hence the name "BlackBox".

The compiler is very fast. The language is strongly typed. Data structures are automatically garbage collected when no longer referenced.  The framework comes with a complete set of documents explaining the meaning and use of each module.  The download size of the BlackBox framework is only about 6MB.



BlackBox/Component Pascal Center

The "BlackBox Center" is a non-profit voluntary organization dedicated to maintaining and developing the vision and values of the BlackBox/Component Pascal software created by Oberon microsystems Inc of Zurich Switzerland. The Center is now the de facto standard for BlackBox developers, users, and project managers. The members spearhead projects that, through a collaborative process, deliver enterprise-quality software attractive to large user communities. We operate under BSD 2-clause license to deploy products for business and individuals.  More about the Center


First time users

The suggested order of actions for first time users is

  • Down load BlackBox from the Download page
  • Install BlackBox
  • Run BlackBox
  • Select Help->Contents
  • Click Guided Tour and follow the documentation