#252 Coole Sprach-Features in Ada, F#, PHP und Go

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ünscheDein 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: stehtisch@engineeringkiosk.devMastodon: https://podcasts.social/@engkioskBluesky: https://bsky.app/profile/engineeringkiosk.bsky.socialInstagram: https://www.instagram.com/engineeringkiosk/ Unterstütze den Engineering KioskWenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer Buy us a coffee: https://engineeringkiosk.dev/kaffee LinksGithub - A collection of cool programming language features (highly subjective): https://github.com/EngineeringKiosk/cool-programming-language-featuresNeue PHP 8.2 Features: https://www.php.net/manual/de/migration82.new-features.phpPHP-Attribut SensitiveParameter: https://www.php.net/manual/de/class.sensitiveparameter.phpDeep Dive von PHP 8.2: Sensitive Parameter value redaction support: https://php.watch/versions/8.2/backtrace-parameter-redactionPHP RFC: Redacting parameters in back traces: https://wiki.php.net/rfc/redact_parameters_in_back_tracesPHP 8.0: Attributes: https://php.watch/versions/8.0/attributesGo feature: Secret mode: https://antonz.org/accepted/runtime-secret/Github Issue “runtime/secret: add new package #21865: https://github.com/golang/go/issues/21865Go 1.26 Release Notes: https://go.dev/doc/go1.26The 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.htmlC-Funktion “memzero_explicit”: https://manpages.debian.org/experimental/linux-manual-4.11/memzero_explicit.9.en.htmlC-Funktion “explicit_bzero”: https://www.gnu.org/software/gnulib/manual/html_node/explicit_005fbzero.htmlC-Funktion “memset_s”: https://man.freebsd.org/cgi/man.cgi?query=memset_s&sektion=3Rust zeroize: https://crates.io/crates/zeroizeZero'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_OrbiterTechnik-Fail - Mars Climate Orbiter scheitert an der Pfundkraftsekunde: https://www.swr.de/swrkultur/wissen/technik-fail-einheitenfehler-laesst-mars-climate-orbiter-zerschellen-100.htmlF-Sharp: https://de.wikipedia.org/wiki/F-SharpAda 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.pdfWho's Using Ada? Real-World Projects Powered by the Ada Programming Language - November 2014: https://www2.seas.gwu.edu/~mfeldman/ada-project-summary.htmlFOSDEM: https://fosdem.org/Learn Ada - Strong Typing: https://learn.adacore.com/courses/intro-to-ada/chapters/strongly_typed_language.htmlEngineering 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 HostsWolfgang Gassler (https://gassler.dev) Andy Grunwald (https://andygrunwald.com/) CommunityDiskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord