Pascal wird sehr unterschätzt

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 334
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1

Pascal wird sehr unterschätzt

Beitrag von Niesi »

.

Kennt Ihr diese wissenschaftliche Arbeit?

https://greenlab.di.uminho.pt/wp-conten ... perSLE.pdf

Lest bitte - und staunt - die Tabelle 5 ist nach meiner Meinung der wirklich entscheidende Teil: demnach gehört Pascal zu "den Besten der Besten" (frei nach "men in black I").

Ok, ist bereits 2017 erstellt worden, allerdings halte ich das für aktuell - in meinem eigentlichem Arbeitskernbereich arbeite ich auch mit und nach mehr als 30 Jahre alten Forschungsberichten. Der einzige Fehler, den ich bisher entdecken konnte: Pascal wird nicht als objektorientiert aufgeführt. Nun ja ...

Für alle, die so lange Texte in Englisch nicht gut lesen können: ich habe den Text mal mit einem tool übersetzt und hier als Anhang beigefügt. Wie gesagt: nur den Text, der ersetzt nicht das Dokument.

Und an @Photor noch mal ein großes Dankeschön, der mich im Fediverse auf diese Untersuchung aufmerksam gemacht hat und sinngemäß den Satz "Pascal wird unterschätzt" schrieb.
Dateianhänge
paperSLE.txt
(51.08 KiB) 84-mal heruntergeladen
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Pascal wird sehr unterschätzt

Beitrag von Winni »

Niesi hat geschrieben:
Di 13. Sep 2022, 16:51
Der einzige Fehler, den ich bisher entdecken konnte: Pascal wird nicht als objektorientiert aufgeführt. Nun ja ...
Hi!

Zur Klarstellung:

Pascal in seinen ersten 20 Jahren war nie objectorientiert. Das ist erst in den späten TurboPascal-Versionen und in seiner jetzigen Form in Delphi rangeschraubt worden.

N. Wirth hielt nix davon und im frühen Pascal sowie Modula 2 sind weit und breit keine Objekte zu sehen. In Oberon gibt es dann eine sehr eigene und eingeschränkte Objekt-Orientierung.

Winni

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 334
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1

Re: Pascal wird sehr unterschätzt

Beitrag von Niesi »

Ja, ist bekannt. Und ich selbst habe die Einführung der objektorientierten Programmierung immer als Riesenschritt vorwärts angesehen. (Ich programmiere seit 1986 mit Pascal)
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Pascal wird sehr unterschätzt

Beitrag von six1 »

...gehört wahrscheinlich hier dazu:

https://benchmarksgame-team.pages.debia ... ascal.html
Gruß, Michael

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

Re: Pascal wird sehr unterschätzt

Beitrag von Warf »

Frage bei solchen Benchmarks ist natürlich immer die Relevanz. Denn sind wir mal ehrlich, wann trifft man die Wahl einer Programmiersprache für ein Projekt wirklich nach Zeit oder Speicher oder Energie effizienz? Vielleicht in ein paar Spezialfällen wie Microcontrollerprogrammierung, aber sonst? Wenn das das Haupt auswahlkriterium wäre gäbe es keine PHP oder Ruby Programmierer.

Ich zum Beispiel benutze FPC und Lazarus nicht wegen der effizienz, sondern weil ich damit innerhalb kürzester zeit ein Grafisches Interface zusammenklicken kann und damit sehr schnell kleine programme bauen kann. Genauso benutze ich für schnelle webinterfaces, z.B. für das ausgeben von Datenbank informationen, meist PHP weil ich da einfach nur eine .php datei erstellen muss statt mir in FPC eine FPWeb CGI anwendung zu kompilieren und die dann über meine nginx konfiguration auf der webspace einzubinden.

Genauso sieht man in diesen Benchmarks auch oft das C schneller ist als C++, wobei C ein subset von C++ ist. Wenn man also programme tatsächlich auf geschwindigkeit optimieren wöllte, würde man in C++ einfach nur den C Teil benutzen und müsste die exakt gleichen ergebnisse haben. Bzw. noch extremer, viele Sprachen unterstützen eingebettetes assembler, womit man noch besser manuell optimieren kann. Es werden also beim erstellen solcher Benchmarks (willkürliche) Entscheidungen getroffen wie weit die Programme manuell optimiert werden.
So benutzen die Benchmarkprogramme in Pascal keine Klassen, was natürlich auch offensichtlich ist wenn man für Benchmarks optimiert, da Klassen einen nicht zu verachtenden Overhead hinzufügen der die Benchmarks negativ beinflussen würde.
Das bedeutet aber das die Anwendbarkeit auf Programme in freier wildbahn eher mäßig ist, da die meisten Pascal Programme sehr stark auf der Verwendung von Klassen basieren.

Daher sind solche sehr allgemeinen Benchmarks eigentlich nur Spielerei. Was interessant ist ist natürlich echten code zu benchmarken, z.B. wie sich die TList aus Generics.Collections vs. C++ vector verhält, oder wie sich die FPC system funktionen gegenüber den libc standard funktionen verhalten (wobei das z.T. auch kein fairer vergleich ist da die Libc systemoptimiert vom Betriebsystem bereitgeestellt wird während die fpc System unit möglichst allgemein ist damit die kompilierten Anwendungen überall gut laufen)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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:

Re: Pascal wird sehr unterschätzt

Beitrag von af0815 »

Bei Benchmarks gibt es immer ein paar wichtige Fragen vorher:

* Wer hat das bezahlt ?
* Was war die Fragestellung ?
* Hat das irgendeine Relevanz ?

Für mich ist gerade Punkt 3 nicht unbedingt gegeben, weil meiner Meinung nach schon Punkt 2 hinkt. Unabhängig von Punkt 1. :lol:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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

Re: Pascal wird sehr unterschätzt

Beitrag von theo »

Ja, solche Vergleiche kommen immer wieder auf. Ich verstehe nicht wirklich, was das soll.
Vor allem verstehe ich nicht, wie eine "Sprache" solche Eigenschaften haben soll.
Was man misst ist doch immer nur das, was hinter dem Compiler rauskommt und das ist in unserem Fall Maschinensprache, also eine Frage der Optimierung.
Natürlich sind die dazugehörigen Bibliotheken auch immer mehr oder weniger aufgebläht, aber auch das hat mit der Sprache an sich mMn nicht viel zu tun.
Dann das noch mit Java (VM) vergleichen zu wollen...

Ja, Äpfel sind runder als Birnen, dafür sind Birnen aber länglicher. Was ist jetzt besser?
Ein Ferrari ist schneller als ein LKW, dafür kann ein LKW mehr Gewicht transportieren. Ergo ist der LKW besser. Oder doch der Ferrari? :mrgreen:

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

Re: Pascal wird sehr unterschätzt

Beitrag von Mathias »

Ich zum Beispiel benutze FPC und Lazarus nicht wegen der effizienz, sondern weil ich damit innerhalb kürzester zeit ein Grafisches Interface zusammenklicken kann und damit sehr schnell kleine programme bauen kann.
Genau so ist es. Pasal hat sehr viel Komfort. Nur schon 2 kleine Befehle wie Length und SetLenght sind viel wert. Sowas sucht man bei C/C++ vergebens. Oder auch das Gewurschtel mit den Pointern in C/C++. In Pascal kann man einfach ein "var" beim Procedure-Kopf eingeben.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Pascal wird sehr unterschätzt

Beitrag von Winni »

Hi!

Also erstens: Sag mir, welche Sprache gut dastehen soll, und danach wird der Benchmark geschrieben.

Zweiten: Solche Resultate sind doch nur etwas für Number Cruncher. Aber wieviel Prozent der Anwender arbeiten für den Wetterbericht, die Strömungstechnik oder die Astrophysik? Da wird's gebraucht.

Die Regel ist doch, dass kleine Datenbestände sortiert werden, dass die Visualisierung der Daten mehr Zeit braucht, als die sonstige Verarbeitung.

Worauf es ankommt, ist doch die Bedienbarkeit des Rapid Prototyping, und da sind Delphi/Lazarus auch nach 20 Jahren immer noch Spitze.

Und zu der Debatte, welche Sprache wie tot ist, noch eine kleine Anekdote:

Vor ca 10 Jahren lernte ich eine Azubine im 1. Lehrjahr kennen. Sie arbeitete für eine Bank und schrieb den ganzen Tag Eingabemasken. In Cobol ...

Wenn Cobol nicht tot ist, dann ist es Pascal allemal nicht.

Winni

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Pascal wird sehr unterschätzt

Beitrag von hum4n0id3 »

Ach seid ihr niedlich, wie ihr versucht euch zu trösten und gegenseitig auf die Schultern klopft :mrgreen:

Als PHP-Entwickler muss ich mir die Aussage "PHP ist doch tot?!" auch öfters gefallen lassen :P

Antworten