Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#93

Re: Vorteile von Delphi gegenüber C#

  Alt 25. Aug 2009, 17:53
Zitat von Bernhard Geyer:
Zitat von JamesTKirk:
Was heißt hier "nur UTF-8"? Was braucht man mehr? Braucht man unbedingt UTF-16 oder WideStrings? Ich denke nicht. Und UTF-8 unterstützen alle gängigen Plattformen
Windows verwendet ab NT UCS2 und ab W2K UTF-16. Verwendet nun dein Programm intern UTF8 muss für jedes Zeichnen eines Textes dieser UTF8-Text passend gewandelt werden und mit den entsprechenden Wide-API-Aufrufen dargestellt werden. Das ist mit Sicherheit nicht gerade Performance-Steigernd wenn viel Text dargestellt wird der sich öfter ändert. Der Weg den Delphi2009 geht ist sinnvoller als UTF8. Java und .NET verwenden von Hause aus UTF-16 um hier kein unnötiges Performancegrab zu haben.

Zitat von JamesTKirk:
(mit den entsprechenden DLLs sogar Win9x).
Win9x hat keine UTF8 API Es hat eine handvoll funktionierten Wide-API-Aufrufe für UCS2-Strings.
Ich lass mich ja durchaus belehren

Ich kann nur mutmaßen, was die letztendliche Entscheidung dafür war UTF-8 zu wählen:
- die LCL verwendet AnsiStrings und keiner wollte auf WideString umstellen (bezogen auf: man wird nicht dafür bezahlt)
- es hängt vielleicht auch damit zusammen, dass die WideString Unterstützung plattformabhängig ist (aber nagelt mich jetzt nicht drauf fest)
- aktuelle Linux Systeme verwenden auch meist UTF-8 (keine Ahnung was OS X hier macht)
- auf die bisschen Perfomanceeinbußen mit der Konvertierung von UTF-8->Ansi->UTF-16 (letzterer Schritt wohl Win API intern, da Lazarus glaube (!) ich die Ansi API verwendet) kommts nicht an, da die LCL sowieso etwas langsamer is, als ihr pures Windows Pendent (durch die ganze Abstraktion).

Aber nun genug des Offtopics, sonst kriegen wir noch Haue
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat