Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog RSS

Das Rätsel C

IOCCC -- The International Obfuscated C Code Contest (engl. to obfuscate: verdunkeln, verschleiern)
 

Versuch von Definitionen: API, Klassenbibliothek etc.

Die folgenden Begriffe werden in der Praxis eher schwammig gehandhabt.
API (Application Program Interface) Schnittstelle für Anwendungsprogrammierer, meist Sammlung von Funktionen, seltener Klassenbibliothek (siehe JavaAPI)
Toolkit Funktionssammlung (seltener Klassenbibliothek), setzt auf API auf, z.B. zur Vereinfachung oder um komplexere Funktionen bereitzustellen
Klassenbibliothek Sammlung von Klassen. Wird oft benutzt, um eine API zu verbergen und einfacher handhabbar zu machen (Toolkit).
Framework oder Application Framework (Abkürzung: FX, AFX) Erlaubt, lauffähiges Programm auf Knopfdruck zu generieren, z.B. eine Klassenbibliothek mit einer Klasse, die einem fertigen, wenn auch funktionslosen Programm entspricht
GUI-Builder Anwendungsprogramm, mit dem man Menüs, Schalter etc. zur Entwicklung grafischer Oberflächen per Maus zusammenklickt
APIs, Toolkits und Klassenbibliotheken gibt es nicht nur für grafische Oberflächen, sondern auch für Netzwerk, 3D-Grafik, Numerik, Spiele, Audio ...
 

Wichtige Systeme zur Programmierung grafischer Oberflächen

große Übersicht siehe The GUI Toolkit, Framework Page
 
Name Typ Betriebssysteme Lizenz Sprachen Bemerkungen
Xlib API Teil des X Window System frei C  
Win16 (veraltet), Win32 API Teil von Windows; WINE: Unix kommerziell, WINE: frei C, C++, Pascal, Basic, ...  
Classic API Teil von MacOS kommerziell C, C++, Pascal, Basic, ...  
Carbon API Teil von MacOS kommerziell C++ "Aqua"-GUI einfach
Cocoa Klassenbib., Framework Teil von MacOS kommerziell Objective-C, Java "Aqua"-GUI voll; NeXTSTEP-Nachfahre
Xt ("X Toolkit Intrinsics") Toolkit Teil des X Window System frei C  
Motif, LessTif Window Manager, Toolkit setzt auf X Window System auf frei C  
Qt Klassenbib., Framework setzt auf X Window System oder Win32 auf frei für freie X-Software, sonst kommerziell C++  
KDE Klassenbib., Framework, Office-Paket, Desktop usw. setzt auf Qt und X Window System auf frei C++  
GTK+ ("GUI Tookit") Toolkit Unix, Windows frei C Basis für GIMP
GNOME ("GNU Network Object Model Environment") Desktop, Framework setzt auf GTK+ auf frei C  
Gtk-- und Gnome-- Klassenbibliotheken setzen auf GTK+ auf frei C++  
MFC ("Microsoft Foundation Classes") Klassenbib., Framework setzt auf Win32 oder Pocket Windows auf kommerziell C++  
OWL Klassenbib., Framework setzt auf Win32 auf kommerziell C++ ehemalige Konkurrenzlösung von Borland zu MFC
PowerPlant Klassenbib., Framework setzt auf MacOS Classic und Carbon auf kommerziell C++  
JavaAPI (Teil davon: Swing) Klassenbib., Framework Windows, Unix, MacOS frei Java  
wxWindows Klassenbib., Framework Windows, GTK+, Motif, MacOS frei C++  
OpenOffice, SFX2-Modul Klassenbib., Framework Windows, Unix frei C++ offenes StarOffice
Visual Basic Integrierte Lösung mit GUI-Builder Windows, in MS Office auch für MacOS kommerziell objektorientiertes Basic  
Delphi, Kylix Integrierte Lösung mit GUI-Builder Windows, Unix kommerziell objektorientiertes Pascal  
Tcl/Tk erweiterbare Skriptsprache (Tcl) mit GUI-Erweiterung (Tk) Windows, Unix, MacOS frei intern: Tcl, Erweiterung in C nicht nur quick & dirty
HTML-Links und Formulare grafische Beschreibungssprache Windows, Unix, MacOS frei intern JavaScript, extern CGI-Programmaufruf nicht nur quick & dirty