Haltet ihr Pascal für eine sterbende Sprache?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

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

Beitrag von Warf »

Pascal ist eben nicht mehr wirklich Zeitgemäß. Zeitgemäß sind idiotensichere Sprachen in denen man einfach nur Bibliotheken kleben muss, ohne was falsch machen zu können. Sprachen wie Python oder Node.js. Die Meißten Apps heutzutage arbeiten mit HTML und Javascript und kommunizieren mittels HTTP mit einem Server. Das ist zwar alles andere als Effizient, aber es ist einfach. Für etwas Komplexere Dinge, für die man mehr Kontrolle/Geschwindigkeit braucht wird dann so etwas wie C# oder Java verwendet. Für die low level Entwicklung wird dann C oder C++ verwendet. Pascal liegt irgendwo in der Schnittmenge zwischen C, C++ und C#.
Es hat nicht so viele Features wie C++, Low Level mechaniken (wie Zeigerarithmetik) wie C (und auch C++), und mit der LCL ein Framework das ähnlich ist (wenn auch nicht lange so groß) wie das .Net.

Wenn man aber jetzt low level Entwicklung machen muss, also z.B. für Server, DBMS, Betriebsysteme, etc. Braucht man die LCL nicht, dann kann man auch gleich bei C bleiben für performance oder C++ wählen für features. Will man Apps mit GUI etc schreiben, kann man auch gleich C# nehmen, das ist einfacher und weniger fehleranfällig.
Der Unique selling Point von Lazarus ist eine Low level Sprache zu sein mit großem Framework, allerdings mit wachsender performance für kleines Geld wird diese Nische nicht mehr benötigt. Entweder muss Pascal einen Schritt richtung C++ machen (also referenzzählung, Lambda funktionen, etc.) oder einen Schritt Richtung C# (Größere LCL und FCL), oder sich eine komplett neue Nische suchen. Borland hatte das ja sogar zum Teil versucht durch C++-Delphi integration, was auch glaube ich echt genial wäre, wenn man für C++ Builder und Delphi zusammen nicht ein paar Tausend Euro auf den Tisch legen müsste.

Noch dazu kommt, dass die Lazarus Dokumentation beschissen ist, allein wie viele Packages es gibt, zu denen es nicht mal einen Satz Erklärung gibt, Wiki Artikel sind Teilweise seit Jahren outdated, es gibt auch keine echten Lazarus/FPC Bücher, Tutorials die up to date sind.

Allerdings habe ich große Hoffnungen in die FreePascal foundation. Solche Sachen wie der Pascal zu Javascript Converter, oder die Anonymous Functions könnten genau das sein was Pascal braucht um wieder Zeitgemäßer zu werden. Außerdem habe ich Hoffnung das eventuell die guten Features von Delphi auch irgendwann übernommen werden, sowie Anonyme Threads oder Multithreaded Schleifen. Außerdem denke ich dass man Lazarus auch mehr in Richtung Serverwentwicklung aufziehen könnte. Grade solche sachen wie FastCGI, oder Packages wie Indy oder Synapse machen das super einfach, aber viele wissen nicht mal das diese dinge exsistieren (ich habe auch erst vor kurzem vom FastCGI erfahren, dabei ist das mega cool). Mehr Komponenten zur Server-Client Entwicklung, bzw einfacheres installieren der großen (z.B. eine automatische Indy oder Synapse integration), eventuell sogar in FCL/LCL integriert, könnten sein Super Aushängeschild für Lazarus werden, denn 1. die Datenbankunterstützung ist super, 2. lazarus Programme sind schnell und brauchen wenig Speicher, 3. egal ob BSD, Linux oder Windows Server, die Software Läuft.
Dann natürlich der Microkontroller bereich. Ein vernünftiger AVR Support (Also Compiler und IDE integration) könnte Lazarus zu einem Zwischending zwischen ADA und C auf Mikrocontrollern machen, grade für viele Einsteiger ist Pascal denke ich mal schöner als C.

