Wir sind schlecht im Marketing — das geben wir zu. Unsere Stärke liegt darin, Artikel dieser Art zu schreiben, auf die Entwickler, Administratoren und Befürworter freier Software angewiesen sind, um zu wissen, was in der Linux-Welt vor sich geht. Abonnieren Sie noch heute, um uns dabei zu helfen, weiterhin so zu tun, damit wir nicht gut im Marketing werden müssen.
Als Professor für biomedizinische Technik passt Martin Uecker vielleicht nicht in das Profil eines typischen Vortragenden auf Kernel Recipes. Er ist jedoch ein langjähriger Linux-Nutzer und arbeitet an freier Software zur Steuerung von Magnetresonanztomographie-(MRT)-Scannern. Er war auf der Konferenz, um über die C-Programmiersprache, das spezifische Problem des undefinierten Verhaltens in C und die Frage zu sprechen, ob sie letztendlich zu einer speichersicheren Sprache gemacht werden kann.
Warum sich 2026 noch mit C beschäftigen? Es sei immer noch eine großartige Sprache, sagte er. C ist portabel, langfristig stabil, bietet schnelle Kompilierung, und der resultierende Binärcode ist schnell. "Was Sie sehen, ist was Sie bekommen"; es ist einfach, C-Code anzusehen und eine Vorstellung davon zu haben, was der Computer tatsächlich tun wird. Es gibt viele Werkzeuge für die Arbeit mit der Sprache, und C tritt zurück, wenn es notwendig ist.
C hat eine lange Geschichte, und das beeinflusst die Sprache, wie wir sie heute sehen, sagte er. Der C89-Standard musste sich mit einer breiten Vielfalt an Hardware auseinandersetzen, einschließlich Maschinen mit Vorzeichen-Betrag- oder Eins-Komplement-Ganzzahldarstellungen, segmentiertem Speicher, exotischen Pointer-Darstellungen und überraschenden Größen für Typen. Einige Honeywell-Maschinen hatten beispielsweise Neun-Bit-Bytes. Das erschwerte die Aufgabe, einen Standard zu schreiben, der das Schreiben portablen Codes ermöglichte, erheblich. Der eingeschlagene Ansatz bestand darin, die Semantik der Sprache in Bezug auf eine abstrakte Maschine zu definieren. Alle Operationen sind so auszuführen, als wären sie auf dieser abstrakten Maschine ausgeführt worden, die nicht genau der tatsächlichen Hardware entsprechen mag. Das beobachtbare Verhalten des Programms muss das sein, was die abstrakte Maschine getan hätte.
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing