ONOC Logo
ProgrammiersprachenIT-Sicherheit
Imperative ProgrammiersprachenObjekt-orientierte ProgrammiersprachenSkriptsprachenEsoterische Programmiersprachen

Imperative Programmiersprachen

Imperative Programmiersprachen sind eine von vielen verschiedenen Arten von Sprachen. Sie zeichnen sich dadurch aus, dass direkte Befehle in einer bestimmten Reihenfolge ausgeführt werden. Genau genommen sind imperative Programmiersprachen eine Oberkategorie zu der auch die objekt-orientierten Sprachen gehören, meistens werden unter dem Begriff imperative Programmiersprachen jedoch prozedurale Sprachen verstanden, die ihre Befehle nacheinander ausführen. Einige dieser werden wir euch im Weiteren beschreiben, ein "Hello World"-Beispiel und auch Beispiele für Entwicklungsumgebungen geben.


C

Eine der bekanntesten Programmiersprachen ist C. Es ist eine sehr systemnahe (schnelle) Sprache, für die es eine breite Community und viele erweiternde Bibliotheken gibt. Standardmäßig ist C eine beliebte Sprache für Programmierer, die schnelle Verarbeitungsprogramme schreiben möchten. C-Code muss mittels eines Compilers in Maschinensprache übersetzt werden.

#include <stdio.h>

int main()
{
    printf("Hello, World\n");
    return 0;
}

Für C gibt es verschiedene Übersetzer, eine der bekanntesten ist dabei GCC (GNU Compiler Collection).
Entwicklungsumgebungen sind beispielsweise CodeBlocks, Eclipse, CLion, Dev-C++ und viele weitere.

Tutorials um C zu erlernen finden sich beispielsweise auf learn-c.org.


C++

Auch wenn C++ eine objektorientierte Sprache ist, so beinhaltet sie auch die prozeduralen Komponenten von C. Eine ganze Zeit lang wurde tatsächlich C++ nicht als echte objektorientierte Sprache angesehen, da der C++ Code zunächst in C Code übersetzt und dann erst kompiliert wurde. Das ++ soll hierbei ein Inkrement darstellen, wodurch C++ als eine Verbesserung von Standard C angesehen werden soll.

#include <iostream>

int main()
{
    std::cout << "Hello, world!\n";
    return 0;
}

Die GCC (GNU Compiler Collection) enthält auch Compiler für C++.
Die für C genannten Entwicklungsumgebungen sind alle ebenfalls für C++ geeignet.

Zum Erlernen von C++ eignet sich learncpp.com.


Rust

Rust ist eine prozedurale, aber auch objekt-orientierte Sprache und wurde entwickelt, damit neben Sicherheit auch bessere Paralelität gewährleistet werden kann. Rust ist syntaktisch angelehnt an C++, auch wenn es deutlich besser mit Speichersicherheit umgeht. Das schöne: Der Rust-Compiler ist frei erhältlich und open-source und kann somit von allen eingesehen werden.

fn main() {
    println!("Hello World");
}

Für einige Entwicklungsumgebungen gibt es Rust-Plugins oder eingebaute Unterstützung. Zu empfehlen sind etwa Visual Studio Code oder auch IntelliJ Rust (als Plugin für IntelliJ IDEA).


Julia

Julia ist eine imperative Programmiersprache, die häufig für numerische Analysen und low-level Programmierung Anwendung findet. Der Name Julia ist hier nach Aussagen der Entwickler, die eine frei zugängliche und schnelle Programmiersprache auf hoher Ebene haben wollten, rein zufällig gewählt worden - es sei einfach ein schöner Name.

julia> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y
julia> println("Hello world!", " I'm on cloud ", f(0, 4), " as Julia supports recognizable syntax!")
Hello world! I'm on cloud 9 as Julia supports recognizable syntax!

Entwicklungsumgebungen für Julia sind beispielsweise Juno, Weave und Vim.