- Profan (Programmiersprache)
-
XProfan ist eine basicähnliche Programmiersprache, die direkt für die ereignisorientierte Programmierung graphischer Oberflächen geschaffen wurde.
Inhaltsverzeichnis
Entwicklungsgeschichte, Versionen
Profan² ist eine 1990 von Roland G. Hülsmann erfundene Programmiersprache, welche seit Version 8 zu XProfan (extended Profan²) herangewachsen ist.
XProfan gilt als eine auch für Anfänger einfache Programmiersprache; sie enthält Elemente der Sprachen Basic und Pascal. Der Fokus liegt hierbei auf den 32 bit Windows-Umgebungen, es existieren aber auch funktional eingeschränkte Profan²-Versionen für Linux bzw. MS-DOS.
XProfan stellt die Mittel zur Verfügung, einfach und schnell eine Windows-Anwendung zu entwerfen. Dabei sind viele Sprachkonstrukte zur Dialoggestaltung und Datenverarbeitung bereits fest integriert, der Entwickler kann sich um das „was“ kümmern, statt sich mit dem „wie“ herumschlagen zu müssen. Neben diesen grundlegenden Funktionen bietet Profan² Schnittstellen z. B. zu Datenbanken (dBASE ist fest integriert, ODBC kann genutzt werden) oder dem Internet (FTP, SMTP).
Durch die Nutzung der Windows-API oder DLLs lässt sich der Funktionsumfang beinahe beliebig erweitern. Neben den zahlreichen von der Community bereitgestellten Libraries können auch viele, für andere Sprachen entworfene Bibliotheken genutzt werden.
Bis Version 7.0 war Profan² eine rein prozedurale Programmiersprache, mit Version 8.0 – die erstmals unter dem Namen XProfan vertrieben wurde – hielt die objektorientierte Programmierung Einzug. Diese Richtung wurde mit der im Frühjahr 2005 erschienenen Version 9 nochmals erweitert. Neben der rein prozeduralen Entwicklung ist nun auch eine reine objektorientierte bzw. eine Mischform möglich.
Die aktuelle Version trägt die Versionsnummer 10 und zeichnet sich vor allem durch die neu integrierte OpenGL-Schnittstelle aus.
Mit seinen vielfältigen Möglichkeiten bietet Profan² eine gute Plattform zum Einstieg in die Programmierung von Windows-Anwendungen, bietet aber gleichzeitig erfahrenen Entwicklern genug Spielraum (z. B. im Bereich Messagehandling, über Rückruffunktionen (callback function) oder mit dem Debugger).
Profan² wurde mit Borland Delphi (bis Version 9.1 in Delphi 2, Version 10 in Delphi 5, ab Version 11 in Turbo Delphi 2006) entwickelt. Es besitzt sowohl Interpreter als auch Compiler und Linker. Kompilierte Programme sind erheblich schneller als der Interpreter, können jedoch mit anderen Sprachen wie C im Bezug auf die Abarbeitungsgeschwindigkeit nicht konkurrieren.
Ab Version 9 kann ein externer Inline Assembler (XPIA) von Frank Abbing für XProfan komfortabel benutzt werden. XPIA bietet ganz nebenbei eine Erweiterung des XProfan-Befehlssatzes unter Zuhilfenahme schnellerer Assembler-Funktionen und ganzer ASM-Bibliotheken. Die Syntax der eingebetteten Assemblercodes ist zu 100% MASM32 kompatibel.
Seit April 2007 gibt es von David Strutz (dem Betreiber der XProfan.Com) eine an die Syntax von Profan² angelehnte kleine Sonderversion des Profan² namens jProfan. jProfan ist kein offizielles „Profan²“ oder „XProfan“ bietet aber den Entwicklern ebenso eine basicähnliche Programmiersprache dessen Programme in DOM-Fähigen Browsern wie z. B. Firefox oder Internet-Explorer ablaufen und somit betriebssystemunabhängig sind. Dies ermöglicht eine extra hierfür (auch von David Strutz) in JavaScript programmierte virtuelle API namens jUI welche Funktionen zur Bereitstellung einer grafischen Oberfläche bietet auf diese jProfan aufbaut. Das Besondere an jProfan ist – neben der Betriebssystemunabhängigkeit – das jeder einfach auf der Website dank der in jProfan entwickelten jProfan-IDE kostenlos jProfan-Programme entwickeln kann und diese jedem zur Verfügung stellen kann. Besonders für Schulen oder Programmieranfänger ist diese Variante interessant da grundsätzlich nichts installiert werden muss und ein leichterer Einstieg in höhere Versionen des Profan² bzw. XProfan gegeben ist.
XProfan liegt momentan in der Version 10.0a vor. Am 10. Oktober 2007 lief die Subscription-Aktion für Version 11 an. Neuerungen sind vor allem ein dynamisches Speichermanagement, dynamische Arrays, native Unterstützung für Trayicons, Imagelist und Treeviews, Unterstützung zum Speichern von JPEG und PNG, Subclassing sowie der Wegfall programmtechnischer Grenzen. Aktuell liegt XProfan 11 in der Version Sub 13 vor (Stand 19. Januar 2008). XProfan 11 soll bis Mitte 2008 erscheinen.
Profan² ist für folgende Betriebssysteme erhältlich:
- Windows 3.x, 95, 98, ME, NT, 2000 XP, Vista
- MS-DOS
- Linux
- Atari Portfolio
- OS/2
XProfan ist für folgende Betriebssysteme erhältlich:
- Windows 95, 98, ME, NT, 2000, XP, Vista
Funktionsweise
Der Quelltext kann direkt interpretiert und/oder kompiliert werden. Die entstehenden Kompilate können vom Kompiler mit einer beliebigen Runtime zur einer ausführbaren Win32-Anwendung gelinkt werden. Das XProfan-Standardruntime kann bearbeitet werden und es stellt einen beliebig erweiterbaren Grundsprachschatz sicher.
Besonderheiten/Features
- Eine Besonderheit stellt die Profan² SE-Version dar. Diese eingeschränkte Version ist für Schulen und Bildungseinrichtungen kostenfrei erhältlich und soll z. B. im Informatikunterricht oder in Arbeitsgruppen Verwendung finden.
- XProfan bietet die Möglichkeit zur prozeduralen und zur objektorientierten Programmierung.
- Kompilate können von der Runtime auch dann noch ausgeführt werden wenn die Runtimes bereits mit einem eigenen Kompilat verlinkt sind. Dies bietet auch Anfängern die Möglichkeit, die eigenen Anwendungen modular aufzubauen und sich das Plug-in-Prinzip zu Nutze zu machen.
- XProfan-Programme werden nicht zu nativem Maschinencode sondern nur zu einem kompakteren Zwischencode kompiliert, der zur Laufzeit vom Runtime interpretiert wird wodurch sich ein Geschwindigkeitsnachteil ergibt.
- Units (ähnlich wie statische Bibliotheken aus C++) herstellen und/oder nutzen. Diese Units sind bereits kompiliert und können eine Erweiterung des Grundsprachschatzes darstellen.
- OpenGL ist im Sprachschatz inbegriffen.
- InlineAssembler dank kostenloser Zusatzprogramme wie z. B. PreKompiler möglich.
- Win32-XProfanprogramme können unter Linux mit WINE ausgeführt werden.
„Hallo Welt“ in XProfan
Print "Hallo Welt" WaitInput
oder einfach nur:
messagebox "Hallo Welt","Info",0
Weblinks
Wikimedia Foundation.