AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Quo vadis Delphi XE8 ?

Ein Thema von Insider2004 · begonnen am 12. Feb 2015 · letzter Beitrag vom 16. Feb 2015
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Insider2004
(Gast)

n/a Beiträge
 
#1

Quo vadis Delphi XE8 ?

  Alt 12. Feb 2015, 17:45
Wenn man sich so die SVN Folder im Netz anschaut, dann bekommt man schon wieder Schüttelfrost. Man wollte doch den String-Salat aufräumen, damit Anfänger sich besser in Delphi zurechtfinden (siehe UTF8 abschaffen etc.). Das hat man dann auch gründlich gemacht. Doch was müssen meine blutunterlaufenen Äuglein jetzt sehen!?!? LargeInt, LargeUInt, FixedInt, FixedUInt. Ich wette, denen fällt bestimmt noch mehr ein! Die Prozessorregister werden nicht mehr. Auch wenn man 10 weitere Typen einführt. Da wünsche ich dann noch fröhliches Typ-Raten im Informatikunterricht und den restlichen Delphi-Stuben auf der Welt!

BTW: scheinbar kennen die Ingenieure bei Emba nicht mehr den Unterschied zwischen generischen und fundamentalen Integern. Das geht bei denen wild drunter und drüber. Die wären vermutlich auch bei Niklaus Wirth durch das Vor-Diplom gefallen.

Geändert von Insider2004 (12. Feb 2015 um 18:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Quo vadis Delphi XE8 ?

  Alt 12. Feb 2015, 18:09
Könnte das am Ende gar daran liegen? ...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Quo vadis Delphi XE8 ?

  Alt 12. Feb 2015, 19:00
Das ist grundsätzlich nichts Neues.
Wir haben Datentypen, die plattformabhängig sind und welche, die plattformunabhängig sind.

Die Datentypen sind allesamt hier dokumentiert:
http://docwiki.embarcadero.com/RADSt..._Integer_Types

Das Zielsystem gibt die jeweiligen Spielregeln vor - alles andere würde wenig Sinn machen, schliesslich wollen wir ja gerade die Interoperabilität mit den jeweiligen Systemen. Und nun eben auch mit iOS64.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Quo vadis Delphi XE8 ?

  Alt 12. Feb 2015, 20:21
Jupp, leider ist Emba daran mal nicht Schuld.

Immerhin waren die ja nicht die Ersten, werlche für 64 Bit eine Entwicklungsumgebung anboten (eher die Letzten )
und da waren Andere (Microsoft, Intel usw.) schon vorher auf die geniale Idee gekommen und haben beschlossen den Integer-Typen einzufrieren und dafür einen neuen Typen einzuführen, welcher ab jetzt als dynamischer/plattformabhängiger System-Typ definiert wurde, der sich an die CPU anpasst.

In Delphi nannte er sich er sich dann NativeInt und NativeUInt.


Und im Grunde war GodeGear/Embarcadero wenigstens konsequent, als sie von ANI auf Unicode umstellten.
Es ist ja nicht deren Schuld, daß viele ihren Code "schrottig" schrieben, indem sie z.B. PChar verwendeten, obwohl sie eigentlich ausschließlich einen ANSI-String behandeln wollten, oder daß sie bei Verwendung von PChar nicht die Größe richtig "dynamisch" bestimmten.

Gut, beim Integer hatte man somit Pech, wobei Integer-Casts von und zu Pointern nicht wirklich richtig waren, denn auch dafür gibt es entsprechende Typen, wie z.B. IntPtr, welche auch jetzt noch richtig gearbeitet hätten.
Für die Parameter bei den Messages gab es auch schon immer die entsprechenden Typen WPARAM, LPARAM und LRESULT.

Und PChar, Char und String war per Definition auch schon lange vor 2009 als dynamisch/plattformabhängig definiert.
Außerdem hätte man wissen müssen, daß man Speicher und Übertragungsformate niemals plattformabhängig definiert, außer man schreibt den Typen mit ins Protokoll.

Wer alles vorher richtig gemacht hatte, hatte bei Umstellungen auf Unicode oder 64 Bit keine oder zumindestens fast keine Probleme.



Wie man in Stevies Link sieht, war/ist es in C/C++ traditionell üblicher, daß es da viel mehr Typen gibt und diese speziell auf gewisse Bereiche ausgelegt sind, damit sich zukünftige Änderungen genauer anpassen.
In Pascal versuchte man das einfacher zu halten und fasste viele Typen quasi zusammen und leider wurde der Integer, Char und PChar zu oft für falsche Dinge eingesetzt, auch wenn sich Herr Wirth und Andere schon ein paar Gedanken gemacht hatten und für gewisse Dinge spezielle Typen einführten.
$2B or not $2B

Geändert von himitsu (12. Feb 2015 um 20:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 12:19

Und im Grunde war GodeGear/Embarcadero wenigstens konsequent, als sie von ANI auf Unicode umstellten.
Es ist ja nicht deren Schuld, daß viele ihren Code "schrottig" schrieben, indem sie z.B. PChar verwendeten, obwohl sie eigentlich ausschließlich einen ANSI-String behandeln wollten, oder daß sie bei Verwendung von PChar nicht die Größe richtig "dynamisch" bestimmten.
Naja... Apple macht es anders... Da ist ein Char auch unter 64Bit immer noch 1 Byte lang (Wenn ich die Tabelle richtige verstehe)

[OT]
Hätte EMBA das auch gemacht, würden nicht so viele Projekte noch auf D2007 hängen... Und es gäbe nicht die "Unicode-Hürde".
Ja ja ja die VCL... Schon klar... Hätte man zweigleisig fahren müssen...Ein schönen Compilerswitch welche Version gelinkt werden soll....[/OT]

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 12:41
Naja... Apple macht es anders... Da ist ein Char auch unter 64Bit immer noch 1 Byte lang (Wenn ich die Tabelle richtige verstehe)
[OT]
Hätte EMBA das auch gemacht, würden nicht so viele Projekte noch auf D2007 hängen... Und es gäbe nicht die "Unicode-Hürde".
Apple hat eine dem String-Type entsprechenden Typ CFString und der Arbeitet mit UniChar. Wenn man diesen Verwenden und die dafür vorgesehen Zugriffsfunktionen wird man (ähnlich wie bei der MFC mit CString) relativ wenig mitbekommen haben als man auf Unicode umgestiegen ist.
Bei Delphi konnte man viele Jahre "faulenzen" und die Compilermagic verwenden statt sich an den relevanten Stellen (Datei speichern, APIs, ...) Gedanken machen zu müssen.
Mit D2009 musste halt diese Stellen angepasst werden. Wenns man richtig gemacht hat waren es nicht zu viele.

Ja ja ja die VCL... Schon klar... Hätte man zweigleisig fahren müssen...Ein schönen Compilerswitch welche Version gelinkt werden soll....[/OT]
Man kann per Unit diesen Schalter setzten bis man diese gefixt hat. Aber dies Diskussion wieso und wieso nicht gabs schon öfter.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 13:08
Nein PChar muß 2 Byte sein, denn PChar ist das Äquivalent zum String, welches na nun ein Alias für den UnicodeString ist.

Ja, man hätte natürlich auch den String als Alias für einen UTF8String nehmen können, dann wäre PChar 1 Byte geblieben,
aber dann müsste man für alle WinAPIs einen Wrapper bauen können, da es Diese nur als ANSI oder UTF-16 (Unicode) gibt.

So paßt nun der PChar genau auf die Unicode-Versionen der WinAPIs drauf.
$2B or not $2B

Geändert von himitsu (14. Feb 2015 um 13:10 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 13:54
Zitat:
Naja... Apple macht es anders... Da ist ein Char auch unter 64Bit immer noch 1 Byte lang (Wenn ich die Tabelle richtige verstehe)
Es macht aber ein Unterschied, ob man eine Entscheidung als Betriebssystemhersteller ( Apple) oder als ( nicht führender) Hersteller von Entwicklungssoftware ( CodeGEAR/EMBT) trifft.
Der Unicodesschnitt war hart aber richtig.

Zitat:
Hätte EMBA das auch gemacht, würden nicht so viele Projekte noch auf D2007 hängen... Und es gäbe nicht die "Unicode-Hürde".
Dann wären die Projekte vielleicht auf neue Versionen gehoben, aber immer noch nicht unicodefähig.
Es wäre eher wie mit der BDE, solange es diese gibt, besteht kein Zwang sich von ihr zu verabschieden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 13:58
Zitat:
Naja... Apple macht es anders... Da ist ein Char auch unter 64Bit immer noch 1 Byte lang (Wenn ich die Tabelle richtige verstehe)
Es macht aber ein Unterschied, ob man eine Entscheidung als Betriebssystemhersteller ( Apple) oder als ( nicht führender) Hersteller von Entwicklungssoftware ( CodeGEAR/EMBT) trifft.
Der Unicodesschnitt war hart aber richtig.
Ein Char bleibt ein Char, aber zur speicherung von Text werden in den String-Klassen UniChars verwendet


Zitat:
Hätte EMBA das auch gemacht, würden nicht so viele Projekte noch auf D2007 hängen... Und es gäbe nicht die "Unicode-Hürde".
Dann wären die Projekte vielleicht auf neue Versionen gehoben, aber immer noch nicht unicodefähig.[/QUOTE]
Ich glaube auch das viele Projekte bei D2007 hängen geblieben sind da durch die VCL.NET (und des generellen .NET-Ausflugs) viel Entwicklungszeit investiert wurde den man danach wegschmeißen konnte. Das dürfte für einige Firmen das Ende bedeutet

Zitat:
Es wäre eher wie mit der BDE, solange es diese gibt, besteht kein Zwang sich von ihr zu verabschieden.
Dast stimmt. Da würde auch noch die Forderung kommen Chars genauso unter iOS, Android und OSX mit 1 Byte pro Character zu haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: Quo vadis Delphi XE8 ?

  Alt 14. Feb 2015, 14:15
Frag mal den Andreas ... die 1-Byte-Chars/Strings gibt es noch. (heimlich versteckt)

Auch wenn ich nicht wirklich verstanden hab, warum man das ANSI/UTF-8 abgeschafft hat.
$2B or not $2B

Geändert von himitsu (14. Feb 2015 um 14:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz