Die Programmiersprache Sappeur
Sichere Informatik aus Deutschland |
|
English Translation
Die Programmiersprache Sappeur steht in einer langen Tradition imperativer
Sprachen wie Algol, Pascal, C++ und Java. Sie zeichnet sich durch eine
effiziente Umsetzung von Speichersicherheit aus. Vereinfacht gesagt
vereinigt Sappeur die Vorteile von C++ mit den Vorteilen von Java.
Im Gegensatz zu Java und C# ist Sappeur jedoch wesentlich effizienter
in der Laufzeit und beim Speicherverbrauch. Zudem sind Sappeur-Programme
wesentlich besser als Java-Programme gegen nebenläufige Race-Conditions
geschützt.
Wichtige Eigenschaften von Sappeur
Konstruktoren, Destruktoren, RAII
Umfangreiche, C++-ähnliche Speicherallokations-Optionen
- Stapelallokation auch komplexer und Feld-Typen
- Felder mit einfachen und komplexen Value-Typen möglich
- Heap-Allokation: Alle Zeiger sind Smart Pointer mit implizitem Referenzähler
Zeiger:
- entweder NULL oder gültig, keine Zwischenzustände möglich
- Alle Zeiger sind Referenzzähler
- Referenzzähler sind optimal effizient(Read-Modify-Write nur für parallele Datenstrukturen)
Starke Speichersicherheit auch für parallele(multi-threaded) Datenstrukturen
durch Typsystem und automatisch erzeugte Thread-Synchronisation
Keine unsicheren Typumwandlunge(casts)
Laufzeitprüfungen: Feld-Indizes, Stapeltiefe, Nullzeiger
Handbuch, Präsentation, Reaktionen
Handbuch
Memory Safety And Cyber Security
Eine kurze Präsentation
Speichersicherheit Nach Steven M. Bellovin
National Security Agency empfiehlt speichersichere Sprachen [defense.gov]
Whitehouse Technical Report on Memory Safety
Five Eyes/BR-USA Security Agencies on Memory Safe Programming Languages
Vergleich mit anderen Sprachen
Vergleich
Sappeur Compared to C++ and Java Problems
Why C and C++ Cannot be Memory Safe
Classification of Some Programming Languages
Programmiersprachen und ihre kulinarischen Entsprechungen
Compiler Programm-Pakete
Sappeur 3.1 für Apple Mac ARM
Sappeur 3.0 für Raspberry PI
Sappeur 3.4 für Redhat/IBM POWER
Sappeur 3.4 für Redhat/AMD64
Sappeur 2.2 für Linux 5.4.0-3.6-e8c ie2k E8C E8C-SWTX (MCST ELBRUS CPU)
Sappeur 3.10 für Windows-Cygwin
Sappeur 4.12 für Windows
Sappeur 4.15 für Windows
Sappeur 3.10 für Linux x86-64
Sappeur 4.13 für Linux x86-64
Sappeur 4.14 für MacOS X/arm64
Sappeur 4.15 für Linux ARM/aarch64
Sappeur 4.15 für MacOS X/arm64
Sappeur 4.16 für MacOS X/arm64
Sappeur 4.16 für Linux/Ubuntu/x64
Die Redhat-Pakete wurden freundlicherweise von
Jürgen Blume erstellt.
Versionen für andere Betriebssysteme/Versionen auf Anfrage erhältlich.
In der Vergangenheit wurde auf Linux, Solaris, MacOS X, Windows der Compiler und
die erzeugten Programme erfolgreich ausgeführt.
Beispielprogramme
Beispielprogramme
Hello World
Hello World
Hello World using the Sappeur 4.x compiler
Learning Sappeur
Learning Sappeur
Der Name
Benannt nach französisch "Sappeurs-Pompiers",
Feuerwehrleute.
Der Entwickler
Die Programmiersprache Sappeur wurde von Dipl. Ing. Frank Gerlach konzipiert und entwickelt.
Diskussionforum
Diskussionsforum auf FreeForums
Discussion on TheRegister
L4 im Vergleich zu Linux
Sappeur Compared to WASM
Kurzbeschreibung auf Englisch
Short Description
Lizenzbedingungen und Kosten
License.txt
Formelles, Kontakt
Impressum
Datenschutz-Erklärung