Haltet ihr Pascal für eine sterbende Sprache?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

mschnell hat geschrieben:
diogenes hat geschrieben:Auf 255 Zeichen beschränkte, schnelle Strings kannst du mit dem Typ shortstring machen. Funktioniert so wie damals.
Nee stimmt leider nicht ganz !!!

TStringlist etc ist idiotischer Weise auf einen String-Typ festgenagelt (heute auch noch auf einen bestimmte Codierung (fpc: auf UTF8, Delphi XE auf UF-16).

Dadurch ist jede Menge User Source Code nicht mehr kompatibel.

-Michael
"Damals" hat's aber auch keine TStringList gegeben :)
Ceterum censeo computatores per Pascal docendos esse.

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von Jole »

Ob der String Type unter FPC mehr als 255 Zeichen aufnehmen kann oder eben nur 255 Zeichen hängt vom Compiler Schalter {$H} ab. Ist der nicht gesetzt, kann er auch nur 255 Zeichen aufnehmen.

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

Jole hat geschrieben:Ob der String Type unter FPC mehr als 255 Zeichen aufnehmen kann oder eben nur 255 Zeichen hängt vom Compiler Schalter {$H} ab. Ist der nicht gesetzt, kann er auch nur 255 Zeichen aufnehmen.
Ah, ja. Richtig :)
Ceterum censeo computatores per Pascal docendos esse.

Mathias
Beiträge: 6900
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?

Beitrag von Mathias »

diogenes hat geschrieben:Auf 255 Zeichen beschränkte, schnelle Strings kannst du mit dem Typ shortstring machen. Funktioniert so wie damals.

Um zum Thema zurück zu kommen: Nein, ich halte Pascal nicht für eine sterbende Sprache :)
Dies geht schon mal nicht.

Code: Alles auswählen

var
  s: ShortString;
begin
  s := 'ö';
  WriteLn(Length(s)); 
Dies ist natürlich nicht ein Problem von Pascal, sondern von den heutigen OS.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

Mathias hat geschrieben:
diogenes hat geschrieben:Auf 255 Zeichen beschränkte, schnelle Strings kannst du mit dem Typ shortstring machen. Funktioniert so wie damals.

Um zum Thema zurück zu kommen: Nein, ich halte Pascal nicht für eine sterbende Sprache :)
Dies geht schon mal nicht.

Code: Alles auswählen

var
  s: ShortString;
begin
  s := 'ö';
  WriteLn(Length(s)); 
Dies ist natürlich nicht ein Problem von Pascal, sondern von den heutigen OS.
Da sollte 2 heraus kommen, oder irre ich mich?
Ceterum censeo computatores per Pascal docendos esse.

Mathias
Beiträge: 6900
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?

Beitrag von Mathias »

Da sollte 2 heraus kommen, oder irre ich mich?
Ja, es kommt 2, ich hätte dies noch schreiben sollen. :oops:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

Mathias hat geschrieben:
Da sollte 2 heraus kommen, oder irre ich mich?
Ja, es kommt 2, ich hätte dies noch schreiben sollen. :oops:
Das hat nichts mit dem Format zu tun, in dem die Bytes verwaltet werden, sondern damit, wie besagte Bytes die Zeichen codieren. Lazarus codiert grundsätzlich UTF-8, wenn ich mich nicht irre, also auch beim kurzen String.
Ceterum censeo computatores per Pascal docendos esse.

mschnell
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?

Beitrag von mschnell »

