
Was wünscht ihr euch für Pascal Features in der Zukunft
-
- Beiträge: 207
- Registriert: Do 15. Nov 2012, 19:13
- OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
- CPU-Target: 32 Bit / 64 Bit
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Zuallererst finde ich Lazarus ganz super. Es ist der komplett richtige Ansatz. Hatte früher in C/C++ programmiert weil mir die Bezeichnung 'PASCAL' für eine Programmiersprache irgendwie seltsam klang
und mir außerdem suggeriert wurde, dass C/C++ plattformübergreifend sein, naja. Mit C/C++ kann man zwar sehr viel machen, aber es hat so viele 'Macken' und macht es einem nicht wirklich leicht zu programmieren. Für mich sollte eine Programmiersprache leicht zu erlernen sein, dem Programmierer bei seiner Arbeit helfen durch gute Typenprüfung, plattformübergreifend sein, Garbage Collector und vor allem ... viel Arbeit abnehmen durch Unterstützung mittels geeigneter Tools. Wer würde sich heute einen Traktor kaufen wenn er mit einem anderen Fahrzeug bequemer zum Ziel kommt. Die Sprache sollte für den Programmierer da sein und nicht umgekehrt, also 'make it as easy as possible'. Die Kompatibilität zu Delphi mag eventuell einen Vorteil darstellen doch manchmal sind einige Funktionen doch ein wenig hintenrum durch's Knie. Hier wäre es schön wenn man sich um Konsistenz bemühen könnte, sodass grundlegende Funktionen einfach dem allgemeinen 'Bedienungsschema' entsprechen (z. B. sollte es auch ein TIpHtml.Clear geben und viele Subroutinen sollten einfach das tun was sie sprachlich suggerieren ohne irgendwelche vor- und nachbereitenden Funktionen benutzen zu müssen). Warum PASCAL als Sprache so unterrepräsentiert ist kann ich beim besten Willen nicht verstehen (nur weil es eine 'alte' Sprache ist?!?), es ist nicht schwerer als Python und ich kann den Hype um Python, Ruby und Konsorten absolut nicht verstehen. Es gibt kaum aktuelle Literatur zu PASCAL, dafür aber umso mehr für C/C++, obwohl eigentlich offensichtlich ist, dass (sehr) viele Programmierer mit C/C++ überfordert sind. Insgesamt würde ich mir für Lazarus wünschen, dass es zu einer Sprache FÜR den Programmierer wird, also insgesamt noch einfacher in Bedienung und Codierung.

Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit
-
- Beiträge: 321
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Wenn du den Patch manuell mergstMathias hat geschrieben:Meinst du ich hätte ein Chance, wen ich 2.7.1 installiere ?
Die haben es wohl vergessen
-
- 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: Was wünscht ihr euch für Pascal Features in der Zukunft
welches minimum?
...und des Minimums von 32 Elementen (für die interne Speichernung) - wenn man z.B. das Set z.B. auf ein Word oder Byte abbilden muß und dabie mit weniger Elementen leben kann.
Code: Alles auswählen
{$mode delphi}
var x : set of 0..7;
begin
writeln(sizeof(x));
end.
Was du meinst ist ein "Feature" von objfpc.
-
- Beiträge: 6958
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Was meinst du damit ?BeniBela hat geschrieben:Wenn du den Patch manuell mergstMathias hat geschrieben:Meinst du ich hätte ein Chance, wen ich 2.7.1 installiere ?
Die haben es wohl vergessen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 321
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Den Patch auf den ich oben verlinkt habeMathias hat geschrieben:Was meinst du damit ?BeniBela hat geschrieben:Wenn du den Patch manuell mergstMathias hat geschrieben:Meinst du ich hätte ein Chance, wen ich 2.7.1 installiere ?
Die haben es wohl vergessen
-
- Beiträge: 6958
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Ich habe es endlich geschaft, FPC 3.1.1 zu installieren, aber so wie es aussieht, wird $INCLUDESTRING noch nicht unterstützt.
Muss ich dort die *.diff runterladen und irgendwie installieren ?Den Patch auf den ich oben verlinkt habe
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Hier sollte satandardmäßig die Bereichsüberwachung eingeschaltet sein. Und der Compiler sollte dann hier einen Bereichsfehler melden, da Rowcount bereits außerhalb des Wertebereiches ligt. In einem größeren Programm sucht man sich dann dusselig, wegen so enes Fehlers.BeniBela hat geschrieben:m.fuchs hat geschrieben:Achso, du willst mitten im Quellcode eine Variable deklarien. Warum?Mathias hat geschrieben:Code: Alles auswählen
for int i := 0 to 10 do WriteLn();
Ich bin echt erstaunt über einige Wünsche. Pascal ist so eine schöne saubere Sprache, warum wollt ihr sie immer mit soviel Unfug anreichern?
Damit das einen Syntaxfehler gibt:
Code: Alles auswählen
for i := 0 to rowCount do begin for j := 0 to colCount do changeCell(i, j); completeRow(j); end;
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Ich wünsche mir, daß die Direktive {mode objfpc} nicht mehr explzit gestzt werden muss, sondern bereits Standard ist. Ich versuche so manches Mal Freepascal Quellen nach Delphi zu portieren. Da stört diese Direktive dann gewaltig, weil ich sie in jeder Quelldatei umklammern muss.
Mach ich dann so hier: {$ifdef FPC} {$mode objfpc}{$H+}{$endif}
Ist aber nervig, wenn ich das in einer großen Bibliothek dann mit jeder Quelldatei machen muss.
Mach ich dann so hier: {$ifdef FPC} {$mode objfpc}{$H+}{$endif}
Ist aber nervig, wenn ich das in einer großen Bibliothek dann mit jeder Quelldatei machen muss.
-
- 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: Was wünscht ihr euch für Pascal Features in der Zukunft
Ich möchte gern eine Einstellung haben um Forms mit {$ifdef fpc} {$mode delphi} {$endif} herzustellen. Sonst muss man zb alle Events mit @ assignen.fpGUIcoder hat geschrieben:Ich wünsche mir, daß die Direktive {mode objfpc} nicht mehr explzit gestzt werden muss, sondern bereits Standard ist. Ich versuche so manches Mal Freepascal Quellen nach Delphi zu portieren. Da stört diese Direktive dann gewaltig, weil ich sie in jeder Quelldatei umklammern muss.
Mach ich dann so hier: {$ifdef FPC} {$mode objfpc}{$H+}{$endif}
Ist aber nervig, wenn ich das in einer großen Bibliothek dann mit jeder Quelldatei machen muss.
-
- Beiträge: 6958
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Ich wäre noch für eine kleine Verbesserung von Lazarus.
Wen beim Entwickeln ein Laufzeitfehler kommt, z.B. SIGSEV, dann muss man immer Ctrl+F2 drücken, bevor man mit F9 neu starten kann.
Schön wäre es, wen man direkt F9 drücken könnten und sich automatisch das alte Programm beendet, so wie es Delphi macht.
Wen beim Entwickeln ein Laufzeitfehler kommt, z.B. SIGSEV, dann muss man immer Ctrl+F2 drücken, bevor man mit F9 neu starten kann.
Schön wäre es, wen man direkt F9 drücken könnten und sich automatisch das alte Programm beendet, so wie es Delphi macht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Ich wünsch mir einfacheres Typecasting
Habe gerade eine Übersetzung laufen, da wird die Funktion
ptInRect(r, pt) aufgerufen.
Wenn ich das statt pt mit den Koordinaten Point(x,y) übergebe, weist das der Compiler ab, weil TPoint erwartet wird, wenn ich aber dann Topint schreibe, wird die Typumwandling nicht akzeptiert, obwohl doch klar sein sollte, was ich erreichen will, nämlich die beiden x,y Koordinaten in Point bzw. Tpoint Casten.
Ein anderer Fall:
Ich musste soeben die Deklaration einer Funktion DrawPolygon(Points: PPOint); andern in DrawPolygon(Points: array of TPoint);
Grund: Der Cpmpiler maldet mir Fehler:
Error: Incompatible Type for arg no. 1: Got dynamic array of TPoint expexted OpenArray of TPoint
Hatte gehofft, wenn ich den ursprünglichen Typ PPoint durch ein dynamisches Array ersetze, könne ich die Werte übergeben.
Die Frage nach der optimalen Lösung stelle ich in einem separaten Thread.
Hier nur der Feature Request, die Typkonvertierung programmiererfreundlicher zu gestalten.
Habe gerade eine Übersetzung laufen, da wird die Funktion
ptInRect(r, pt) aufgerufen.
Wenn ich das statt pt mit den Koordinaten Point(x,y) übergebe, weist das der Compiler ab, weil TPoint erwartet wird, wenn ich aber dann Topint schreibe, wird die Typumwandling nicht akzeptiert, obwohl doch klar sein sollte, was ich erreichen will, nämlich die beiden x,y Koordinaten in Point bzw. Tpoint Casten.
Ein anderer Fall:
Ich musste soeben die Deklaration einer Funktion DrawPolygon(Points: PPOint); andern in DrawPolygon(Points: array of TPoint);
Grund: Der Cpmpiler maldet mir Fehler:
Error: Incompatible Type for arg no. 1: Got dynamic array of TPoint expexted OpenArray of TPoint
Hatte gehofft, wenn ich den ursprünglichen Typ PPoint durch ein dynamisches Array ersetze, könne ich die Werte übergeben.
Die Frage nach der optimalen Lösung stelle ich in einem separaten Thread.
Hier nur der Feature Request, die Typkonvertierung programmiererfreundlicher zu gestalten.
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
fpGUIcoder hat geschrieben:Wenn ich das statt pt mit den Koordinaten Point(x,y) übergebe, weist das der Compiler ab, weil TPoint erwartet wird
Code: Alles auswählen
var
x, y: Integer;
r: TRect;
begin
ptInRect(r, x, y); //geht nicht
ptInRect(r, Point(x, y)); //das schon
end;
Ich bin sehr zufrieden, wie Pascal das zur Zeit macht, es sind klare Strukturen - ein Vorteil von Pascal, den man nicht aufgeben sollte.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 6958
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
So wäre auch noch praktisch.
Code: Alles auswählen
var
testArray: array[0..7] of byte;
procedure TForm1.Button1Click(Sender: TObject);
begin
testArray := [0, 1, 2, 3, 4, 5, 6, 7]; // gibt Fehler
end;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Ich übersetze gerade die fpGUI neu, hab da paar Änderungen vorgenommen. In keiner der Units funktionirt da die zweite Variante. Möcht gerne wissen welche Zusatzoption ich da einstellen muss damit das wirder klappt, jede Unit der fpGUI ruft ein bis mehrmals die Funktion ptInRecht auf.Michl hat geschrieben:fpGUIcoder hat geschrieben:Wenn ich das statt pt mit den Koordinaten Point(x,y) übergebe, weist das der Compiler ab, weil TPoint erwartet wirdAuch könnte man die Funktion ptInRect überladen, dass dies gänge.Code: Alles auswählen
var x, y: Integer; r: TRect; begin ptInRect(r, x, y); //geht nicht ptInRect(r, Point(x, y)); //das schon end;
Ich bin sehr zufrieden, wie Pascal das zur Zeit macht, es sind klare Strukturen - ein Vorteil von Pascal, den man nicht aufgeben sollte.
Erwartet wird TPoint, das Casting aber liefert POint. Aber auf TPoint andern bringt nix.
Da muss ich doch bestimmt bloß ganz simpel einen Compierschalter setzen, nicht wahr?
Aber welchen. Was also muss ich das setzen?
Derzeit ändere ich jeden Aufruf so ab:
Code: Alles auswählen
procedure Irgendwas(x,y: Integer);
var
pt: TPoint;
r: TRect;
begin
pt.x := x;
pt.y := y;
PtInRect(r, pt);
end;
Wenn es bei Dir aber geht, dann ist es doch bestimmt nur eine simple Einstellung, die ich nicht habe? Aber welche?
Ich habe:
Lazarus Version #: 1.2.6
Date 2015-7-12
FPC Version 2.6.4
SVN Revision: 46529
i386-win32-win32/win64
CPU -> 32Bit
-
- Beiträge: 2145
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Was wünscht ihr euch für Pascal Features in der Zukunft
Die Funktion Point(X, Y: Integer) ist in der Classes unit Implementiert, hast du diese vielleicht nicht eingebunden?fpGUIcoder hat geschrieben:Ich übersetze gerade die fpGUI neu, hab da paar Änderungen vorgenommen. In keiner der Units funktionirt da die zweite Variante. Möcht gerne wissen welche Zusatzoption ich da einstellen muss damit das wirder klappt, jede Unit der fpGUI ruft ein bis mehrmals die Funktion ptInRecht auf.Michl hat geschrieben:fpGUIcoder hat geschrieben:Wenn ich das statt pt mit den Koordinaten Point(x,y) übergebe, weist das der Compiler ab, weil TPoint erwartet wirdAuch könnte man die Funktion ptInRect überladen, dass dies gänge.Code: Alles auswählen
var x, y: Integer; r: TRect; begin ptInRect(r, x, y); //geht nicht ptInRect(r, Point(x, y)); //das schon end;
Ich bin sehr zufrieden, wie Pascal das zur Zeit macht, es sind klare Strukturen - ein Vorteil von Pascal, den man nicht aufgeben sollte.
Erwartet wird TPoint, das Casting aber liefert POint. Aber auf TPoint andern bringt nix.
Da muss ich doch bestimmt bloß ganz simpel einen Compierschalter setzen, nicht wahr?
Aber welchen. Was also muss ich das setzen?
Derzeit ändere ich jeden Aufruf so ab:
Weil das Typcasting Point(x,y) nicht geht!Code: Alles auswählen
procedure Irgendwas(x,y: Integer); var pt: TPoint; r: TRect; begin pt.x := x; pt.y := y; PtInRect(r, pt); end;
Wenn es bei Dir aber geht, dann ist es doch bestimmt nur eine simple Einstellung, die ich nicht habe? Aber welche?
Ich habe:
Lazarus Version #: 1.2.6
Date 2015-7-12
FPC Version 2.6.4
SVN Revision: 46529
i386-win32-win32/win64
CPU -> 32Bit
Außerdem gibt es einen Unterschied zwischen dem typen TPoint aus der Classes Unit und dem typen TPOINT aus der windows Unit, daran könnte es auch liegen
Zuletzt geändert von Warf am Fr 30. Okt 2015, 18:43, insgesamt 3-mal geändert.