Die Einschränkungen liegen meiner Meinung nach weniger in der Programmiersprache begründet als in der Leistung des Prozessors. Da die Systemroutinen einen großen Teil des sowieso schon knappen Speichers belegen. Außerdem werden keine Fließkommaoperationen unterstützt. Erschwerend kommt hinzu, dass als Datentypen nur unsigned 8bit Integer oder signed 16bit Integer angeboten werden.
An der Sprache stört mich vor allem, dass keine Funktionen unterstützt werden, sondern nur primitive Sprungbefehle. Allerdings lassen sich mit ein bisschen Nachdenken auch viele bekannte Konstrukte aus höheren Sprachen ersetzen oder nachbilden (z.B. indem alle Funktionen ihre Rückgabewerte in einer Variablen ablegen). Es leidet vor allen Dingen die Lesbarkeit des Quelltextes. Auch die Gliederung des Programms in Module(Bibliotheken) und eingeschränkte Geltungsberiche für Variablen werden nicht unterstützt.

Für die CControl gab es auch mal einen C-Compiler, der allerdings eingestellt wurde. Inwieweit er trotzdem noch erhältlich, oder mit den Anforderungen des CCRP5 kompatibel ist, kann ich nicht sagen. (ggf mal nach CCC MArc (Mark?) van Endert googlen)

Die CC2 wird in einem C-Dialekt dprogrammiert, der allerdings um einige "gefährliche und schwer zu verstehende" (sinngemäßes Zitat aus der Conrad-Doku) Konstrukte bereinigt wurde. Ich vermute, dass das heißt, das keine Pointer unterstützt werden. Näheres steht in der zitierten Doku, die im Internet erhältlich sein sollte.

ACHTUNG: Alle Erklärungen beziehen sich auf die von Conrad mitgelieferte Entwicklungsumgebung samt Compiler. Sollte es noch andere Möglichkeiten (außer Assembler ) geben, die Kiste zu programmieren, dann sagt mir bitte Bescheid