Was wünscht ihr euch für Pascal Features in der Zukunft

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von Warf »

Hey ho leute,

wie jedem bekannt sein sollte wird eigentlich jede Sprache regelmäßig um irgendwelche neuen Sprachfeatures erweitert, Referenzzähler, Generische Klassen, Hilfsklassen, Namespaces, Record Methoden, etc gehören zu den Features die in den letzten Paar Jahren beliebt wurden, und habe schon Einzug in den Standard vieler Sprachen gehalten.
FreePascal geht dabei eher den weg dass versucht wird die Delphi Kompatibilität zu erhalten und daher werden immer mehr Features die auch in Delphi implementiert wurden nach und nach in FreePascal implementiert.
Einige solcher Features finde ich ganz gut, andere finden bei mir schlicht keinerlei gebrauch.

Nun interessiert mich mal:
Welche Features würdet ihr euch für FreePascal wünschen?

Das können alle möglichen arten von Features sein, egal ob das jetzt von einer Syntaktischen Eigenheit (z.B. dass man vor einem else auch ein ; machen darf), Konzepte bekannt aus anderen Programmiersprachen (z.B. Record Methoden), oder komplett neue Konzepte sind.


Ich würde mich über Funktionale Listen wie z.B. in Haskell oder auch Python freuen, also etwa so etwas:

Code: Alles auswählen

MyList = [y in Liste where y>10];

Um alle Elemente aus Liste zu bekommen die größer als 10 sind.

Auch cool fände ich wenn man die := operator überladen könnte (dann könnte man z.B. ziemlich leicht seinen eigenen Referenzzähler bauen), und wenn man neue Operatoren erstellen könnte.

Wie sieht es bei euch aus?

sierdolg
Beiträge: 66
Registriert: Mi 24. Okt 2012, 15:50

Re: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von sierdolg »

Das sperrige begin ... end durch { ... } ersetzen dürfen. Pascal rühmt sich doch für Klarheit und Lesbarkeit, und das käme dem konsequent entgegen, oder nicht? Und (* ... *) reicht für mehrzeilige Kommentare völlig aus ,-)

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
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: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von m.fuchs »

sierdolg hat geschrieben:Das sperrige begin ... end durch { ... } ersetzen dürfen.

Warum programmierst du nicht in C?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

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

Beitrag von Mathias »

Welche Features würdet ihr euch für FreePascal wünschen?

Code: Alles auswählen

type
  TTest = class(TObject)
    i: integer = 123;
  end;

Das man einer Variable in einer Classe eine Startwert geben kann.
Gegenwärtig muss man dafür extra einen Constructor schreiben.

Code: Alles auswählen

for int i := 0 to 10 do WriteLn()

Zähl-Variablen lokal deklarieren.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von Michl »

Mathias hat geschrieben:Das man einer Variable in einer Classe eine Startwert geben kann.
Wäre bedingt auch jetzt schon möglich z.B.:

Code: Alles auswählen

  TTest = class(TObject)
  private
    Fi2: Integer;
  public
    const i1: Integer = 123;
    property i2: Integer read Fi2 default 123;
  end;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

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

Beitrag von Mathias »

Michl hat geschrieben:
Mathias hat geschrieben:Das man einer Variable in einer Classe eine Startwert geben kann.
Wäre bedingt auch jetzt schon möglich z.B.:

Code: Alles auswählen

  TTest = class(TObject)
  private
    Fi2: Integer;
  public
    const i1: Integer = 123;
    property i2: Integer read Fi2 default 123;
  end;

Bei mir geht dies nicht, es kommt 0 bei der Ausgabe.
Auch wen es gehen würde, ist es recht kompliziert.

Das mit const geht auch nicht, ausser ich will i1 statisch.

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  Test: TTest;
begin
  Test := TTest.Create;
  ShowMessage(IntToStr(Test.i2));
  Test.Free;
end;   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

BeniBela
Beiträge: 308
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

Beitrag von BeniBela »

