unsigned Datentypen sind oft nützlich, wenn man einen großen Zahlbereich hat, aber keine negativen Zahlen für etwas verwendet. Klar kann man das immer umrechnen, aber das verbraucht Rechenzeit. Wenn man einen unsigned Wert speichern muss und man nur signed Datentypen zur Verfügung hat, muss man entweder immer umrechnen, oder mehr Speicher nutzen, als eigentlich benötigt wird. Die leichtere Implementation ist kein Argument, da meinen Just-In-Time Compiler eh irgentwann man .NET unterstützen sollte, und ich so überhaupt keinen Arbeitsaufwand spare.
Ausserdem fehlt mir die Stackallokation, z.B. für Strings, die nur eine kurze Lebensdauer haben. Realisiert wird das in meiner Hochsprache durch ein Schlüsselwort local, das bewirkt, das eine Variable oder ein Parameter auf dem Stack allokiert wird, und nicht in ein Feld geschrieben werden darf.
Wünschenswert wären auch Strukturen, die anders als Klassen keine Laufzeitinformationen speichern. Wenn man ein Array von 10000 Objekten hat, und jedes muss 4 Bytes für die Klasse, der es angehört mitspeichern, verbrauche ich schonmal 40000 wenn jede Struct nur aus zwei Byte besteht, sind das 200% mehr verbrauchter Speicher. Ausserdem kann ich so leichter auf Daten im Speicher zugreifen, die keine Objektinformationen enthalten. In meiner Hochsprache ist etwa sowas möglich: "byte[] array = unsafe(<Speicheraddresse>);", um einfach auf Speicherstellen zugreifen zu können, ohne zusätzliche Pointer Datentypen einzuführen, welche in ihrer von C bekannten Syntax auch das Parsen sehr viel schwerer machen würden.
Eine große Standardbibliothek ist eigentlich unvermeindlich für eine portable Sprache, die auf Bytecode basiert. Normale Anwendungen werden bei in meinem Just-In-Time Compiler definitiv nicht nativen Code nutzen dürfen, da der Compiler im Kernel läuft, und eine Anwendung sonst das gesammte System zerstören könnte. Daher braucht die Sprache eine Bibliothek, die alle Funktionen des Betriessystems abdeckt, darunter Threads/Prozesse, verschiedene Sachen wie Zeitzonen, länderspezifische Codierungen von verschiedenen Sachen, E/A für Netzwerk, Dateien und Grafik (naja, das zählt man normalerweise nicht zu den I/O Funktion), usw.