Alternativen und Zukunft von Pascal

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
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: Alternativen und Zukunft von Pascal

Beitrag von mschnell »

monta hat geschrieben:Wie seht ihr die Zukunft von nativen Anwendungen, welche mit Psacal erstellt wurden?
"Native Anwendungen" ?!?!

Meiner Ansicht nach wird die Zukunft .NET heißen und zwar aus mehreren Gründen:

1) Microsoft wird es mit seiner Marktmacht pushen.

2) es ist absolut logisch, in Richtung Platformunabhängigkeit (von CPU und vom Betriebssystem) zu arbeiten (z. B. wegen des Zusammenwachsens der zukünftigen Anwendungen in Desktop, PDA, Server-Applikation, Internet Gadet etc.)

3) Die Performance scheint nicht schlech zu sein, mindestens wie Java. Durch immer bessere Hardware wird die Performance weniger kritisch.

4) gegenüber Java scheint es das modernere (und bei weitem Delphi-ähnlichere) Konzept zu sein.

5) Mit Mono wird die Windows-Abhängigkeit immer weniger kritisch.


Aber .Net und Pascal sind ja nun wirklich kein Widerspruch. Chrome scheint inzwischen recht gut Delphi-ähnlichen Code in CIL (=.NET) zu übersetzen, für FP wäre CIL nur eine weitere Plattform von vielen, Lazarus hat vermnutlich eher weniger weniger Portierungs-Probleme als Delphi, da die LCL im Gegensatz zur VCL keine so feste Windows-API-Bindung hat.

Ich denke, auch in einer .NET-Zukunft sollte Pascal (mit Lazarus, Chrome und Delphi) seinen (Nischen-) Platz behaupten.

-Michael

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Es gibt derzeit nicht wirkliche Argumente für Pascal und gegen VB.
Doch mit Pascal kann ich arbeiten ohne Programmteile in c# oder c++ schreiben zu müssen weil es in der Sprache nicht realisierbar ist in Objekt Pascal hatte ich zumindest noch nie ein Problem was ich nicht in Object Pascal lösen konnte. Jetzt schau die das mal bei VB an dort müssen nicht selten Programmteile in anderen Sprachen geschrieben werden weil es inh VB einfach nicht geht bzw auf Active X Controls ausgewichen werden die in C++ oder C# geschrieben sind.
Wie haben hier 2 VB Programmierer weil viele Programme in Vb geschrieben sind (noch aus Gründungszeiten) und es so beibehalten wurde.
Mittlerweile interessieren sich die aber auch für Lazarus ...

Habt ihr mal versucht ein VB Programm zu lesen ? Selbst unsere Entwickler lesen ihren eigenen code nicht schneller als ich obwohl ich gar keine Basic spreche. Wohingegen ich auf ein Pascal Programm oft nur einen Blick werfen muss und weiss was da passiert.
VB code schaut immer unstrukturiert und hässlich aus selbst wenn man sich mühe gibt. Bei Pascal ist das genau das gegenteil. Und wenn man sich in C/C++ Mühe gibt ist der Code auch gut lesbar wobei man in C/C++ durchaus auch unleserlich Programmieren kann.
naja Eigentlich auch wieder rum schade: ich kenne zwar VB jetzt nicht so, aber ich bin sicher die sprachen sind vom Umfang her gleich.
Nö eben nicht.


Wenn man jetzt ne ordentliche Hilfe für Lazarus liefern würde und das Artwork der IDE ein klein wenig puschen (die icons sehen oft ziemlich gefrickelt und zusammengeworfen aus). Und das ding dann ein wenig puschen bin ich mir recht sicher könnte man das ganz gut verbreiten es ist immer noch ziemlich unbekannt. Aber es ist auch niemand so richtig dran interessiert in der richtung was zu machen wenn man das auf der Mailingliste anspricht passiert erstmal 3 Tage gar nichts und dann meldet sich einer und sagt tolle idee und danach passiert nie mehr was.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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)

Beitrag von pluto »

also hat keiner wirklich lust dafür zu sorgen das Lazarus bekannter wird, und Umfangreicher wird. z.b. mehr Komponenten, die IDE verbessern und so weiter.

das tolle ist: das es Lazarus auch in Deutsch gibt. gerade heute habe ich bei Netbeams gesehen, wie schön das doch in Lazarus auch deutsche Hilfen gibt(teilweise).
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

@Michael

1.) Stimmt sie werdens versuchen

2.) Absoulut unlogisch Plattformunabhängigkeit ja stimm ich dir zu aber .Net ist nur zwischen Windows Systemen Plattformunabhängig bringt also gar nix.
Und eine Desktop Anwendung aufm PDA laufen zu lassen is jawohl das blödeste Argument was es dazu immer gibt. Da muss eh mindestens die Oberfläche angepasst werden also muss ich eh ein seperates executable verwenden und das ist durch .net auch noch viel lahmer als das native also völlig schwachsinnig.

3.) Hast du mal Open Office benutzt ? Oder Microsoft Paint.Net ?? Absoulut grausam man kann sicher mit Arbeiten aber man spürt den Perfomance unterschied schon sehr deutlich. Und das mit der besseren Hardware hat Sun schon vor 10 Jahren erzählt trotsdem spür ich den unterschied noch deutlich.

4.) stimmt aber Java ist wenigstens wirklich Plattformunabhängig hat also eine Riiiieesen Pluspunkt

5.) mono wird sich aber unter Linux auch nicht so richtig durchsetzen genauso wie niemand eine Anwendung wirklich im Wine laufen lassen will. Ist halt immer noch was anderes als ne native Anwendung.
Aber .Net und Pascal sind ja nun wirklich kein Widerspruch.
schön wärs.

die LCL setzt auf die FCL auf und die FCL verwendet tausende von pointern. Und managed code erlaubt keine Pointer... na klick ??

genau das selbe mit allen bestehenden Anwendungen müsste alles umgeschrieben werden.

Es gibt zwar noch die Möglichkeit unmanaged code zu verwenden dafür könnte man auch recht flott und sofort ein Compilertarget basteln aber das ist nur Augenwischerei ist zwar .net wirft aber alle schönen neuen tollen features von .net übern haufen also kann mans auch gleich lassen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von mschnell »

schnullerbacke hat geschrieben:Das bietet CORBA auch
????? CORBA ist keine Programmier-Umgebung sondern ein Übertragungsprotokoll ????

-Michael

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Falsch @pluto, die erste OOP-Sprache war Smalltalk. Das war sowas wie der Urvater der OOP. Die FH Berliner Tor(Hamburg) unterrichtet z.B. Smalltalk und liefert für die Studdis gleich eine sehr professionelle Umgebung umsonst dazu. Begründung dort:

a) C#, C++ ist ein Formel1-Rennwagen und nur schwer gut zu Unterrichten
b) Smalltalk verfügt über das beste OOP-Konzept und eignet sich auch zur Oberflächen- und Web-Entwicklung

Windows 1 wurde in Smalltalk entwickelt. Dann allerdings kam PASCAL und dann erst C++.

Aber PASCAL braucht eigentlich nur die Fähigkeit C++-Objectcode zu erzeugen, dann ist die Anbindung an C++ eher besser als bei VB. Bei Delphi ging das und ist wirklich praktisch. Geht eigentlich nur um den Aufruf von Methoden, Unterschied ist hier, ob die Parameter von links nach rechts oder umgekehrt auf dem Stack übergeben werden. Alle C++-Datentypen lassen sich verhältnismäßig leicht in PASCAL deklarieren. Eine entsprechende Unit mit C++-Datentypen könnten wir ja mal bauen und allgemein z.V. stellen. Das ist schon ganz hilfreich falls man auf C++-Objectcode zugreifen muß(soweit sowas nicht schon existiert).

VB hat nämlich vermutlich nur den Vorteil, das es eng an C++ angelehnt ist.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@mschnell

Die Erklärung greift zu kurz. CORBA ermöglicht den Zugriff auf Objekte (Skeleton) von verschiedenen Sprachen aus. Das Protokoll ist nur ein kleiner Teilbereich von CORBA.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Cobra ist ein Objektmodell nichts weiter keine Programmiersprache oder ähnliches.

Windows 1.0 wurde in C entwickelt genau wie Dos auch erzähl net immer son quark.

VB ist an C++ angelehnt ?? also ich seh da keinerlei ähnlichkeiten. oder einst du das man aus VB C++ objekte direkt ansprechen kann ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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:

Beitrag von Euklid »

