Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 21-Aug-2008
< Voriger Tag   Nächster Tag >

Donnerstag, 21. August 2008

Lx: int16 oder word?

Ein paar Datentypen für die eigene Programmiersprache.

Da sich von Lx aus leicht C-Bibliotheken benutzen lassen sollen sind die gängigen C-Typen enthalten. Mit dem Nachteil, dass schnell viele Datentypen zusammenkommen, die dann später vom Compiler alle behandelt werden müssen (Zuweisung möglich?, Umwandlung von Datentyp x zu y, ...).

int16 oder word?

Für die Ganzzahlen sind int8, int16, ... als Bezeichnungen weit verbreitet. Ich habe byte, word, ... gewählt wie es sie z.B. in den C-Includes des AmigaOS gibt. Einen besonderen Grund gibt es nicht dazu - irgendwie gefallen mir die besser. Für eine allgemeine Sprache würde ich allerdings int8, int16, ... nehmen.

Datentypen - Relikte aus der Vergangenheit?

Ein wenig sind Datentypen ja Relikte aus der Vergangenheit als Speicher und Rechenzeit noch knapp waren und es daher wichtig war ein byte statt ein long oder ein float/double zu benutzen. Dass ist heuzutage (bei sehr großen Datenmengen) zwar immer noch sinnvoll in vielen Fällen merkt man den Unterschied aber nicht mehr. Wichtiger ist (heute), dass Variablen nur bestimmte Werte/Inhalte enthalten. Die Variable $month für den Monat z.B. nur die Zahlen 1 bis 12 oder die Variable $website nur gültige http://-URLs usw. Und entsprechende Exceptions zur Fehlerbehandlung aufgerufen werden wenn sie andere Werte enthalten, um so die Sicherheit und die Stabilität von Software zu erhöhen.

Weitere

Da wird bei den Datentypen und dann insbesonders bei der Deklaration noch einiges zu kommen: enum, bits, money, .... Rebol hat z.B. viele eingebaute Datentypen. Ich werde versuchen die direkt eingebauten auf die Kommunikation mit C auszurichten und andere als Klassen bereitzustellen.

[Direktlink]

< Voriger Tag   Nächster Tag >

  RSS V0.91

<August 2008 >
    010203
04050607080910
11121314151617
18192021222324
25262728293031

Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 21-Aug-2008
(C) 2000-2018 by Sven Drieling