22.03.2023
CodeProject
Eine C#-Bibliothek für physikalische Einheiten
Autor: Bernhard Lauer
CodeProject.com
Kleine Rechenfehler können in komplexen Systemen zu großen Katastrophen führen. Die Physik-Bibliothek von Keith Barrett soll Fehler vermeiden helfen, ist in C# Version 9 geschrieben und nutzt .NET 5.0.
Die ursprüngliche Inspiration für sein Projekt war für Entwickler Keith Barrett der Verlust des Mars Climate Orbiter der NASA im Jahr 1999. Dieser scheiterte beim Eintritt in die Marsumlaufbahn an einer Verwechslung zwischen metrischen (SI) und US-amerikanischen Maßeinheiten (United States Customary Units). Ein Teilsystem lieferte Messungen in Pfund-Kraft-Sekunden an ein anderes Teilsystem, das diese in Newton-Sekunden erwartete. Als die Sonde abbremste, um in die Umlaufbahn einzutreten, kam sie der Atmosphäre des Planeten zu nahe und verglühte entweder oder prallte in die Sonnenumlaufbahn ab.
Daher hat Keith Barrett versucht, eine Code-Bibliothek zu erstellen, in der diese Art von Fehler von vornherein ausgeschlossen werden sollte. Sie ist in C# Version 9 geschrieben, nutzt .NET 5.0 und hat die folgenden Eigenschaften:
- Sie kann zur Durchführung vieler Standardberechnungen aus Physik und Technik verwendet werden.
- Sie basiert auf Dimensionsanalyse, das heißt alle Größen haben eine entsprechende physikalische Dimension, wie zum Beispiel Länge oder Masse.
- Es ist stark typisiert, so dass Größen unterschiedlicher Dimension nur auf wissenschaftlich gültige Weise kombiniert werden können.
- Intern werden alle Werte in S.I. (metrischen) Einheiten gespeichert.
- Nur an den externen Schnittstellen werden die Werte in ein bestimmtes Einheitensystem umgewandelt, zum Beispiel bei der Konvertierung in und aus Strings.
Alles Weitere zur C#-Physik-Bibliothek von Keith Barrett erfahren Sie auf dieser CodeProject-Seite.
Bitkom-Länderindex
Hamburg und Berlin bei der Digitalisierung ganz vorne
Im Länder-Ranking des Branchenverbandes Bitkom liegen die Stadtstaaten an der Spitze der Digitalisierung in Deutschland. Bayern ist der beste Flächenstaat.
>>
JavaScript Framework
Hono werkelt im Hintergrund
Das JavaScript-Framework Hono ist klein und schnell. Ein weiterer Vorteil ist, dass Hono auf vielen Laufzeitumgebungen zum Einsatz kommen kann.
>>
Digitalisierung
Kooperation für das Pflegeheim der Zukunft
Mehrere Unternehmen haben eine Initiative gegründet, um ein digitales Ökosystem für Pflegeheime zu entwickeln. Initiator ist Tino Cafaro vom Systemhaus The Company in Vaihingen an der Enz.
>>
Container
.NET 8 - Container bauen und veröffentlichen ganz einfach
Dockerfiles erfreuen sich großer Beliebtheit. Unter .NET 8 lassen sich Container für Konsolenanwendungen über den Befehl "dotnet publish" erzeugen.
>>