af0815 hat geschrieben: Es stellt sich im Windows Umfeld sehr viel auf VB bzw. C# um. Es gilt auch nicht mehr die fehlenden Komponeneten, kein RAD, schlechte Datenbankanbindung,... alles wechselt in Richtung VB.
[...]
Weiters geht offensichtlich eine weiter Quelle aus, auf den Unis und H;heren Schulen geht es auch in Richtung Java oder VB, VB mit tw. massiver Unterstützung von M$. Schaut euch mal die Angebote an an Schul- und Schülerlizenezen. Die Wissen wie man den Entrylevel aufbaut.

Pascal als Nische bzw. Plattformübergreifend ja, aber bereits weit weg vom Mainstream.
1. An den Hochschulen habe ich bisher keine Bewegung hin zu VB beobachten können. In Giessen wird meines Wissens hauptsächlich in C++, aber auch (ganz sicher) mit Delphi programmiert.

2. Für Oberstufen-Informatikkurse sind nach Aussagen meines ehemaligen Informatiklehrers zumindest in Hessen keine anderen Sprachen als Delphi und Java erlaubt.

Was ich an VB nicht mag, ist die unsaubere Typendeklaration. Die führt dazu, dass man auch bei trivialen Fehlern im Quelltext den Überblick verliert. Zudem wird ein Befehl mit dem Zeilenende abgeschlossen. In Lexart sind teilweise rießige If-Bedingungen verbaut - die in einer einzigen Zeile wäre müsste man ja ewig scrollen, um die Bedingung zu verstehen.
Habe aber schon seit Ewigkeiten nicht mehr damit programmiert. Möglicherweise hat sich ja was getan.

Die Zukunft von Basic sehe ich ausschließlich in den Makros der Textverarbeitungsprogramme.

christian hat geschrieben: Aber es ist auch niemand so richtig dran interessiert in der richtung was zu machen wenn man das auf der Mailingliste anspricht passiert erstmal 3 Tage gar nichts und dann meldet sich einer und sagt tolle idee und danach passiert nie mehr was.
pluto hat geschrieben:also hat keiner wirklich lust dafür zu sorgen das Lazarus bekannter wird, und Umfangreicher wird. z.b. mehr Komponenten, die IDE verbessern und so weiter.
Wer etwas "machen" möchte, muss folgende Bedingungen erfüllen:
1. Er muss mit Pascal und den Projekten Lazarus/FPC ausreichend vertraut sein.
2. Er muss Zeit haben.
3. Er muss bereit sein, diese Zeit in das Projekt unentgeltlich zu investieren.

Und es gibt ganz einfach nur wenige Personen, die das Zeug dazu haben und zudem die Zeit und den Willen, viel Energie in ein uneigennütziges Projekt zu stecken. Das ist das Problem.
Am schwerwiegendsten ist glaube ich Punkt 2. Ich denke, dass es durchaus genügend fähige Menschen gäbe, die das Projekt verbessern und ihre Freizeit aufopfern wollen. Nur viele sind mit der Ausbildung, Familie oder Beruf bereits zeitlich belastet. Wenn dann noch weitere Hobbies, Freunde, eventuell eigene Pascal-Projekte, etc. dazukommen, wirds dann doch recht knapp mit der übrigen Zeit.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6768
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Christian hat geschrieben: Windows 1.0 wurde in C entwickelt genau wie Dos auch erzähl net immer son quark.
Dos ist von Billy eingekauft worden und in Assembler geschrieben gewesen. :shock: Siehe DOS & WIN History
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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)

Beitrag von pluto »

naja zeit hätte ich aber ob ich lust dazu hätte weiß ich nicht. ich habe mir schonmal denn Qullecode angesehen.

Evlt. werde ich ja mal ein paar Änderungen an der IDE vornehmen. Die mich bisher immer gestört haben.

1: Das mit den Sprungmarken
2: das die Tabs per Tasten angesprungen werden können z.b. strg+alt+zahl oder buchstabe
3: evlt. mehr units wir könnten ja ein unit zusammen stellen mit den es ganz leicht ist:
z.b. folgenden String zu bearbeiten:
test1,test3,test4,"hallo, du da"
ich habe bereits sehr viele Funktionen in dieser Richtung.
SetToken: Ersetzt ein Token in den String(allerdings werden noch keine "" unterstützt)
DelToken: löscht einen Token
GetToken:habe ich mehrmals ein altes was nicht von mir stammt und ein neues was "" unterstützt
und solche Funktionen halt.

außerdem möchte ich schon lange eine erweiterte TSTringList schreiben.
sie soll von TStrings abgeleitet sein, so das sie bei TIniFile eingesetzt werden kann oder bei anderen methoden.
als neue Funktion soll dort die Möglichkeit hinzu kommen:
Wenn eine Zeile gelesen wird, soll ein Ereignis kommen wo sie gleich bearbeitet werden kann. meisten möchte ich ja eine TSTringlist laden und auch gleich bearbeiten

wenn eine Zeile geschrieben wird.
Evlt. noch die Klasse aus meinem TPaint2 Projekt die für das speichern zu ständig ist. Ich finde sie nicht schlecht und ich wette sie würde in anderen Projekten auch nutzen finden.

Die klasse speichert in zwei Formate z.z. es sollen noch weiter hinzukommen z.b. ein DB Format . Und die möglichkeiten listen in listen abzuspeichern.

das währen meinen Anregungen, die ich mit der zeit ins Projekt bringen können. ach ja nicht zu vergessen:
das mit dem Mainmenu-bug:
Sobald ich ein TpageControl habe und dort eine Seite gehen die ShrotKey nicht mehr. und der Menudesinger möchte ich weiter anpassen, weil der gefällt mir überhaupt nicht.

was haltet ihr davon wenn wir eine Liste mit aufgaben erstellen ?
und jeder der Zeit und Lust hat kann aus dieser Liste was machen.
MFG
Michael Springwald

bike
Beiträge: 25
Registriert: Mi 22. Nov 2006, 12:01

Beitrag von bike »

Die Aussage, dass in der Windowsumgebung sich es mehr Richtung vb oder C++ entwickelt, kann ich nicht bestätigen. Dies ist meiner Meinung nach ebenso eine Fehlinformation wie die, dass Slimclient mit Java die Zukunft (seit ca 5 Jahren) sind. ;-)
Im Bereich IT wird bei uns mit C/C++ und Pascal entwickelt, bei Steuerungen mit VB und Pascal.

Also wir bzw ich haben uns für ein grosses Projekt bewusst für Delphi/Pascal entschieden, um bei Problemen besser analysieren und dann den Fehler beheben zu können. Unser Lieferant der Steuerung unterstützt nur VB und C, doch jetzt bin ich froh diesen Schritt so gegangen zu sein.
Wir sind jetzt so weit, dass wir Lazarus/fpc uns anschauen und dann prüfen ob wir unser System nicht portieren. Die Vorteile von freier Software muss ich in diesem Zusammenhang nicht extra erwähnen.



bike

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)

Beitrag von pluto »

also ich habe mir heute die Syntax von Java mal angeschaut, ich finde jetzt Pascal ist doch um einiges Besser beispiel um ein Polygone in Java (2) zu zeichnen müssen zwei Arrays Definiert werden einen für x und y Positionen. Irgendwie bin ich jetzt auch wiederum etwas enteuscht von Java dachte sie könnte etwas mehr aber sie kann ja noch weniger als Object Pascal... oder sehe ich das jetzt falsch ?
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

seh ich nicht so.

Java kann prinzipiell wohl genausoviel.
Es ist nur die Frage, wie viel Aufwand man betreiben muss, um sein Ziel zu erreichen.
Abgesehen vielleicht von Systemnaher Programmierung, da Hardwarezugriffe wohl etwas umständlich sind, aber dafür ist java ja auch gerade nicht ausgelegt. Und Pascal ist auch nicht wirklich das Optimum für Treiber und ähnliches.

Aber Es ist vielmehr die Frage, wie aufwendig es ist und ob man sich dran gewöhnt hat, oder nicht. Es wird auch in jave Dinge geben, die einfacher als pascal sind.
was auch zur Bekanntheit beitrgane dürfte, wäre bei den diversen Anwendungen vielleicht ein kleiner Vermerk auf Pascal, das die Nutzer mal mitbekommen, womit das ganze erstellt wird, so ungefähr wie Euklid das im About-Dialog hatt, wo das Lazaruslogo prankt.
Aber irgendwie fehlt da auch ein schön modernes Lazaruslogo, find eich zumindest. Wir sollten mal eins entwerfen und das muss dann in jeder Softwrae die hier im Forum erscheint vorhanden sein ;)

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@monta

Passt doch, Leoparden sind schnell. Fehlt nur der Hinweis auf FPC/ObjectPascal. Sollte man vielleicht den Leoparden über einen graphischen PASCAL-Schriftzug rennen lassen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten