Ein Blog

Posts mit Tag "compiler"

Einen Type-Checker schreiben: Reconstructing TypeScript, part 1

Eine interessante Blogpost-Serie: Implementing Co, a Small Interpreted Language With Coroutines #2: The Interpreter (Part I ist der Parser).

Ein schöner Talk von Matt Godbolt: What Has My Compiler Done for Me Lately? Unbolting the Compiler’s Lid.

Für die, die ihn nicht kennen: Das ist der, der den Compiler Explorer gebaut hat: https://gcc.godbolt.org

Damit kann man sich anschauen, was für Assembler-Code verschiedene Compiler aus Code erzeugen. Mittlerweile auch für andere Sprachen als C und C++.

Der Talk ist sehr schön und zeigt, was für Optimierungen der Compiler mittlerweile alle fährt. Ein Beispiel ist die Integer-Mulitplikation mit 2, also z. B. x * 2. Spoiler: Es ist nicht x << 1. Aber auch ein paar größere Beispiele sind durchaus beeindruckend.

Takeaway sollte sein: Optimiert nicht selbst, lasst das den Compiler machen. Ich würde noch ergänzen: Wählt geeignete Datenstrukturen.

Apple sucht Compiler-Leute, die den Interop von Swift und C++ verbessern.

Swift ist IMHO eine wirklich unterschätzte Sprache. Die haben keine Angst vor breaking Changes und trotzdem schaffen sie es, kein Python 3 zu erzeugen. Der Code ist üblicherweise sehr lesbar und seit einiger Zeit haben sie sogar ein Ownership-Modell, das zwar etwas verboser ist, aber IMHO deutlich verständlicher als das von Rust ist. Vielleicht wären sie populärer geworden, wenn Linux- und Windows-Support nicht so lange gedauert hätte, wer weiß ¯\_(ツ)_/¯

Microsoft portiert den TypeScript-Compiler in eine native Sprache. Das ist echt eine Mammutaufgabe. Sie benutzen Go.

Hier ist das Repo. Titel ist “TypeScript 7”. Da wir aktuell bei Version 5 sind, ist damit wohl klar, was sie für einen Zeitplan für die Fertigstellung haben.

WebAssembly Troubles part 1: WebAssembly Is Not a Stack Machine. Der ganze Blog enthält noch mehr Posts in die Richtung.