Mathias hat geschrieben:Dies ist natürlich nicht ein Problem von Pascal, sondern von den heutigen OS.
Doch das ist ein Problem des Compilers.
Bei
s := 'ö';
nimmt der Compiler - ohne, dass der Anwender das weiß - für 'ö' die UTF-8 Codierung an (Literale sind default-mäßig als "lange" Strings mit UTF-8 Codierung angelegt. Bei der Zuweisung an einen Shortstring wird keine automatische UTF-8 nach ANSI - Umwandlung durchgeführt, Short-Strings also auch als UTF-8 codiert angesehen (also anders als "damals", wo sie als ANSI-codiert angesehen wurden).

Das alles muss durchaus nicht so sein, unabhängig vom Betriebssystem. Wenn es vom Betriebssystem abhängig ist, verrät FPC seinen Slogan "code once, compile everywhere". Kompatibel zu Delphi 7 (ANSI), Delphi-XE (UTF-16) oder älteren Versionen von fpc (ANSI) ist es ohnehin nicht.

-Michael

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von Jole »

mschnell hat geschrieben:
Mathias hat geschrieben:Dies ist natürlich nicht ein Problem von Pascal, sondern von den heutigen OS.
Doch das ist ein Problem des Compilers.
...
-Michael
Ich glaub nicht das das ein Compiler Problem ist, ich glaube eher es kommt darauf an wem man den String/ShortString übergibt. In einem Konsolen Programm funktionieren die umlaute, im Grafikmodus aber nicht. Es scheint also eine Interpretationssache des Empfängers zu sein.

Ich bin mal gespannt wann der ersten Anpfiff kommt weil wir wieder mal vom Thema abweichen sind. :mrgreen:

wp_xyz
Beiträge: 5130
Registriert: Fr 8. Apr 2011, 09:01

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von wp_xyz »

mschnell hat geschrieben:[...]ohne, dass der Anwender das weiß[...]
Genauso muss er wissen, dass hinter dem letzten "end" ein Punkt stehen muss, und dass nach einem "begin" kein Strichpunkt sein darf. Wenn der Anwender nicht weiß, dass Lazarus mit UtF8 arbeitet, und dass die meisten UTF8-Zeichen aus mehreren Bytes bestehen, dann muss er das halt lernen. Das ist der Preis des Fortschritts.

mschnell
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?

Beitrag von mschnell »

Naja. Die Syntax ist Pascal Standard relativ klar und bei Fehlern meckert der Compiler. Die String Codierung ist speziell nur bei fpc/Lazarus UTF8, ziemlich unübersichtlich (wenn man gleichzeitig mit mehr als einer Codierung arbeiten möchte oder muss sogar ziemlich unlogisch) und Fehleinschätzungen stellen sich erst zur Laufzeit heraus.

-Michael

pluto
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?

Beitrag von pluto »

Ich bin mal gespannt wann der ersten Anpfiff kommt weil wir wieder mal vom Thema abweichen sind.
Ich bin mal so frei ok? Macht doch für jedes Thema ein eigenen Thread auf, hier sind schon zwei Themen drin, die einen eigenen Thread verdient hätten oder?

Und ob es daran liegt, dass Pascal so wenig Verbreitet ist, bezweifel ich.
MFG
Michael Springwald

marcov
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?

Beitrag von marcov »

diogenes hat geschrieben:Auf 255 Zeichen beschränkte, schnelle Strings kannst du mit dem Typ shortstring machen. Funktioniert so wie damals.

Um zum Thema zurück zu kommen: Nein, ich halte Pascal nicht für eine sterbende Sprache :)
Die Sprache nicht, die endlose TP/shortstring und Unicode Posts hier wiegende, bin ich mir weniger Sicher von die Anwender :_)

pluto
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?

Beitrag von pluto »

Die Sprache nicht, die endlose TP/shortstring und Unicode Posts hier wiegende, bin ich mir weniger Sicher von die Anwender :_)
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....
MFG
Michael Springwald

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

mschnell hat geschrieben:
pluto hat geschrieben:na und? Wozu gibt es den Delphi Modus? Im normalen Modus kann das ja anders gehandhabt werden. Oder spricht was dagegen?
Der Vorschlag wurde auch gemacht, vom den fpc-Team aber abgelehnt.

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
Nein, ich halte Pascal nicht für eine sterbende Sprache.
Ceterum censeo computatores per Pascal docendos esse.

Antworten