Siehe http://forum.lazarus.freepascal.org/ind ... #msg135053

Mathias hat geschrieben:

Code: Alles auswählen

for int i := 0 to 10 do WriteLn()

Zähl-Variablen lokal deklarieren.


Code: Alles auswählen

for var i: integer := 0 to 10 do WriteLn();


Oder die kriegen einen C Anfall

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

Beitrag von Mathias »

A native Android interface. (and soon, as long as mobile is still popular)

Das könnte ich auch gut gebrauchen. Bis jetzt geht dies nur mit einem riessen gebastel.

Oder die kriegen einen C Anfall

Es ging mir nur um die Idee.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von Socke »

sierdolg hat geschrieben:Das sperrige begin ... end durch { ... } ersetzen dürfen.

C, C++, Java ... der größte Teil des Quelltextes ist doch sowieso Kommentar ...

Ich würde mir wünschen, wenn mehr Microcontroller unterstützt werden. Die Liste für ARM-Embedded ist doch noch recht kurz ;-)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von kralle »

Moin,

was ich mich wünsche fängt schon bei der Installation an:
Einen Installer der auf allen unterstützen OS gleichaussieht und der bei der Installation das OS erkennt und dann abfragt für welche OS man Anwendungen erstellen will und dann ALLE nötigen Dateien lädt und Lazarus entsprechend einrichtet.

In der IDE gibt es dann eine Checklist in der man für das aktuelle Projekt auswählt für welches OS man die Anwendung erstellt und es werden im Projektverzeichnis gleich entsprechende Unterverzeichnisse angelegt.
Wenn man dann z.B. für das Debugging eines der Zielsystem benötigt, so hilft ein Assistent die Verbindung zum physikalischen Gerät oder der entsprechenden VM aufzubauen.

Da ja nicht jede Komponente auf jedem OS läuft, sollten entsprechend der Auswahl in der Checklist, nur noch die Komponenten angeboten werden die auf allen gewählten OS auch laufen.

Genauso sollte sich die IDE dann darum kümmern das "Userpfad", "Programmpfad", "Pfadtrenner" usw. in der Debug- und Fertigen-Version entsprechend dem OS erzeugt werden.
Dann könnte man sich auf den eigentlichen Code kümmern und muß sich mit solchen OS-spezifischen Sachen nicht mehr beschäftigen.

Ich komme aus der Delphi-Welt und ein Teil wurde da inzwischen umgesetzt, aber warum sollte Lazarus immer einen Schritt hinter Delphi bleiben ?

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

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

Beitrag von Mathias »

Was noch genial wäre, bei den Projecteinstellungen kann man die Zielplattform wählen.
Sobald man dort etwas umstellt, das Lazarus automatisch, FPC anpassen würde.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
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: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von m.fuchs »

Mathias hat geschrieben:Zähl-Variablen lokal deklarieren.


Kein Problem, kannst du:

Code: Alles auswählen

procedure CountUp;
var
  i: Integer;
begin
  for i := 0 to 10 do
    WriteLn(i);
end;


Schon hast du eine lokale Zählvariable.

Mathias hat geschrieben:

Code: Alles auswählen

for int i := 0 to 10 do WriteLn()

Achso, du willst mitten im Quellcode eine Variable deklarien. Warum?

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?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

BeniBela
Beiträge: 308
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

Beitrag von BeniBela »

m.fuchs hat geschrieben:
Mathias hat geschrieben:

Code: Alles auswählen

for int i := 0 to 10 do WriteLn()

Achso, du willst mitten im Quellcode eine Variable deklarien. Warum?

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;
 

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
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: Was wünscht ihr euch für Pascal Features in der Zukunft

Beitrag von m.fuchs »

BeniBela hat geschrieben:Damit das einen Syntaxfehler gibt:


Magst du dazu noch ein wenig mehr sagen?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

BeniBela
Beiträge: 308
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

Beitrag von BeniBela »

m.fuchs hat geschrieben:
Magst du dazu noch ein wenig mehr sagen?

warum?

Antworten