4 coole Sprachfeatures von Ada, F#, Go und PHP
Kennst du noch die Zeit, in der du Syntax, Standard Libraries und Edge Cases mühsam zusammengoogelt hast, statt einfach die KI zu fragen? Und wenn die KI heute sowieso Code schreibt, ist es dann überhaupt noch wichtig, mehrere Programmiersprachen zu kennen?
Genau da steigen wir ein. Nicht als Sprachkrieg, sondern als Nerd-Tour durch vier Sprachfeatures, die dir Bugs, Security Incidents und Einheitenchaos ersparen können. Wir starten mit Ada und Type Ranges, also Typen mit eingebauten Wertebereichen, inklusive eines Crashes der Ariane-5-Rakete, eines Integer-Overflow und Compile-Time-Checks. Danach geht es zu F und Units of Measure, wo Meter, Sekunden oder sogar Geldbeträge Teil des Typensystems werden und der Compiler dich vor dem Mars Climate Orbiter Moment bewahrt. Dann schauen wir auf PHP und SensitiveParameters, damit Secrets nicht mehr fröhlich in Stack Traces und Logs auftauchen. Und zum Schluss landen wir bei Go: Secret Mode als Security Feature für Forward Secrecy, damit Schlüssel nach dem Handshake wirklich aus dem Speicher verschwinden. Außerdem gibt es ein GitHub-Repo mit Demos in Docker-Containern, damit du die Features in wenigen Minuten selbst anfassen kannst.
Wenn du auf Open Source, Tech Community-Austausch und praktisches Knowledge Sharing stehst, wirst du hier Spaß haben. Und wenn du nach der Episode denkst, du hast noch ein besseres Sprachfeature, dann schick es rüber; wir sammeln das.
Bonus: Wir schaffen es, von Raketencrash bis hin zu Secret Leaks zu kommen, ohne JavaScript als Gewinner zu küren. Knapp jedenfalls.
Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners
Das schnelle Feedback zur Episode:
👍 (top) 👎 (geht so)
Anregungen, Gedanken, Themen und Wünsche
Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …
EngKiosk Community: https://engineeringkiosk.dev/join-discord
LinkedIn: https://www.linkedin.com/company/engineering-kiosk/
Email:
[email protected]Mastodon: https://podcasts.social/@engkiosk
Bluesky: https://bsky.app/profile/engineeringkiosk.bsky.social
Instagram: https://www.instagram.com/engineeringkiosk/
Unterstütze den Engineering Kiosk
Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer
Buy us a coffee: https://engineeringkiosk.dev/kaffee
Links
Github - A collection of cool programming language features (highly subjective): https://github.com/EngineeringKiosk/cool-programming-language-features
Neue PHP 8.2 Features: https://www.php.net/manual/de/migration82.new-features.php
PHP-Attribut SensitiveParameter: https://www.php.net/manual/de/class.sensitiveparameter.php
Deep Dive von PHP 8.2: Sensitive Parameter value redaction support: https://php.watch/versions/8.2/backtrace-parameter-redaction
PHP RFC: Redacting parameters in back traces: https://wiki.php.net/rfc/redact_parameters_in_back_traces
PHP 8.0: Attributes: https://php.watch/versions/8.0/attributes
Go feature: Secret mode: https://antonz.org/accepted/runtime-secret/
Github Issue “runtime/secret: add new package #21865: https://github.com/golang/go/issues/21865
Go 1.26 Release Notes: https://go.dev/doc/go1.26
The Heartbleed Bug: https://www.heartbleed.com/
MongoDB: kritische Sicherheitslücke in NoSQL-Datenbank: https://www.heise.de/news/MongoDB-kritische-Sicherheitsluecke-in-NoSQL-Datenbank-11124891.html
C-Funktion “memzero_explicit”: https://manpages.debian.org/experimental/linux-manual-4.11/memzero_explicit.9.en.html
C-Funktion “explicit_bzero”: https://www.gnu.org/software/gnulib/manual/html_node/explicit_005fbzero.html
C-Funktion “memset_s”: https://man.freebsd.org/cgi/man.cgi?query=memset_s&sektion=3
Rust zeroize: https://crates.io/crates/zeroize
Zero'ing memory, compiler optimizations and memset_s: https://www.cryptologie.net/posts/zeroing-memory-compiler-optimizations-and-memset_s/
Mars Climate Orbiter: https://de.wikipedia.org/wiki/Mars_Climate_Orbiter
Technik-Fail - Mars Climate Orbiter scheitert an der Pfundkraftsekunde: https://www.swr.de/swrkultur/wissen/technik-fail-einheitenfehler-laesst-mars-climate-orbiter-zerschellen-100.html
F-Sharp: https://de.wikipedia.org/wiki/F-Sharp
Ada Slides - Introduction to Ada for Beginning and Experienced Programmers: https://archive.fosdem.org/2022/schedule/event/ada_introduction_beginning_experienced/attachments/slides/5048/export/events/attachments/ada_introduction_beginning_experienced/slides/5048/01_ada_introduction.pdf
Who's Using Ada? Real-World Projects Powered by the Ada Programming Language - November 2014: https://www2.seas.gwu.edu/~mfeldman/ada-project-summary.html
FOSDEM: https://fosdem.org/
Learn Ada - Strong Typing: https://learn.adacore.com/courses/intro-to-ada/chapters/strongly_typed_language.html
Engineering Kiosk Episode #63 Spaß mit Zahlen: Under- und Overflows, Rückwärtslaufende Zeit, Negative Modulos und Währungsbeträge: https://engineeringkiosk.dev/podcast/episode/63-spa%C3%9F-mit-zahlen-under-und-overflows-r%C3%BCckw%C3%A4rtslaufende-zeit-negative-modulos-und-w%C3%A4hrungsbetr%C3%A4ge/
Sprungmarken
(00:00:00) KI, Programmiersprachen und Attribute von guten Programmierer*innen
(00:05:49) Info/Werbung
(00:06:49) KI, Programmiersprachen und Attribute von guten Programmierer*innen
(00:09:18) Ada Type Ranges: Wertebereiche, Compile Time Checks und Ariane 5
(00:21:10) F Units of Measure: Einheiten im Typensystem und Mars Climate Orbiter
(00:32:34) PHP Sensitive Parameters: Secrets in Stack Traces redaction-sicher machen
(00:45:19) Go Secret Mode: Forward Secrecy und Keys nach Handshake aus Memory löschen
(00:56:52) Wrap up: Docker Demos, Links, Community Fragen und FOSDEM Treffen
Hosts
Wolfgang Gassler (https://gassler.dev)
Andy Grunwald (https://andygrunwald.com/)
Community
Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord