Wolfram Language ist die Programmiersprache der Software Mathematica, entwickelt von Stephen Wolfram und erstmals 1988 veröffentlicht. Sie ist eine hochgradig symbolische, regelbasierte Sprache: Statt nur mit Zahlen zu rechnen, manipuliert sie Ausdrücke und Symbolstrukturen — daher eignet sie sich hervorragend für Algebra, Analysis, Differentialgleichungen und Wissensabfragen. Mathematica wurde benannt nach dem Mathematiker Gottfried Wilhelm Leibniz (lateinisch Mathematica).
Alles ist ein Ausdruck
In der Wolfram Language ist jede Berechnung ein Ausdruck der Form f[a, b, …]. Funktionen werden mit eckigen Klammern aufgerufen, Listen mit geschweiften Klammern. Das Besondere: Ausdrücke können unausgewertet bleiben, bis eine Regel zutrifft — das ermöglicht symbolische Mathematik, bei der Integrate[x^2, x] die exakte Stammfunktion x^3/3 liefert statt einer Näherung.
Wichtige Befehle und Funktionen
Table[f, {i, 1, n}] erzeugt eine Wertetabelle
Map[f, liste] wendet f auf jedes Element an
N[ausdruck] numerische Auswertung (N[Pi] → 3.14159)
Plot[f, {x, a, b}] erzeugt einen Funktionsgraphen
Integrate[f, x] symbolische Integration
D[f, x] Ableitung (D = differential)
Solve[gleichung, x] löst Gleichungen exakt
Simplify[ausdruck] vereinfacht symbolisch
Notebooks und Wolfram|Alpha
Die klassische Arbeitsumgebung ist das Notebook: Zellen mit Text, Formeln, Code und Grafiken lassen sich mischen und interaktiv ausführen (Eingabe mit Shift+Enter). Seit 2009 existiert zusätzlich die Wissens-Engine Wolfram|Alpha, die natürliche Sprache versteht und auf kuratierte Daten zugreift — dieselbe Engine steckt in vielen ChatGPT-artigen Antworten und in der Tastatur-Suche von Android.
Umfang und Ökosystem
Die Wolfram Language bringt fast 7.000 eingebaute Funktionen mit, von numerischer Analysis über Graphentheorie und Bildverarbeitung bis zu Machine Learning und LLM-Anbindung (Version 13.3, Juni 2023). Sie ist proprietär; kostenlose Einstiege sind das Wolfram Cloud Development Environment (browserbasiert) und der Wolfram Player.
Verwandte Grundlagen: APL-Befehle (kompakte mathematische Notation), Forth-Befehle (Stack-Prinzip), MATLAB-Befehle (numerische Konkurrenz), Julia-Befehle und Python-Befehle (mit SymPy ebenfalls symbolisch), R-Befehle (Statistik).
Visual Basic ist eine imperative, objektorientierte Programmiersprache von Microsoft. Seit 2002 existiert sie als Visual Basic .NET auf dem .NET-Framework, während das klassische VB6 (1998) nur noch als Legacy gilt. Der Name steht zugleich für die Sprachfamilie, zu der auch VBScript und VBA gehören.
Grundgerüst und Compiler
vbc.exe /target:exe /out:app.exe Program.vb
Der Kommandozeilen-Compiler heißt vbc (Visual Basic Compiler) und ist Teil des .NET SDK. In Visual Studio wird die Sprache mit MSBuild gebaut. Jede Quelldatei beginnt mit Imports-Anweisungen, Code steht in Module oder Class-Blöcken:
Imports System
Module Program
Sub Main()
Console.WriteLine("Hallo Welt")
End Sub
End Module
Wichtige Sprachkonstrukte
- Variablen:
Dim zahl As Integer = 42—Dimdeklariert,Aslegt den Typ fest. - Kontrollfluss:
If/ElseIf/Else,Select Case,For … Next,For Each … In,While … End While,Do … Loop. - Prozeduren:
Sub(kein Rückgabewert) undFunction(mitReturn). - Fehlerbehandlung:
Try/Catch/Finally. - Objektorientierung:
Class,Inherits,Implements,Interface,Shared,Overrides. - Strenge Modi:
Option Explicit On(Variablen müssen deklariert sein) undOption Strict On(keine stillen Typumwandlungen).
Moderne VB-.NET-Features
Auch in neueren Versionen (VB 16.9, aktuell VB 17.x) ergänzt Microsoft die Sprache: LINQ für Datenabfragen, Async/Await für asynchrone Methoden, Nullable-Werttypen und den My-Namespace mit Kurzzugriffen (My.Computer, My.Settings). Visual Basic .NET bleibt vollständig .NET-kompatibel und wird von Microsoft weiterhin gepflegt — anders als VB6.
VB6-Legacy
Visual Basic 6.0 (1998) war eine eigenständige IDE mit Formular-Designer und der Laufzeitbibliothek MSVBVM60. VB6-Programme laufen nicht nativ unter .NET und werden nicht mehr unterstützt; eine Migration in VB .NET ist meist aufwendig. Auch andere Hersteller pflegen proprietäre, IDE-gebundene Business-Sprachen — SAPs ABAP ist ein prominentes Beispiel.
Verwandte Grundlagen
Eng verwandt sind VBA (Office-Automation) und VBScript (Windows-Skripting). Die .NET-Schwester C# teilt sich die Laufzeit, und PowerShell ist die moderne Microsoft-Skriptsprache.
VBScript (Dateiendung .vbs) ist eine abgespeckte Skriptvariante von Visual Basic. Microsoft lieferte sie ab 1996 als Skriptsprache für den Windows Script Host (WSH) mit — viele Administratoren kennen sie von Logonskripts, WMI-Abfragen und Quick-Hacks. VBScript gilt heute als veraltet und wird von Microsoft schrittweise abgekündigt.
Ausführen: cscript und wscript
cscript.exe Skript.vbs
wscript.exe Skript.vbs
cscript startet das Skript mit Konsolenausgabe, wscript ohne Fenster (Windows-GUI-Modus). WSH unterstützt neben VBScript auch JScript (Microsofts JavaScript-Variante).
WSH-Objekte und Kernfunktionen
WScript.Echo— Ausgabe,WScript.Arguments— Kommandozeilenparameter,WScript.Sleep— Pause,WScript.Quit— Beenden mit Exit-Code.MsgBoxundInputBox— Dialoge für Meldung und Eingabe.CreateObject— COM-Objekte laden, z. B.Scripting.FileSystemObjectfür Dateizugriff oderWScript.Shellfür Registry und Programme.- WMI-Abfragen über
GetObject("winmgmts:"), etwa für Systeminformationen. ADODB.Connectionfür Datenbankzugriffe über OLEDB.
Sprachsyntax
Option Explicit
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("C: est.txt")
WScript.Echo f.Size
Wichtig sind Set für Objektzuweisungen, Nothing zum Freigeben und String-Funktionen wie Mid, Left, Right, InStr, Replace und FormatDateTime. Kontrollstrukturen folgen der Basic-Tradition: If/ElseIf, Select Case, For Each … In, Do While … Loop.
Sicherheit und Zukunft
VBScript war ein klassisches Ziel von Schadsoftware, da es ohne Zusatz-Tools ausführbare Komponenten laden kann. Microsoft hat die VBScript-Unterstützung in modernen Windows-Versionen stark eingeschränkt und plant deren Entfernung. Für neue Automatisierung setzt Microsoft auf PowerShell; klassische Batch-Aufgaben übernimmt weiterhin CMD.
Verwandte Grundlagen
VBScript stammt aus der Visual-Basic-Familie und ist mit VBA verwandt. Auch in SAP-Umgebungen finden sich noch proprietäre Skriptsprachen, etwa ABAP.
ABAP (Advanced Business Application Programming) ist die proprietäre Programmiersprache von SAP für betriebswirtschaftliche Anwendungen. Sie entstand in den 1980er-Jahren für das SAP-R/3-System und ähnelt in der Syntax dem COBOL. ABAP wird direkt in der SAP-Entwicklungsumgebung gepflegt: Report-Programme entstehen im ABAP-Editor (Transaktion SE38), Klassen und Interfaces im Object Navigator (SE80).
Programmaufbau
REPORT z_hallo_welt.
DATA name TYPE string.
name = 'Welt'.
WRITE: / 'Hallo', name.
Jedes ausführbare Programm beginnt mit REPORT (klassisch) oder PROGRAM. WRITE gibt Werte auf den Bildschirm aus, / erzeugt einen Zeilenumbruch.
Datendeklaration
DATA— Variablen und interne Tabellen:DATA itab TYPE TABLE OF spfli.TYPES— eigene Datentypen definieren.CONSTANTS— unveränderliche Werte.FIELD-SYMBOLS— Feld-Symbole (Pointer auf Datenobjekte).PARAMETERS— Eingabefelder auf dem Selektionsbild.
Open SQL
Der Datenbankzugriff läuft über Open SQL, das von SAP auf die jeweilige Datenbank übersetzt wird und in der Syntax an SQL erinnert:
SELECT * FROM spfli INTO TABLE lt_fluege
WHERE carrid = 'LH'.
INSERT ztabelle FROM ls_zeile.
UPDATE ztabelle SET wert = 1 WHERE id = 7.
DELETE FROM ztabelle WHERE id = 9.
Neben SELECT, INSERT, UPDATE und DELETE gibt es MODIFY (Einfügen oder Überschreiben).
Interne Tabellen und Schleifen
LOOP AT lt_fluege INTO ls_flug.
WRITE: / ls_flug-carrid, ls_flug-connid.
ENDLOOP.
Interne Tabellen sind der zentrale Datentyp in ABAP. Typische Anweisungen: APPEND (Zeile anhängen), READ TABLE (Zeile lesen), SORT, CLEAR (Inhalt leeren) und LOOP AT … INTO (Zeile für Zeile verarbeiten).
Kontrollfluss, Modularisierung und Ausgabe
- Bedingungen:
IF/CASE. - Schleifen:
DO … ENDDO,WHILE … ENDWHILE. - Prozeduren: klassisch
PERFORM/FORM … ENDFORM, objektorientiertMETHODinCLASS … ENDCLASS. - Funktionsbausteine:
CALL FUNCTION. - Meldungen:
MESSAGE(Fehler-, Warn- und Info-Texte).
Besonderheiten und Zukunft
ABAP läuft auf SAP-Servern und wird mit SAP HANA über AMDP (ABAP Managed Database Procedures) bis ins Datenbank-Kernelsystem erweitert. Als proprietäre, stark IDE-gebundene Sprache ist ABAP mit anderen Hersteller-Sprachen vergleichbar — etwa Visual Basic bei Microsoft. Wer bereits eine Basic-artige Sprache wie VBScript kennt, findet in ABAP vertraute Konzepte (implizite Typen, prozedurale Grundstruktur).
Haxe ist eine modern typisierte Programmiersprache mit einem Compiler, der aus einem Quellcode viele Zielplattformen erzeugt. Nicolas Cannasse entwickelte sie ab 2005 (damals bei Motion Twin); das Ökosystem rund um Spieleentwicklung und Web wuchs stetig. Haxe kompiliert nach JavaScript, C++, C#, Java/JVM, Python, Lua, PHP und Flash und besitzt mit HashLink und NekoVM eigene Laufzeitumgebungen.
Compiler-Aufrufe (haxe)
haxe --main Main --interp "im Interpreter testen"
haxe -cp src --main Main -js bin/main.js "nach JavaScript"
haxe -cp src --main Main -cpp bin/cpp "nach C++"
haxe -cp src --main Main -python bin/main.py
Wichtige Optionen: --run (ausführen), --debug, -D define (Bedingte Kompilierung), --dce full (totes Code-Eliminierung), --macro (Compiler-Makros), --help.
Paketmanager haxelib
haxelib setup— Bibliotheksverzeichnis festlegenhaxelib install <lib>/haxelib update/haxelib removehaxelib run <lib>— Werkzeuge aus einer Bibliothek startenhaxelib list/haxelib search
Sprachbesonderheiten
- Strikte Typisierung mit Inferenz: Typen werden geprüft, müssen aber selten hingeschrieben werden
- Enums & Pattern Matching: algebraische Datentypen mit
switch-Zerlegung - Externs: native APIs jeder Zielplattform werden typisiert eingebunden (
@:externs) - Strukturelle Subtypisierung: Typen passen zusammen, wenn ihre Struktur passt — kein Namens-Vererbungszwang
Praxis-Tipps
- Für Spiele werden OpenFL/Lime (Flash-API-Stil) und Heaps (Cannasses Engine) genutzt; HashLink erlaubt schnelle native Ausführung.
- Haxe eignet sich als Brückensprache: derselbe Geschäftslogik-Code läuft im Browser (JS) und auf dem Server (Node, HashLink, C++).
- Editor-Support gibt es für VS Code und IntelliJ;
haxe --interpist ideal für schnelle Tests ohne Build.
Verwandte Grundlagen: JavaScript-Befehle, TypeScript-Befehle, C#-Befehle, Tcl-Befehle, Smalltalk-Befehle.