Eine weitere Möglichkeit für Lazarus zeitgemäß zu bleiben wäre mehr in iOS und Android entwicklung zu stecken. Wenn es möglich wäre für beide Systeme eine App ohne Änderungen für das andere System zu Schreiben (ähnlich zu Delphis Firemonkey) wäre das absolut genial.

Was auch mega cool (aber unwahrscheinlich) ist, eine möglichkeit C(++) in Lazarus projekten zu verwenden. In C geht es zwar mit etwas aufwand (object files gegenlinken), aber dafür wäre eine IDE integration gut, welche das Compilieren des C codes mit übernimmt, und eventuell sogar eine unterstützung von C++ klassen, das ist aber wohl eher unwahrscheinlich das so etwas kommen wird.

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

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

Beitrag von theo »

m.fuchs hat geschrieben:
theo hat geschrieben:Im Web [...] ist Lazarus nun mal nicht die erste Wahl und diese Plattformen sind im Moment sehr bedeutsam.
[...]
An PHP, HTML5, Javascript/JQuery [...] kommt man kaum vorbei.

Zumindest an PHP kommt man sehr gut vorbei. Mit Lazarus und FCL-WEB zum Beispiel. Und HTML5, JS, jQuery wird man natürlich nicht ersetzen können, also Browserseitig. Aber das ist ja nicht ganz so schlimm. Das Zusammenspiel dieser Sprachen mit FreePascal ist ja nicht anders/schlechter als mit PHP.


So meine ich das nicht. Von mir aus kannst du gerne auch mit Assembler Web-Software schreiben. :wink:
Nur die Realität, die Akzeptanz, der Markt sieht halt anders aus.
Siehe z.B. hier https://entwickler.de/online/php-markta ... 37114.html
Es gibt mMn keine Chance für FCL-WEB o. ä. in solchen Statistiken jemals auch nur mit 1% aufzutauchen.
Nicht weil es "schlecht" ist, sondern weil der Zug abgefahren ist.

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

Eine weitere Möglichkeit für Lazarus zeitgemäß zu bleiben wäre mehr in iOS und Android entwicklung zu stecken.

Das ist leider ein grosses Manko von Lazarus.

Dann natürlich der Microkontroller bereich. Ein vernünftiger AVR Support (Also Compiler und IDE integration) könnte Lazarus zu einem Zwischending zwischen ADA und C auf Mikrocontrollern machen, grade für viele Einsteiger ist Pascal denke ich mal schöner als C.

Da wäre ich auch voll dabei, volle Unterstützung für Arduino, das wäre eine super Sache.
Bei C++ geht sehr viel Zeit verloren, mit deren Syntax.

Ich hatte mal i = 60 * 10000 geschrieben, der C++ ist so dumm und erkennt nicht mal das er dafür 32Bit Integer braucht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

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

Beitrag von theo »

Mathias hat geschrieben:
Eine weitere Möglichkeit für Lazarus zeitgemäß zu bleiben wäre mehr in iOS und Android entwicklung zu stecken.

Das ist leider ein grosses Manko von Lazarus.


Das ist meiner Meinung nach eine sehr "interne" Sicht der Dinge.
Außerhalb der Lazarus Community wird sich niemand dafür interessieren (Noch nicht einmal ich tue das).
Tut mir leid, aber ich halte das für reine Ressourcenverschwendung.

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

Außerhalb der Lazarus Community wird sich niemand dafür interessieren (Noch nicht einmal ich tue das).

Meinst du, es quälen sich alle lieber mit Android-Studio rum ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

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

Beitrag von itjump »

Warum Android Studio? Es gibt ja noch Xamarin usw. die 1000 mal durchdachter als Lazarus in diesem Bereich sind.

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

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

Beitrag von theo »

Mathias hat geschrieben:
Außerhalb der Lazarus Community wird sich niemand dafür interessieren (Noch nicht einmal ich tue das).

Meinst du, es quälen sich alle lieber mit Android-Studio rum ?


Reine Gewohnheitssache.
Ich kann mir nicht vorstellen, dass ein angepasstes Lazarus einen wesentlichen Vorteil gegenüber AS haben könnte, vor Allem nicht für Leute die noch nie etwas mit Lazarus zu tun hatten.
AS verwendet die Sprache und die Bibliotheken, mit welchen Android "gebaut" ist.
Das ist ein Vorteil, den die allfälligen Unzulänglichkeiten von AS nicht schmälern und Lazarus mMn nicht einholen kann.
Außerdem ist Android immer im Wandel, und daher ein "bewegliches Ziel", dem man nur immer hinterher coden kann.
Es ist nicht zu vergleichen mit dem prozeduralen und relativ ausdefinierten Win- oder GTK API, wo Lazarus tatsächlich ein Segen ist.

A propos: Läuft GTK3 jetzt oder sind wir nach 5 Jahren noch immer nicht ganz so weit?
Soviel zu den freien Kapazitäten für eure Welteroberungspläne. :wink:

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:

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

Beitrag von Euklid »

Was soll denn eine sterbende Sprache sein?

Pascal wird es so lange geben, wie es Compiler zu dieser Sprache gibt. Und Compiler wird es so lange geben, wie es noch irgend einen Menschen auf dieser großen Welt gibt, der Pascal nutzt.

Sogar in Uraltsprachen wie LISP oder FORTRAN wird auch heute noch aktiv programmiert und es gibt florierende Projekte in diesen Sprachen, die vor 40 Jahren schon völlig aus der Mode gekommen waren.

Die Popularität von Sprachen kommt und geht. Java hat seinen Zenit gerade überschritten. Davor C, u.s.w. aber eine Sprache stirbt durch eine geringe Polularität bei weitem nicht aus. :wink:

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

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

Beitrag von Warf »

theo hat geschrieben:
Mathias hat geschrieben:
Eine weitere Möglichkeit für Lazarus zeitgemäß zu bleiben wäre mehr in iOS und Android entwicklung zu stecken.

Das ist leider ein grosses Manko von Lazarus.


Das ist meiner Meinung nach eine sehr "interne" Sicht der Dinge.
Außerhalb der Lazarus Community wird sich niemand dafür interessieren (Noch nicht einmal ich tue das).
Tut mir leid, aber ich halte das für reine Ressourcenverschwendung.


Naja es gibt sonst kaum eine Möglichkeit vernünftig für iOS und Android gleichzeitig zu entwickeln. Alle bisherigen Frameworks sind entweder interpretierte Sprachen (z.B. Javascript) oder sind nicht plattformunabhängig. Diese Niesche hat Embarcadero mit Firemonkey sehr gut ausgenutzt, allerdings ist das sehr teuer. Wenn es vernünftig implementiert wäre und kostenlos wäre denke ich würde viele leute nur deshalb mit Pascal anfangen. Immerhin ist die Mobile markt mittlerweile einer der größten Märkte für Software. Allein in 2015 wurde nur in Deutschland mit Mobilen Apps ein Umsatz von 1,3 mrd € generiert, Weltweit etwa 10 mrd, und das nur für käufe.

Der Mobile Markt ist extrem wichtig und natürlich ist es wichtig auf diesem auch gut vertreten zu sein

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

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

Beitrag von Michl »

theo hat geschrieben:A propos: Läuft GTK3 jetzt oder sind wir nach 5 Jahren noch immer nicht ganz so weit?

Falls es nicht nur Zynismus war: das liegt wohl hauptsächlich nicht Zeljan Rikalo und fehlender Motivation, sondern daran, daß die Entwickler von GTK3 mehrfach ihre eigene API übern Haufen geworfen haben: http://lists.lazarus.freepascal.org/pipermail/lazarus/2016-July/228897.html

Code: Alles auswählen

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

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

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

Beitrag von theo »

Michl hat geschrieben:
theo hat geschrieben:A propos: Läuft GTK3 jetzt oder sind wir nach 5 Jahren noch immer nicht ganz so weit?

Falls es nicht nur Zynismus war: das liegt wohl hauptsächlich nicht Zeljan Rikalo und fehlender Motivation, sondern daran, daß die Entwickler von GTK3 mehrfach ihre eigene API übern Haufen geworfen haben: http://lists.lazarus.freepascal.org/pipermail/lazarus/2016-July/228897.html

Nein, das war nicht nur Zynismus. Ich bin da wirklich nicht ganz auf dem Laufenden.
Ich meine nur, dass es an mehr oder weniger guten Ideen meistens nicht fehlt, aber die Umsetzung ist jeweils ein anderes Thema.
Das mit GTK3 ist wohl ein speziell unglücklicher Fall, aber allgemein wird immer viel geplant und wenig umgesetzt.

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

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

Beitrag von Michl »

theo hat geschrieben:allgemein wird immer viel geplant und wenig umgesetzt.
Da hast du vielleicht Recht. Bei mir ist das leider oft umgekehrt, zuerst mache ich etwas und später stelle ich fest, daß ich besser erstmal gut geplant hätte...Bild

Lazarus rockt!!! 8)

Code: Alles auswählen

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

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 »

Christian hat geschrieben:Oxygene machts vor wie es gehn könnte.

Dann schaut Euch mal "Elements 9" von den Machern von Oxygen" (RemObjects) an:
-> http://www.elementscompiler.com/elements/
Man kann die Sprachen Oxygen-Pascal, "Hydorgen" (C#), "Silver" (Apple Swift) und Jodine (Java) kombinieren und für "Echoes" (.NET), "Cooper" (Android), "Toffee" (mac und IOS) und "Island" (Linux native, X86 32 und 64 Bit und demnächst ARM) und angedacht später auch WebAssembler) übersetzen.
Ist allerdings auch nicht ganz billig...
-Michael

marcov
Beiträge: 1100
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 »

Marsmännchen hat geschrieben:Hallo,

in einem anderen Thread (hier: http://www.lazarusforum.de/viewtopic.php?f=55&t=10279) wurde gesagt, dass Pascal eine sterbende Sprache sei. Ich verstehe, dass man so denkt, aber so recht kann ich das nicht glauben. Dazu ist diese Sprache zu gut, zu zeitgemäß, zu mächtig.
Es ist wohl unstrittig, dass Pascal ein Nischendasein führt, oder? Aber woran liegt das?


Das ist einfach; kein Großbetrieb oder Konsortium als Sponsor.

Aber das Problem ist die gute Frage stellen. Was ist tot? Was ist lebend? Und für welcher Zweck?

Ist eine Sprache die nicht mehr Kompatibel ist, aber dieselbe Name als ein Vorgänger hatte noch "Lebend" ?

Was wenn die Sprach noch Kompatibel ist, aber 95% der Bibliotheken entfällt?

Etwa 5 Jahre her habe ich hier viele über nachgedacht. Meistens als eine Investitionsfrage, sollten wir unsere Codebase nach D2009+ umsetzen oder mit etwas anders neu anfangen. Und so ja was?

Wenn "etwas anderes" über sage fünf Jahre noch besteht, und Delphi/FPC aber ich da auch regelmäßig kostspielige Migrationen machen muss, ist Delphi (mit eine Migration 16-bit->32-bit in '96 und eine in 2009) dann so schlecht? Ich denke dann an C++ MFC -> C++ mit QT, QT Migrationen usw. MFC ist auch oft ignoriert von Microsoft wenn die eine neue .NET Technik vorstellen wollen.

Ich habe für mich die folgende Ausgangspunkte gesetzt:
  1. eine typische Termin für Anlage ist etwa 5 Jahre. Alles langer ist mitgenommen, aber schwer vorher zu sagne
  2. Man muss nicht nur Sprache berücksichtigen, aber auch Bibliotheken und
  3. ein bisschen auch die Platform auf der ein Kompiler arbeitet. Aber man muss da sehr Realistisch sein. Es hat kein Zweck jetzt die Dominante Sprache (oder Kompiler- oder Bibliothek) zu ändern für zb ein zukünftige Mobiles Abenteuer, und dann herausfinden das man doch lieber der Toolchain des Vendors nutzt, oder das der Mobile App nur 2000 Zeile sind (weil der Haupt App 2000000 sind)
  4. Mach ein Urteil über eine Sprache basiert auf was man denkt wenn man da 5 Jahre her (also 2010) mit angefangen war. Nie voraus Projektieren, das ist hoffnungslos Optimistisch und voreingenommen (man weiß ja die exakte Nachteilen und Lebensdauer neuen Sprachen nicht), immer zurück blicken.
  5. Halte nicht zu viel fest an eine Sprache für alles. Mit heutige Divergierende Plattformen hält das irgendwann auf.

.. und jetzt bin ich 5 Jahren weiter, und bei Delphi zu bleiben war ein guter Entscheidung, und wir können noch bis etwa 2020, und im Notfall bis 2025 (2025 - ende Win10 support) voraus. Und alle Kunden nutzen und Fragen noch immer nur Windows. (aber wir nutzten jetzt auch win64)



Glaubt ihr, dass man Pascal wieder mehr Gewicht im Reigen der Programmiersprachen geben könnte?


Nein, kaum wahrscheinlich

da soll mir nochmal einer sagen, dass Crosscompiling unter Lazarus kompliziert ist...


Browser Technologie ist ganz anders. Aber mit das obere von mir in gedachten, kannst du dich javascript+css software von 5 Jahre her jetzt vorstellen? 10 Jahre? Auf welche Termin schreibst du deine Programmierarbeit ab (Professionell oder Amateur, es kostet beide ein Haufen Mühe etwas nicht Triviales zu machen)

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

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

Beitrag von Marc »

Ein Unix Desktop kommt ja scheinbar auch kaum auf 2% Nutzeranteil.
Aber wenn ich neue Maschinen und Systeme der Industrie anschaue läuft da oft ein Linux drauf.
Kommt also auf den Blickwinkel an.

Habe gerade erst angefangen Lazarus zu lernen.

Weshalb das? Kriterien waren folgende:
1.) Open Source. Wahrscheinlich macht das Programm nur das was ich programmiert habe (Hintertüren).
Die Entwicklungsumgebung ist nicht abhängig vom Markt und unglücklichen Management Entscheidungen, kann nicht verkauft oder eingestampft werden.
Ich meine, die Zukunft gehört sowieso Open Source. Der Punkt das es nichts kostet hat da keinen Einfluss.
2.) Plattformunabhängigkeit. Schön das es auf Windows läuft, aber viel wichtiger ist (mir) es auch auf Linux funktioniert.
3.) Leicht zu lernen, Code leicht lesbar. Ich möchte den Code den ein Kollege geschrieben hat auch leicht lesen können.
Dasselbe mit Code den ich vor langer Zeit mal geschrieben habe.
Ein Schüler oder Ingenieur hat vieleicht auch gar nicht die Absicht was für Server, HTML,... zu schreiben.
4.) Kompilierbarkeit.

Schlussendlich bleibt nicht mehr viel übrig. Basic, Pascal. Oder hab ich was vergessen?

Was etwas gegen Lazarus spricht ist der Name überhaupt. Das da ein christlicher Promi recycled wurde, finde ich eher 'suboptimal'.
Beim suchen nach Code stösst man oft auf Bibelseiten. Ausgerechnet eine Lazarusbibel zu verfassen wäre da auch eine denkbar schlechte Idee. ;-)
Nicht die Idee ist schlecht aber der Name.
Durcheinander gibts dann auch, weil man (als Anfänger) nicht weiss, ob der jetzt im Netz gefundene Code für Delphi, für Pascal oder für Lazarus ist.
Das 'write once compile anywhere' ist wohl auch noch nicht so optimal umgesetzt.
Es wird hoffentlich noch besser werden.
Das da mal ein riesen Hype draus wird glaube ich auch nicht. Aber ... in 10-20 Jahren, gibts vieleicht kein Windows oder Android mehr.
Unix und Pascal in irgendeiner Form aber bestimmt.
Good code comes from experience, experience comes from bad code.

Antworten