Aber auch nur, wenn man auf seinem System und in seinem Land blieb. Es ist doch genau die Ursache für den ganzen Kuddelmuddel, dass man den ganzen Ballast aus alten Tagen mit schleppen muss, weil es zum Beispiel noch eine Tonne von alten Daten in der alten Codierung gibt.pluto hat geschrieben:Die ganzen Codier Sachen sind immer ein Problem. Ich weiß auch nicht warum. Jedesmal wenn es um Umlaute geht, muss ich auch erst mal schauen, wie die Lösung war. Früher hat das besser geklappt....Die Sprache nicht, die endlose TP/shortstring und Unicode Posts hier wiegende, bin ich mir weniger Sicher von die Anwender :_)
Unicode und FPC/Lazarus
-
- Beiträge: 206
- Registriert: Di 10. Nov 2009, 18:49
- OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
- CPU-Target: 32Bit/64bit
Unicode und FPC/Lazarus
MiSchi macht die fink-Pakete
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Haltet ihr Pascal für eine sterbende Sprache?
Man hätte das Unicode-Problem wesentlich besser (flexible und kompatibler, ohne schlechtere Performance in Kauf nehmen zu müssen) angehen können. Ich habe darüber auch einen Artikel im Wiki verfasst. Aber Embarcadero hat es komplett verbaselt und die FPC Crew hat sich nicht getraut das neu zu gestalten, statt den Mist nachzubauen.
-Michael
-Michael
Re: Haltet ihr Pascal für eine sterbende Sprache?
@mschnell:
Die Stringgeschichte ist doch nun schon lange durch. Die Welt dreht sich weiter, mit oder ohne die perfekte Implementierung von Strings. Irgendwelche Kompromisse wird es immer geben müssen, wenn man nativ und gleichzeitig plattformübergreifend entwickeln will. Nicht nur das, man muss auch gute Konzepte haben, um externe Bibliotheken oder Datenformate zu unterstützen, die öfters ihre eigenen Strings unabhängig vom OS mitbringen.
Ich selber mag die derzeitige Implementierung, nachdem ich sie erstmal verstanden hatte. Auch finde ich UTF-8 kodierte Strings gemütlicher, als UTF-16, da dort noch auf LE und BE aufgepasst werden muss.
Wie gesagt, diese Diskussionen wurden schon vor einer ganzen Weile geführt. Der/die Eine oder Andere findet sicherlich Kritikpunkte an der aktuellen Implementierung. Daß Lazarus seinen eigenen Weg gegangen ist, war auch nicht immer auf Verständnis von Seiten FPC gestoßen. Doch das Kriegsbeil ist mit Verlusten begraben, bitte begrab es doch auch!
Danke
Michael
PS: schön zu sehen, an diesem Beispiel, daß Pascal nicht tot ist, sondern ständig weiterentwickelt wird
Die Stringgeschichte ist doch nun schon lange durch. Die Welt dreht sich weiter, mit oder ohne die perfekte Implementierung von Strings. Irgendwelche Kompromisse wird es immer geben müssen, wenn man nativ und gleichzeitig plattformübergreifend entwickeln will. Nicht nur das, man muss auch gute Konzepte haben, um externe Bibliotheken oder Datenformate zu unterstützen, die öfters ihre eigenen Strings unabhängig vom OS mitbringen.
Ich selber mag die derzeitige Implementierung, nachdem ich sie erstmal verstanden hatte. Auch finde ich UTF-8 kodierte Strings gemütlicher, als UTF-16, da dort noch auf LE und BE aufgepasst werden muss.
Wie gesagt, diese Diskussionen wurden schon vor einer ganzen Weile geführt. Der/die Eine oder Andere findet sicherlich Kritikpunkte an der aktuellen Implementierung. Daß Lazarus seinen eigenen Weg gegangen ist, war auch nicht immer auf Verständnis von Seiten FPC gestoßen. Doch das Kriegsbeil ist mit Verlusten begraben, bitte begrab es doch auch!
Danke
Michael
PS: schön zu sehen, an diesem Beispiel, daß Pascal nicht tot ist, sondern ständig weiterentwickelt wird

Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Haltet ihr Pascal für eine sterbende Sprache?
Genau darum geht es ja.Michl hat geschrieben:um externe Bibliotheken oder Datenformate zu unterstützen, die öfters ihre eigenen Strings unabhängig vom OS mitbringen.
Das was eigentlich schiefgelaufen ist, ist, dass TStrings nach außen einen Stringtyp verwendet, der eine feste Codierung hat und sich nicht je nach Anwendung flexibel anpassen kann. Dadurch kommen diverse Inkompatibilitäten zustande. Und nötig ist das nicht, aber von Embarcadero so vorgegeben.
(Und dass das Thema "durch" ist, heißt nicht, dass der Status quo zufriedenstellend ist.)
-Michael
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Haltet ihr Pascal für eine sterbende Sprache?
na und? Wozu gibt es den Delphi Modus? Im normalen Modus kann das ja anders gehandhabt werden. Oder spricht was dagegen?Und nötig ist das nicht, aber von Embarcadero so vorgegeben.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Haltet ihr Pascal für eine sterbende Sprache?
Am besten haben es die Amis, die haben keine Umlaute in ihrer Sprache.
Die Umlaute im deutschen sind eigentlich auch noch gnädig, "öäüÖÄÜ" mit diesen 6 Stück kann man leben.
Aber nehmen wir mal die Franzosen mit ihren "^çéàèÉÀÈÇ" oder sonstige Sprachen "Ïï".
Ich habe mir angewöhnt möglichst wenig Umlaute für System-Sachen zu verwenden, ZB. Dateinamen, Ini-Files, etc.
Bei Dialogen oder Menus, welcher der Benutzer sieht, ist es was anderes.
Aber immerhin, ist Pascal nicht alleine mit diesem Problem, C++, etc. kämpfen auch damit.
Die Umlaute im deutschen sind eigentlich auch noch gnädig, "öäüÖÄÜ" mit diesen 6 Stück kann man leben.
Aber nehmen wir mal die Franzosen mit ihren "^çéàèÉÀÈÇ" oder sonstige Sprachen "Ïï".
Ich habe mir angewöhnt möglichst wenig Umlaute für System-Sachen zu verwenden, ZB. Dateinamen, Ini-Files, etc.
Bei Dialogen oder Menus, welcher der Benutzer sieht, ist es was anderes.
Aber immerhin, ist Pascal nicht alleine mit diesem Problem, C++, etc. kämpfen auch damit.

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Haltet ihr Pascal für eine sterbende Sprache?
Der Vorschlag wurde auch gemacht, vom den fpc-Team aber abgelehnt.pluto hat geschrieben:na und? Wozu gibt es den Delphi Modus? Im normalen Modus kann das ja anders gehandhabt werden. Oder spricht was dagegen?
Ein weiteres Problem ist auch die dämliche Art wie die String-Library implementiert ist. Es gibt eine Library für 1-Byte Chrs (ANSI und UTF8) und eine weitere unabhängige für 2-Byte Chars (UTF-16) und gar keine für 4-Byte Chars (UTF-32). Um also etwas wirklich sinnvolles zu machen, mit Strings die statisch und/oder dynamisch alle sinnvollen String-Typen enthalten können, müsste man die Library komplett um bzw neu schreiben. Und man ist froh, dass man gerade geschafft hat alle Delphi Quirks ziemlich kompatibel einzubauen.
-Michael
-
- Beiträge: 203
- Registriert: Di 22. Sep 2009, 13:08
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Haltet ihr Pascal für eine sterbende Sprache?
Solange die Amis nicht anfangen Tasten wie 'F12' zu drücken...Mathias hat geschrieben:Am besten haben es die Amis, die haben keine Umlaute in ihrer Sprache.
Die Umlaute im deutschen sind eigentlich auch noch gnädig, "öäüÖÄÜ" mit diesen 6 Stück kann man leben.
Aber nehmen wir mal die Franzosen mit ihren "^çéàèÉÀÈÇ" oder sonstige Sprachen "Ïï".
Sobald man Daten verarbeiten muss, die nicht im Unicode-Standard drin sind
(Barcodes, Tastaturcodes, zufällige Filenamen, ... ... .............), wird es mit aktuelleren
Versionen von FPC schwierig.
Praktisch gesehen muss man als fortgeschrittener Programmierer (falls man bei FPC bleiben will) jetzt
anfangen einen eigenen String-Typ zu bauen. Und die Unterstützung für Konstanten durch den Compiler
hat man dabei dann leider auch komplett verloren.
Vielleicht sollte man FPC mehr als, "Special Purpose" Lernsprache vermarkten - und das auch offen zugeben.
Bei den letzten paar Versionen von FPC hat sich immer irgendetwas subtil an den String-Typen geändert.
Für den Profi-Bereich könnte es langsam schwierig werden Leute zu finden, die bereit sind ein Vertrauensverhältnis zu FPC aufzubauen.
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Haltet ihr Pascal für eine sterbende Sprache?
DIalekt modi operieren nur auf Dialekt, nicht auf Units.pluto hat geschrieben:na und? Wozu gibt es den Delphi Modus? Im normalen Modus kann das ja anders gehandhabt werden. Oder spricht was dagegen?Und nötig ist das nicht, aber von Embarcadero so vorgegeben.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Haltet ihr Pascal für eine sterbende Sprache?
und das ist der Grund, warum man es den Programmierer unnötig schwer machen muss?DIalekt modi operieren nur auf Dialekt, nicht auf Units.
Dann führt man eben ein zweiten String Typ ein: fString oder so ähnlich.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Haltet ihr Pascal für eine sterbende Sprache?
Was hat dies mit Strings zu tun ?Solange die Amis nicht anfangen Tasten wie 'F12' zu drücken...
Wieso sollte dies eine Lernsprache sein. Mit C++ muss man sich auch mit UTF8, Unicode, etc. rumschlagen, weil das ein OS-Problem ist.Vielleicht sollte man FPC mehr als, "Special Purpose" Lernsprache vermarkten - und das auch offen zugeben.
Bei den letzten paar Versionen von FPC hat sich immer irgendetwas subtil an den String-Typen geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Haltet ihr Pascal für eine sterbende Sprache?
Natürlich! Wir tun nie etwas ohne die Absicht alles extra schwer zu machen, und es macht uns besonders Spaß wenn wir mit unser eigene Jahrelange Planung durchgehen, eben wenn User in 5 Minuten völlig aus gewirkte alternative Planen auf die Hinterseite eines Bierzettel gemacht haben. Wir denken dann, wir machen das extra schwer, und gehen mit unsere bewerte 6 Jahre alte Planung durch.pluto hat geschrieben:und das ist der Grund, warum man es den Programmierer unnötig schwer machen muss?DIalekt modi operieren nur auf Dialekt, nicht auf Units.
Speziell wenn sie von Michael Schnell kommen der nach 400 Unicode Mails im List noch immer nicht Wusste wie die Implementierung funktionierte. Nichtsdestotrotz war er klar der Experte.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Haltet ihr Pascal für eine sterbende Sprache?
Wenn sich andauernd jede Menge frustrierte User beschweren - nicht über die Implementierung, sondern darüber wie man mit dem Produkt umgehen muss, und auch nicht über die Unterschiede zwischen fpc und Delphi, sondern sehr oft auch über das, was beiden gemeinsam ist oder das, was bei fpc/Lazarus auffällt, weil es Plattform-übergreifend arbeitet und Delphi nur auf Windows - ist doch klar, dass man mit dem Status Quo nicht zufrieden sein kann und versuchen sollte, bessere Ideen zu entwickeln. (Einen Vorschlag habe ich ja schriftlich im Wiki ausgeführt.) Ich habe immer nur mit Vorschlägen auf solche Beschwerden anderer User reagiert und nie selber Beschwerden vorgebracht, sondern mit Dank an das Team immer betont, dass natürlich das, was fpc/Latzarus zum jeweiligen Zeitpunkt bietet, meilenweit besser ist als wenn man ganz auf fpc/Lazarus (und da,mit portablen Object Pascal Code) verzichten müsste.
Auch jetzt gilt natürlich immer noch, dass die aktuelle historisch gewachsene Implementierung und die der (meiner Ansicht nach schlecht konzeptionierten) Delphi-Arbeitsweise nachgebaute Arbeitsweise, es den Usern durchaus erlaubt, Platform-übergreifende Programme zu schreiben. Und darauf kommt es in erster Linie an! Ich würde nie dem Entwickler-Team vorwerfen, dass es Verbesserungs-Vorschläge nicht umsetzt, weil sie eine aufwändige Umstrukturierung erfordern. Die Zeit, die die Mitglieder dankenswerter Weise einbringen können ist eben begrenzt. (Dass Embarcadero mit wer weiß wie vielen bezahlten Mitarbeitern so einen unüberlegten Mist - also TStrings mit fester Codierung - hervorbringt, ist viel bedenklicher.)
Übrigens kann man dieselbe Diskussion über die innere Struktur der LCL "WidgetSet" (aka "Interface") Implementierung führen (haben wir auch schon). Dass jedes einzelne Interface eine komplett eigene (z.B. Queue-) Implementierung hat und nicht von einer gemeinsamen Objekt-orientierter Basis die verschiedenen Interfaces so abgeleitet werden, so dass möglichst viel Code gemeinsam verwendet wird, ist halt historisch bedingt und eine Änderung wäre sehr aufwändig und natürlich zu nächst einmal fehlerträchtig. Ich habe volles Verständnis dafür, dass niemand das angeht, auch wenn dadurch die zukünftige Implementierung neuer WidgetSets erheblich vereinfacht würde. Dass es aber geht, zeigt mse-GUI.
Man muss etwas gutes nicht verdammen, auch wenn man sich etwas besseres vorstellen kann. Es ist immer zu bedenken, dass eine Verbesserung / Alternative an den zur zur Verfügung stehenden Ressourcen scheitert. Trotzdem ist es sinnvoll gemeinsam darüber nachzudenken. Sonst ist kein Fortschritt möglich.
-Michael (hat sie auch nie für einen Experte für die existierende Unicode Implementierung gehalten
)
Auch jetzt gilt natürlich immer noch, dass die aktuelle historisch gewachsene Implementierung und die der (meiner Ansicht nach schlecht konzeptionierten) Delphi-Arbeitsweise nachgebaute Arbeitsweise, es den Usern durchaus erlaubt, Platform-übergreifende Programme zu schreiben. Und darauf kommt es in erster Linie an! Ich würde nie dem Entwickler-Team vorwerfen, dass es Verbesserungs-Vorschläge nicht umsetzt, weil sie eine aufwändige Umstrukturierung erfordern. Die Zeit, die die Mitglieder dankenswerter Weise einbringen können ist eben begrenzt. (Dass Embarcadero mit wer weiß wie vielen bezahlten Mitarbeitern so einen unüberlegten Mist - also TStrings mit fester Codierung - hervorbringt, ist viel bedenklicher.)
Übrigens kann man dieselbe Diskussion über die innere Struktur der LCL "WidgetSet" (aka "Interface") Implementierung führen (haben wir auch schon). Dass jedes einzelne Interface eine komplett eigene (z.B. Queue-) Implementierung hat und nicht von einer gemeinsamen Objekt-orientierter Basis die verschiedenen Interfaces so abgeleitet werden, so dass möglichst viel Code gemeinsam verwendet wird, ist halt historisch bedingt und eine Änderung wäre sehr aufwändig und natürlich zu nächst einmal fehlerträchtig. Ich habe volles Verständnis dafür, dass niemand das angeht, auch wenn dadurch die zukünftige Implementierung neuer WidgetSets erheblich vereinfacht würde. Dass es aber geht, zeigt mse-GUI.
Man muss etwas gutes nicht verdammen, auch wenn man sich etwas besseres vorstellen kann. Es ist immer zu bedenken, dass eine Verbesserung / Alternative an den zur zur Verfügung stehenden Ressourcen scheitert. Trotzdem ist es sinnvoll gemeinsam darüber nachzudenken. Sonst ist kein Fortschritt möglich.
-Michael (hat sie auch nie für einen Experte für die existierende Unicode Implementierung gehalten

Re: Haltet ihr Pascal für eine sterbende Sprache?
Man man man, warum machst du sowas? In den Foren sind Fragen bzgl. der neuen Implementierung / Stringmagic schon lange bevor FPC 3.0.0 publiziert wurde diskutiert worden. Lange war bekannt, daß es eine Änderung geben wird. Alles ist auch dokumentiert:mschnell hat geschrieben:Wenn sich andauernd jede Menge frustrierte User beschweren
FPC: http://wiki.freepascal.org/FPC_Unicode_support
Lazarus: http://wiki.freepascal.org/Better_Unico ... in_Lazarus
Beschwerden kommen mMn von Usern, die sich nicht mit dem Thema auseinandersetzen wollen oder können. Eine GUI-Anwendung unter Lazarus ist doch sehr komfortabel, da intern UTF-8 kodierte Strings verwendet werden. Man braucht sich also nur noch Gedanken machen, welche Kodierung bei der Kommunikation nach außen verwendet werden muss. Das ist so simple.
Beschwerden wie,
würde ich nicht überbewerten, da Patito ein sehr erfahrener Programmierer ist und sicher weiß, wofür man Strings einsetzen kann und wo ein Array of Byte oder ähnliches sinnvoller ist.Patito hat geschrieben:Sobald man Daten verarbeiten muss, die nicht im Unicode-Standard drin sind
(Barcodes, Tastaturcodes, zufällige Filenamen, ... ... .............), wird es mit aktuelleren
Versionen von FPC schwierig.
Bist du dennoch überzeugt, daß die Richtung, die FPC oder Lazarus eingeschlagen haben, eine Falsche ist, so kannst du gern versuchen einen Fork zu machen (vielleicht würden Gleichgesinnte dich sogar dabei unterstützen, die Suche nach solchen sollte dann aber nicht per Bashing in einem themafremden Thread erfolgen) und es den Uneinsichtigen zeigen, wie man es richtig macht. Beispiele dafür gibt es.
Ansonsten, versuche doch die aktuelle Implementierung zu verstehen und anderen Usern zu helfen, die ebenfalls Probleme damit haben. Und wenn du nur einem User hilfst, ist es doch mehr wert, als ihn davon zu überzeugen, daß wenn man das so oder so gemacht hätte, er das Problem nicht hätte. Oder?
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Haltet ihr Pascal für eine sterbende Sprache?
Ich frage mich, was ich die ganze Zeit falsch mache. Ich kann mich nicht erinnern, jemals mit FPC über ein Encoding-Problem gestolpert zu sein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de