Interview mit N. Wirth

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Interview mit N. Wirth

Beitrag von Mathias »

Da würde ich nach ein inline hinter der procedure anhängen.
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: Interview mit N. Wirth

Beitrag von Winni »

Mathias hat geschrieben:
Do 10. Sep 2020, 18:11
Da würde ich nach ein inline hinter der procedure anhängen.
Jo!

Winni

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Interview mit N. Wirth

Beitrag von fliegermichl »

Winni hat geschrieben:
Do 10. Sep 2020, 17:24

Code: Alles auswählen

procedure incF (var f: single; increment: single);
begin
f := f + increment;
end;
oder wieder die Version für Schreibfaule mit Defaultparameter

Code: Alles auswählen

procedure incF (var f: single; increment: single = 1);
begin
f := f + increment;
end;

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Interview mit N. Wirth

Beitrag von braunbär »

oder vielleicht

Code: Alles auswählen

procedure incF (var f: single; increment: single);
begin
f += increment;
end;
lol

Leute, ich verstehe euch nicht.
Winni hat geschrieben:
Do 10. Sep 2020, 11:35
Immer schön in der Sprache bleiben!
Bloß weil das Sprachkonstrukt im ursprünglichen Pascal nicht existiert hat, ist es doch nicht schlechter als eine Klassendefinition. Die gabs im Ur-Pascal auch nicht.

Natürlich muss man sich an jede Änderung erstmal gewöhnen, aber etwas kompakterer Code ist immer besser, angenehmer zu schreiben und angenehmer zu lesen. Wie kann man lieber eine selbstgeschriebene Funktion verwenden (bei der jeder, der das Programm nicht kennt und bearbeitet erst nachschauen muss, was die genau macht), als ein fest in die Sprache eingebautes Feature zu verwenden?

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: Interview mit N. Wirth

Beitrag von m.fuchs »

braunbär hat geschrieben:
Fr 11. Sep 2020, 11:09
aber etwas kompakterer Code ist immer besser, angenehmer zu schreiben und angenehmer zu lesen.
Das ist deine Meinung, ich widerspreche da allerdings. Klar, unnötiges Aufblähen des Codes sollte man vermeiden. Eine gewisse Ausformulierung zähle ich aber nicht dazu. Deswegen benutze ich ja Pascal und kein C.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

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: Interview mit N. Wirth

Beitrag von Winni »

Hi!

Das ist es ja gerade, wogegen sich N. Wirth gewendet hat:

Das unnötige Aufblähen der Syntax.

Und hier noch ein bischen C, und dort noch ein bischen Java, und bitte abschmecken mit Basic und SQL.
Und am Ende landet man bei solch einem Monster wie ADA, das alle Programmiersprachen, die jemals in den amerikanischen Streitkräften benutzt wurden, vereint. Grusel!

Die fpc-Macher sind eifrigst bemüht, jegliche C-.Konstrukte rauszuschmeissen. Falls die jemand unwissentlich eingeschmuggelt hat. Sie haben gute Gründe.

Keep It Simple Stupid !!!!

Winni

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: Interview mit N. Wirth

Beitrag von Socke »

Winni hat geschrieben:
Fr 11. Sep 2020, 12:27
Das unnötige Aufblähen der Syntax.
Da kann Delphi aber gut mitmachen ;-). Die neuen Attribute sind da echt nicht so klar, wie man sich das als Entwickler wünscht.
Gerade das [volatile] Attribut ist so herrlich undefiniert, wie es in C++ bis zum aktuellen Stand C++ 20 war.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

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: Interview mit N. Wirth

Beitrag von Winni »

Hi!

Bei Sockes Post über Delphi bekommt man ja das Grauen.
Ich hab kein aktuelles Delphi und kümmer mich eigentlich auch nicht um Delphi.

Aber:
Erst werden alle möglichen Cache-Mechanismen bemüht, um den Ablauf zu beschleunigen.
Und dann braucht man Befehle um diese Mechanismen zu deaktivieren.

Und diese Syntax mit dem [vorangestellten Attribut] ist ja wohl das Letzte!

Ich krame gleich mein altes Turbo-Pascal wieder raus.
Oder mein altes UCSD-Pascal.

Winni

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Interview mit N. Wirth

Beitrag von PascalDragon »

Winni hat geschrieben:
Fr 11. Sep 2020, 14:26
Erst werden alle möglichen Cache-Mechanismen bemüht, um den Ablauf zu beschleunigen.
Und dann braucht man Befehle um diese Mechanismen zu deaktivieren.
Vor allem, wenn man im Zusammenhang mit Hardware arbeitet, ist es sehr wichtig, dass einem der Optimizer keinen Strich durch die Rechnung macht. Wobei in FPC dies durch ein Volatile-Intrinsic erreicht wird, das an der jeweiligen Zugriffsstelle genutzt wird, damit nicht jeder Zugriff darunter zu leiden hat.
Winni hat geschrieben:
Fr 11. Sep 2020, 14:26
Und diese Syntax mit dem [vorangestellten Attribut] ist ja wohl das Letzte!
Da klage ich quasi schon seit erscheinen der Syntax mit Delphi 8.Net drüber, da sich CodeGear (oder war das damals sogar noch Borland?) einfach komplett an C# orientiert hat, statt dies mit einer Pascal-artigeren Syntax zu machen. :roll: FPC 3.3.1 unterstützt die mittlerweile auch zumindest für Typen und published Properties.
FPC Compiler Entwickler

Antworten