[fpc-devel] out parameters in RTL/FCL

Peter J. Haas fpc.ml at pjh2.de
Fri Jun 10 03:01:47 CEST 2005


I write in German language because I'm not able to translate my
statement comprehensibly. Maybe anybody can translate it for people,
which don't can read German.

on 2005-06-08T21:24:42+02:00 Peter Vreman wrote:
>> At the moment there are a lot of warnigns for uninitialised var
>> parameters.
>>
>> Is it possible to replace the 'var' with 'out' specifiers?
>> Can I send patches for that?

> Yes, you can send them to me or florian

Das Thema wurde hier vor ein paar Wochen schon einmal in der
FPC-Pascal Mailingliste diskutiert. Die oben erwähnten Warnungen
tauchten auf, wurden von Peter Vreman mit der damals neuesten Version
nicht gesichtet und von Jonas Maebe als Bug bezeichnet.

Ich hatte ein wenig darüber nachgedacht und fand, daß eine Meldung auf
nicht initialisierte Variablen bei var-Parametern durchaus Sinn machen
kann, wenn diese ausschließlich als in/out-Parameter eingesetzt
werden. Weiterhin müßte sich ein solches Feature abschalten lassen,
denn wer will schon gerne wegen einer neuen Version auf die Schnelle
seine Quelltexte durchgehen, um die vielen plötzlich auftauchenden
Warnungen zu prüfen und festzustellen, daß sie nicht stimmen.

Wie auch immer, ich dachte mir, daß man 'vorbereitender' Weise
wenigstens die mitgelieferten Bibliotheken (RTL/FCL/LCL) entsprechend
aufbereiten sollte, also bei reinen in-Parametern const, bei reinen
out-Parametern out zu verwenden. Nun war ich mir nicht sicher, ob
const und out bei allen Compilermodi zur Verfügung stehen, und bevor
ich mir umsonst Arbeit mache, fragte ich nach:

PH> I don't know, whether other compiler modes support const and out.
PH> If yes, the RTL/FCL/LCL functions should use it. This do mean e.g.

Ich bekam daraufhin von Peter Vreman folgende Antwort:

PV> For compatibility we can't do this. Delphi also doesn't warn. And
PV> making the warning dependent on the compiler mode will make things
PV> too complex. Because it then dependents on the compiler mode used
PV> to compile a used unit that contains a function and not on the
PV> compiler mode used in the current unit.

Nun auf einmal gelten diese Einwände offenbar nicht mehr. Der Bug
wurde zum Feature erklärt, die User müssen zahlreiche falsche
Meldungen hinnehmen. Keine der von mir bereits vor Wochen erwähnten
Vorbedingungen sind erfüllt, die das verhindert hätten.


Ich bin vor einigen Wochen zum FPC gestoßen, weil mich jemand
eingeladen hatte. Ich bin Delphi-Anwender und werde das beruflich
bedingt auch in Zukunft bleiben. Mag sein, daß ich in der Zukunft mal
etwas mit Lazarus realisiert hätte, im Moment gab es jedoch keine
Notwendigkeit irgendein Feature unbedingt implementiert zu bekommen.
Ganz im Gegenteil, mein Ziel war es gewesen hier mitzuwirken, d.h. ich
war bereit, mich den von mir genannten Aufgaben auch zu stellen. Nur
bin ich nicht bereit, so etwas ohne vorherige Diskussion mit anderen
zu tun, wenn ich alleine programmieren will, kann ich das auch in
eigenen Projekten. Aber in keinem Fall bin ich bereit, etwas gegen den
erkennbaren Widerstand der Kernentwickler zu tun. Leider hat Peter
Vreman es immer wieder verstanden, jede einzelne Diskussion, an der
ich mich beteiligte, oft mit bei genauer Betrachtung unsachlichen
Argumenten abzuwürgen (siehe u.a. oben). Er stellte klar, das es nur
einen Weg gibt: Wenn ich etwas will, dann soll ich doch einen Patch
einreichen. Wenn dieser dann den Kernentwicklern gefällt, habe ich
vielleicht eine Chance, daß er aufgenommen wird. Ich bin doch nicht
blöd und arbeite in meiner Freizeit für den Papierkorb, das mindestens
er etwas dagegen hat (ohne sich damit ausreichend beschäftigt zu
haben), war ja bereits deutlich erkennbar. Und bei mehreren der
Probleme hätte eine Lösung Änderungen im Design des Compilers
notwendig gemacht, eine solche Entscheidung trifft man nicht ohne
vorher mit denjenigen darüber diskutiert zu haben, die sich da
auskennen, Nebenwirkungen besser überblicken können.

Mir ist dann in einer privaten Diskussion über meine Verärgerung von
einem Dritten erklärt worden, daß mich Peter Vreman wohl mit einem der
vielen nervenden Anwender verwechselt hätte. Egal ob dem so ist, oder
nicht, ich finde es unverschämt Anwender welche sich am Projekt
beteiligen, auch wenn sie "nur" auf Probleme aufmerksam machen oder
Ideen zur Verbesserung des Projektes einbringen, dermaßen arrogant
abzufertigen.

Ich hatte bei den Mails von Peter Vreman permanent das Gefühl, daß er
nur schrieb, um mich zum Aufgeben zu bewegen, das es zu keinem
Zeitpunkt darum ging, irgendetwas sachlich zu diskutieren. Mir war
übrigens bei der Einladung versprochen worden, daß genau so etwas hier
nicht vorkommt, leider ist dem wohl nicht so.

Ohne die Einmischung von Peter Vreman hätte es vielleicht die eine
oder andere konstruktive Diskussion gegeben und höchstwahrscheinlich
wären bestimmte Dinge, wie das Ersetzen der betreffenden var Parameter
durch const und out und abschaltbare Hint-Gruppen längst realisiert,
zumindestens hätte ich mich daran versucht.

Um Mißverständnissen vorzubeugen, es geht mir hier nicht um die beiden
Statements oben, die sind nur die Spitze eines Gesamtbildes. Und auch
wenn ich hier ausschließlich Peter Vreman namentlich erwähne, so habe
ich aus den Reaktionen im letzten Thread und in privaten Mails
durchaus den Eindruck gewonnen, das sein Verhalten von anderen
keineswegs in Frage gestellt wird. Man darf den FPC benutzen und
Patches abliefern, ansonsten hat man den Entwicklern gefälligst nicht
ihre kostbare Zeit zu rauben. Ein Interesse an neuen, engagierten
Entwicklern scheint nicht zu existieren. Peter selber hat sich bisher
nicht dazu geäußert, obwohl ich in dem letzten Thread geäußert hatte,
daß ich über sein Verhalten verärgert bin. Naja, er hatte das erklärte
Ziel erreicht, ich habe aufgehört zu nerven.


Ich habe diese Mail hier geschrieben, weil im Vergleich mit diesem
Thread deutlich zu sehen ist, das die zum Abblocken benutzen Argumente
gänzlich falsch waren. Ich habe diese Mail geschrieben, weil ich ein
solches Verhalten absolut unverschämt finde.

Ihr könnte daraus machen was ihr wollt, ignoriert es, teilt mir wieder
mit, das es unverschämt ist, wenn ich verärgert bin, schmeißt mich aus
der Liste, wie ihr es mir schon bei meiner letzten Mail angedroht
habt. Egal, wie ihr reagiert, ich werde daraus meine Konsequenzen
ziehen.

Peter.





More information about the fpc-devel mailing list