Stiftung für FreePascal und Lazarus

Mitteilungen und Ankündigungen
Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Stiftung für FreePascal und Lazarus

Beitrag von Euklid »

Hallo zusammen,

wie Pro-Linux die Woche berichtete, hat sich eine Stiftung für FreePascal und Lazarus gegründet:

http://www.pro-linux.de/news/1/23701/st ... Cndet.html

Ich finde die Idee eigentlich ganz gut - da gibt es jz zumindest auch einen offiziellen Weg, das Projekt finanziell zu unterstützen... :)

Beste Grüße, Euklid

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Stiftung für FreePascal und Lazarus

Beitrag von Mathias »

Ob das Programmieren in Pascal heute noch sinnvoll ist, sei dahingestellt.

Wieso sollte dies heute nicht mehr sinnvoll sein ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Stiftung für FreePascal und Lazarus

Beitrag von Komoluna »

Das einzige was sich geändert hat ist die Popularität.
Pascal ist mindestens genauso gut wie die meisten anderen High-Level Sprache auch.
(Aber ich muss immer mitleidig lächeln wenn sich ein C Programmierer darüber beklagt, dass sein Projekt mehr als eine Minute zum kompilieren benötigt :lol: )
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Stiftung für FreePascal und Lazarus

Beitrag von Warf »

Komoluna hat geschrieben:Das einzige was sich geändert hat ist die Popularität.
Pascal ist mindestens genauso gut wie die meisten anderen High-Level Sprache auch.
(Aber ich muss immer mitleidig lächeln wenn sich ein C Programmierer darüber beklagt, dass sein Projekt mehr als eine Minute zum kompilieren benötigt :lol: )


Naja da modernes Programmieren auch nur noch Libs kleben ist, sind natürlich andere Sprachen, wie z.B. C# deren Features dafür viel besser ausgelegt sind (Garbage Collection, dynamische Typerkennung, .Net Bibliotheken statt dll Hell und .Net selbst), für viele dinge die einfachere und bessere Wahl.

Es fehlt FreePascal einfach noch an einigen Features wie z.B. Referenzzählung (aber optional immer noch Speichermanagement per Hand) würden der Sprache definitiv gut tun. Pascal ist immer noch sehr "altbacken" und es fehlt einfach der Schritt den C++ mit C++11 gemacht hat, die Idiotensichere Variante.

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Stiftung für FreePascal und Lazarus

Beitrag von Requion »

Warf hat geschrieben:wie z.B. C# deren Features dafür viel besser ausgelegt sind (Garbage Collection, dynamische Typerkennung, .Net Bibliotheken statt dll Hell und .Net selbst), für viele dinge die einfachere und bessere Wahl.

Also C# würde für mich schonmal ausfallen weil es zu stark am Win hängt. Ich arbeite zwar Plattformunabhängig (oder zumindest versuch ich es :D) aber mein Fokus liegt dennoch beim Linux.
Und (nicht falsch verstehen, ist nur meine Meinung) Java kommt mir definitiv nicht ins Haus.

Warf hat geschrieben:die Idiotensichere Variante.

Bitte korrigier mich wenn ich das falsch verstanden habe, aber ist Pascal nicht ursprünglich für (nicht zu ernst nehmen) die "Idioten" entwickelt worden? Ich finde das sogar ganz gut, weil sich die Leute trotzdem mit dem beschäftigen müssen was sie da tun. Wer jetzt seine Karriere als Programmierer mit den Web-Sprachen (ich bezieh mich auf PHP und JS) beginnt wird durch die Sprache nie lernen was es mit den Datentypen aufsich hat. Oder wie ein Array wirklich aussieht.

Und ich bin grad oft mit C++ Zugange, ja im C++11 kam einiges dazu was das ganze vereinfacht, aber wer das will kann z.B. seine strings immernoch im "char mystring[] = "string";"-Stil zusammenschieben.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Stiftung für FreePascal und Lazarus

Beitrag von Warf »

Requion hat geschrieben:
Warf hat geschrieben:wie z.B. C# deren Features dafür viel besser ausgelegt sind (Garbage Collection, dynamische Typerkennung, .Net Bibliotheken statt dll Hell und .Net selbst), für viele dinge die einfachere und bessere Wahl.

Also C# würde für mich schonmal ausfallen weil es zu stark am Win hängt. Ich arbeite zwar Plattformunabhängig (oder zumindest versuch ich es :D) aber mein Fokus liegt dennoch beim Linux.
Und (nicht falsch verstehen, ist nur meine Meinung) Java kommt mir definitiv nicht ins Haus.

Warf hat geschrieben:die Idiotensichere Variante.

Bitte korrigier mich wenn ich das falsch verstanden habe, aber ist Pascal nicht ursprünglich für (nicht zu ernst nehmen) die "Idioten" entwickelt worden? Ich finde das sogar ganz gut, weil sich die Leute trotzdem mit dem beschäftigen müssen was sie da tun. Wer jetzt seine Karriere als Programmierer mit den Web-Sprachen (ich bezieh mich auf PHP und JS) beginnt wird durch die Sprache nie lernen was es mit den Datentypen aufsich hat. Oder wie ein Array wirklich aussieht.

Und ich bin grad oft mit C++ Zugange, ja im C++11 kam einiges dazu was das ganze vereinfacht, aber wer das will kann z.B. seine strings immernoch im "char mystring[] = "string";"-Stil zusammenschieben.


Syntaktisch ist Pascal das idiotensicherere, da stimm ich dir zu, aber was ich halt etwas schade finde, in Pascal kommt man immer noch nicht um das Thema Zeiger und Dynamischen Speicher drum rum, und es braucht schon relativ viel Übung bis man an jedes Free zu einem Create denkt, oder bis man die Ganzen Typen kennt, Da ist das mit der Referenzzählung für C++ schon einfacher, oder das tolle auto keyword, dank dem ich z.B. bis heute nicht den Typnamen von Iteratoren kenne.

Ich finde wenn Pascal so einen Schritt machen würde, (natürlich auf die Pascal art und weise, nicht einfach genau das selbe wie C++ gemacht hat, es muss schon zur Sprache passen) wäre das definitiv ein großer Vorteil für Pascal. Allein wenn man mal überlegt wie viel einfacher Listen von Records dank Generics wurden, wir brauchen mehr solcher einfachen Syntax konstrukte

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Stiftung für FreePascal und Lazarus

Beitrag von Requion »

Warf hat geschrieben:in Pascal kommt man immer noch nicht um das Thema Zeiger und Dynamischen Speicher drum rum

Okay ich kam bisher nur minimal mit Zeigern(Pointern) in Berührung und konnte es bisher meist anders lösen. Bei dem dynamischen Speicher und der Create/Free Thematik geb ich dir recht. Da kommt ja auch noch die Thematik mit dem Owner dazu, wer denn nun Zuständig ist. Das kann durchaus verwirrend sein, gehört aber dazu und sollte mit gelernt werden.

Das "auto"-Keyword benutze ich bisher garnicht. Mir ist das bisher lieber das festzulegen damits nicht irgendwann mal knallt weil auto was falsches rauskramt oder ich falsch gedacht habe.
Zu der Vereinfachung stimme ich dir auch zu. Da finde ich auch die "typedef" Funktion im C++ sehr geil. Gibt es sowas eigentlich im Pascal?
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

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: Stiftung für FreePascal und Lazarus

Beitrag von m.fuchs »

Warf hat geschrieben:Syntaktisch ist Pascal das idiotensicherere, da stimm ich dir zu, aber was ich halt etwas schade finde, in Pascal kommt man immer noch nicht um das Thema Zeiger und Dynamischen Speicher drum rum, und es braucht schon relativ viel Übung bis man an jedes Free zu einem Create denkt,

Klar kommst du darum herum. Wann muss denn tatsächlich mal ein Zeiger eingesetzt werden oder Speicher von Hand reserviert?
Und wenn du mit Create und Free nicht klar kommst dann bist du unter Pascal nicht gezwungen mit Klassen zu arbeiten. Es gibt ja auch Records oder die guten alten Objekte.

Warf hat geschrieben:oder bis man die Ganzen Typen kennt, Da ist das mit der Referenzzählung für C++ schon einfacher, oder das tolle auto keyword, dank dem ich z.B. bis heute nicht den Typnamen von Iteratoren kenne.

Da verstehe ich dein Problem nicht einmal. Was für Typen musst du denn kennen? Natürlich die, mit denen du arbeitest. Wie soll das auch sonst gehen?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Stiftung für FreePascal und Lazarus

Beitrag von Requion »

m.fuchs hat geschrieben:Da verstehe ich dein Problem nicht einmal. Was für Typen musst du denn kennen? Natürlich die, mit denen du arbeitest. Wie soll das auch sonst gehen?

Das war das was ich meinte. Ich hab mich in dem Moment auf PHP bezogen, ist aber nicht die einzige Sprache.
Da muss man die Typen nicht kennen. Man sagt halt einfach variable Zahl hat den Wert 5. Das System weiß wie es damit umzugehen hat, aber der "Programmierer" hat kein Plan, wenn er sich nicht extra damit beschäftigen will. Das finde ich etwas traurig.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Stiftung für FreePascal und Lazarus

Beitrag von Warf »

m.fuchs hat geschrieben:
Warf hat geschrieben:Syntaktisch ist Pascal das idiotensicherere, da stimm ich dir zu, aber was ich halt etwas schade finde, in Pascal kommt man immer noch nicht um das Thema Zeiger und Dynamischen Speicher drum rum, und es braucht schon relativ viel Übung bis man an jedes Free zu einem Create denkt,

Klar kommst du darum herum. Wann muss denn tatsächlich mal ein Zeiger eingesetzt werden oder Speicher von Hand reserviert?
Und wenn du mit Create und Free nicht klar kommst dann bist du unter Pascal nicht gezwungen mit Klassen zu arbeiten. Es gibt ja auch Records oder die guten alten Objekte.

Warf hat geschrieben:oder bis man die Ganzen Typen kennt, Da ist das mit der Referenzzählung für C++ schon einfacher, oder das tolle auto keyword, dank dem ich z.B. bis heute nicht den Typnamen von Iteratoren kenne.

Da verstehe ich dein Problem nicht einmal. Was für Typen musst du denn kennen? Natürlich die, mit denen du arbeitest. Wie soll das auch sonst gehen?


Beispiel, du willst eine Methode in die Message Queue (TApplication.QueueAsyncCall) einreihen und dieser Informationen mit geben, die größer als SizeOf(IntPtr) sind, dann heißt es Record erstellen, Record dynamisch alloziieren, Zeiger übergeben, in der Gecallten methode dann den Speicher wieder Freigeben. Anfängerfreundlich ist was anderes.

Und grade die Iterator Typen muss man nicht kennen, die Sind für jede Klasse(ob Vector oder String oder List) anders, funktionieren aber alle gleich, deshalb brauche ich nicht die Typbezeichnung zu kennen.

Als beispiel wo das in Pascal sehr nützlich wäre, du hast eine TFGList<Integer> und möchtest diese mit einer For schleife Iterieren:

Code: Alles auswählen

var i: Integer;
...
for i in lst do
  ...


Jetzt änderst du den Listen typen allerdings zu Int64, nun müsstest du überall wo du durchiterierst den Typen ändern, und wenn man es auch nur an einer Stelle vergisst können plötzlich ganz komische Fehler auftreten, mit einem Autodetect Typ wäre das nicht notwendig.

Ich meine natürlich ist Pascal längst nicht so schlimm wie C, aber es könnte schon deutlich angenehmer sein, grade wenn man auf andere Sprachen sieht, und sich ansieht was z.B. C# oder C++ in den letzen 5-10 Jahren für sehr gute, innovative neue Sprachfeatures eingebracht haben. Ich habe da irgendwie das Gefühl dass Pascal da ein wenig hinterher hinkt. Ich denke dass sich das ändern müsste damit Pascal beliebter wird.

PS:
Ist nur bei mir die PayPal Spendenseite auf Holländisch oder ist das allgemein so?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Stiftung für FreePascal und Lazarus

Beitrag von Mathias »

Was Pascal noch für einen riessen Vorteill gegenüber C/C++ hat, ist das ausgeklügelte Unit-System.

Das Theater mit den *.h und *.cpp-Dateien.
Oder auch der Compiler und Linker arbeiten unter C* nicht so schön miteinander, wie unter Pascal.
Letzthin hatte ich ein C++-Programm, der Programm wurde anstandslos kompiliert, aber der Linker repilierte, das Bezeichner fehlten.
Da kann man Stunden versauen, wegen solch einem Mist. Ich habe es aufgegeben, weil ich es nicht hinkriegte. Es war ein Arduino-Header.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Stiftung für FreePascal und Lazarus

Beitrag von Requion »

Warf hat geschrieben:Beispiel, du willst eine Methode in die Message Queue (TApplication.QueueAsyncCall) einreihen und dieser Informationen mit geben, die größer als SizeOf(IntPtr) sind, dann heißt es Record erstellen, Record dynamisch alloziieren, Zeiger übergeben, in der Gecallten methode dann den Speicher wieder Freigeben. Anfängerfreundlich ist was anderes.

Das Beispiel ist aber im Allgemeinen nicht unbedingt für Anfänger geeignet :D.

Zu dem Beispiel mit dem Iterator kann ich nichts sagen, das Problem hatte ich noch nicht.

Mathias hat geschrieben:Was Pascal noch für einen riessen Vorteill gegenüber C/C++ hat, ist das ausgeklügelte Unit-System.

@Mathias da gebe ich dir vollkommen recht. Da haben sie bei C/C++ ziemlichen mist gebaut.
Und ich find das auch besser das man Interface und Implementation in einer Datei hat. Wenn man da Änderungen (z.b. Funktionsparameter) vornehmen muss ist das auf die Pascal-Art wesentlich bequemer.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Stiftung für FreePascal und Lazarus

Beitrag von Mathias »

@Mathias da gebe ich dir vollkommen recht. Da haben sie bei C/C++ ziemlichen mist gebaut.

Mir ist das gerade noch was durch den Kopf gegangen.
Grundlos ist dies nicht, man kann unter C/C++ nur den Header als Quelltext veröffentlichen, aber der *.cpp-Teil als vorkompilierter Code.
Klar für uns Opensouceler ist dies nervig, ab bei kommerziellen Sachen macht dies Sinn.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Stiftung für FreePascal und Lazarus

Beitrag von Requion »

Mathias hat geschrieben:
@Mathias da gebe ich dir vollkommen recht. Da haben sie bei C/C++ ziemlichen mist gebaut.

Mir ist das gerade noch was durch den Kopf gegangen.
Grundlos ist dies nicht, man kann unter C/C++ nur den Header als Quelltext veröffentlichen, aber der *.cpp-Teil als vorkompilierter Code.
Klar für uns Opensouceler ist dies nervig, ab bei kommerziellen Sachen macht dies Sinn.

Ich bin überzeugter Opensourcler^^

Davon mal abgesehen, gibt es nicht auch vorkompilierte kommerzielle Units im Pascal?
Beispiel TeeChart für Delphi.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Stiftung für FreePascal und Lazarus

Beitrag von Mathias »

Davon mal abgesehen, gibt es nicht auch vorkompilierte kommerzielle Units im Pascal?

Stimmt, hast recht. Für TP und Delphifindet man fast kein Source-Code, ich meine damit die Bibliotheken, welche mitgeliefert wurden.
Aber im C++ - Header, sieht man alle Function, inklusive Parameter, welche aufgerufen werden können, somit wird ein Doku-Datei überflüssig.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten