Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#1

XE8: Sinn von FixedInt, FixedUint, System.Hash

  Alt 23. Apr 2015, 09:44
Was ist der vermutliche Sinn dieser Neuigkeiten in XE8?

Neue Integer-Typen
Die Größe der bisher platform-unabhängigen longint und longword hat sich (mW entgegen bisherigen Zusagen) nun doch geändert und wird wohl einige Inkompatibilitäten bringen. Und um die Verwirrung zu steigern, führt man dann noch zwei sofort zwei neue Typen (mit den Eigenschaften der alten) ein: FixedInt und FixedUInt, natürlich mit der Eigenschaft überall (heute) 32-Bit zu sein. Interessanterweise fehlt die Zusicherung, daß sich die Größe nicht ändern wird.

Sinnvoll und systematisch wäre Int32 und UInt32 stärker zu propagieren. Da ich bisher bei meinen Units auf die seit 25 Jahren unveränderte longints setze, währe eine Umstellung auf Int32/UInt32 allerdings eine ziemliche Arbeit.

Neue Hash-Unit
In System.Hash soll es 3 (in Worten DREI) Funktionen geben:Bob Jenkins, MD5, SHA1!

Zu Bob Jenkins (was genau das auch immer ist, Wiki listet 4 verschiedene) kann ich nichts sagen. Aber MD5 und SHA1 sind als kryptogragische Hashfunktionen gebrochen bzw. angezählt und für den nicht-kryptografischen Einsatz viel zu langsam. Als zwei veraltete Funktionen in ein umfassenden Unit OK, aber so ist es doch fahrlässig.

Nichts von SHA256, SHA3 (und Finalisten) bzw. anderen (schnellen) nicht-kryptogragischen (FNV etc) Funktionen.
  Mit Zitat antworten Zitat