Component Pascal ist eine seit 2004 kostenlose, seit 1990 entwickelte, imperative, modulare, objekt- und komponentenorientierte Programmiersprache für das von Oberon microsystems entwickelte, komponentenbasierte Entwicklungssystem BlackBox Component Builder. Inzwischen gibt es unter dem Namen Gardens Point Component Pascal auch Versionen, die unter .NET und unter der Java Virtual Machine lauffähig sind.
Component Pascal ist aus der Programmiersprache Oberon entwickelt worden und firmierte bei der Veröffentlichung 1994 noch unter dem Namen Oberon/L. Das dazugehörende Framework wurde Oberon/F genannt. Mit dem Release 1.3 (das etwa zum Jahreswechsel 1996/1997 freigegeben wurde) wurde aus der Sprache Oberon/L Component Pascal und aus dem Framework Oberon/F der BlackBox Component Builder.
Component Pascal hat eine ausgesprochen kurze und einfache Sprachbeschreibung mit einer vollständig strukturierten Syntax. Sie erlaubt statische Typen und Objekte genauso wie dynamische Typen, sowie dynamische Bindung. Es handelt sich um eine sehr stark typisierte und typsichere Programmiersprache, solange das Modul SYSTEM nicht explizit importiert wird, was in der Regel nur für Systemprogrammierung vorgesehen ist, und ist daher leicht portabel. Vererbung ist in der Programmiersprache verankert, nicht jedoch mehrfache Vererbung, um zusätzliche Belastung für die Compiler zu vermeiden und die Sprachsemantik so eindeutig wie möglich zu gestalten.
Component Pascal unterstützt auch zur Laufzeit automatische Speicherbereinigung und das dynamisches Laden und Entfernen von Modulen respektive Komponenten.
Darüber hinaus erlaubt Component Pascal Assertionen, generische Programmierung und das Überschreiben von Datentypen und somit auch Methoden (sogenannte typengebundene Prozeduren). Im Sinne der Einfachheit und Nachvollziehbarkeit des Quellcodes ist das Überladen von Operatoren oder Methoden jedoch nicht möglich.
Die Programmiersprache Component Pascal und das Entwicklungs- und Laufzeitsystem BlackBox Component Builder sind seit 2005 quelloffen.
kompilieren unter: