Delphi-PRAXiS
Seite 3 von 8     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wenn man sich was wünschen dürfte... (https://www.delphipraxis.net/186630-wenn-man-sich-wuenschen-duerfte.html)

Codehunter 18. Sep 2015 12:18

AW: Wenn man sich was wünschen dürfte...
 
Also ob Listen nun 0- oder 1-basiert sind, das ist mir eigentlich ziemlich egal. Stören tut mich allenthalben, dass das so inkonsistent ist. Die meisten TIrgendwasList sind 0-basiert, Strings sind 1-basiert. Ich will gar nicht wissen wie oft ich mich schon bei Copy() verheddert habe weil ich unbewusst immer 0-basiert denke.

Aber das heute noch zu ändern dürfte kaum mehr möglich sein ohne die Kompatibilität über Board zu werden. Und umschaltbar per Compilerschalter macht die Sache nur noch unsinniger.

Bzgl. Referenzen und Speicherkopien: Ich frage mich schon lange, warum es in Delphi drei Varianten gibt:
Delphi-Quellcode:
procedure Foo(A: Typ);
procedure Foo(var A: Typ);
procedure Foo(const A: Typ);
Hier dürften doch Variante 1 und 3 so ziemlich das selbe sein. So richtig schick wird das dann in diesem Fall:
Delphi-Quellcode:
procedure Foo(const A: PString);
begin
   A^:= 'XYZ';
end;

procedure Bar;
var
   B: String;
begin
   B:= 'ABC';
   ShowMessage(B); // "ABC"
   Foo(@B);
   ShowMessage(B); // "XYZ"
end;
Mir ist schon klar WARUM das funktioniert. Mich nervt nur der Stil, den man in vielen (kommerziellen) Units findet. Da wird zwischen Referenzen und Zeigern wild hin und her gecastet. Das geht sogar soweit dass man Zeiger auf Zeiger referenziert.

Bzgl. Lokalisierung stimme ich euch voll und ganz zu. Es gibt tausendundeine Möglichkeit wie man das realisieren kann. Der offizielle (Borland-) Weg über Resourcen-DLLs hat mir noch nie gefallen. Viel zu sperrig das ganze. Ich nutze dafür lieber INI-Dateien und hatte mir seinerzeit (für Delphi 7) einen eigenen INI-Parser geschrieben. Den Rest darf man dann natürlich auch "zu Fuß" machen. Am besten gehts wenn man sein Projekt von Anfang an auf MUI hin konzipiert.

Sir Rufo 18. Sep 2015 12:21

AW: Wenn man sich was wünschen dürfte...
 
Zitat:

Zitat von Codehunter (Beitrag 1316237)
Mir ist schon klar WARUM das funktioniert.

Und es verletzt auch nicht die Regel bei
Delphi-Quellcode:
const
Parametern. Denn der Wert ist der Zeiger und nicht das worauf der Zeiger zeigt. Den Zeiger kann ich dort nicht verändern, aber sehr wohl das, worauf der Zeiger da zeigt. ;)

implementation 18. Sep 2015 12:30

AW: Wenn man sich was wünschen dürfte...
 
Zitat:

Zitat von Codehunter (Beitrag 1316237)
Bzgl. Referenzen und Speicherkopien: Ich frage mich schon lange, warum es in Delphi drei Varianten gibt:
Delphi-Quellcode:
procedure Foo(A: Typ);
procedure Foo(var A: Typ);
procedure Foo(const A: Typ);

Tatsächlich gibt es auch noch eine vierte, wenn auch seltene :stupid:

Delphi-Quellcode:
procedure Foo(out A: Typ);

bernd2015 18. Sep 2015 12:54

AW: Wenn man sich was wünschen dürfte...
 
Fände es SEHR wünschenswert, wenn man sich an Beiträge angehängte Screenshots ohne Anmeldung/Registrierung ansehen könnte!

stahli 18. Sep 2015 12:57

AW: Wenn man sich was wünschen dürfte...
 
So, bin jetzt ohne Aufsicht und kann mir etwas mehr Zeit nehmen...

Also ich akzeptiere natürlich alle Argumente, sehe das aber immer noch etwas anders. Vielleicht kann ich das noch etwas genauer erklären...


1) 0-basiert

Wenn man in Listen Blöcke unterbringen will muss man natürlich mit 0 rechnen um zu einer bestimmten Position zu kommen.
Man kann zu dem Ergebnis aber dann auch problemlos 1 hinzu zählen, auf den tatsächlichen Eintrag zu kommen.
Dafür spart man sich das sonst immer wiederkehrende ... to List.Count - 1.
Ok, bei foreach ist das auch nicht mehr so interessant.

Letztlich ist es Geschmackssache.

Ich sehe es in dem Falle eher aus Beginner-Sicht. Wenn ein Schüler eine Liste mit 10 Einträgen durchlaufen soll wird er bei 1 anfangen.


2) Zuweisungen

Das ist schon etwas schwieriger.

Aber wenn man auch hier einem Schüler über die Schulter schauen würde, würde er sich mit einer "vermeintlichen" unterschiedlichen Handhabung anfänglich eher schwer tun.
Natürlich wird der Pointer kopiert aber es fühlt sich anders an (für mich jedenfalls ;-)).


3) Strings + Bezeichner im Quelltext

Die Lokalisierung hatte ich da gar nicht im Fokus sondern einfach die Lesbarkeit des Quelltextes.
Der Quelltexteditor ist ja auch eine graphische Schnittstelle - halt für den Programmierer.
Im Sinne von WYSIWYG könnte doch der Codeeditor hier auch eine Roh- und eine formatierte Sicht auf den Code bieten.
Im Normalfall werden dann die Formatierungsdetails ausgeblendet und wenn man sie braucht zeigt man sie halt an und kann sie bearbeiten.

[EDIT] Ein Refactoring von FirstNamme in FirstName könnte die IDE auch realisieren, wenn der Bezeichner in spitzen Klammern steht. Dazu muss halt sowohl der Editor als auch der Parser damit umgehen können.

Aus meiner Sicht wäre das eine klare Erleichterung der Arbeit.


... ok, zumindest weiß ich jetzt, dass ich keine Begeisterung ausgelöst habe. :stupid:


@Bernd2015
Also es ging schon um Sprachkonstrukte in der Programmierung.
ALLE DENKBAREN Wünsche können in dem Thread hier nicht erfüllt werden. ;-)

Hansa 18. Sep 2015 17:48

AW: Wenn man sich was wünschen dürfte...
 
Warum soll das Begeisterung auslösen ? Wenn man jetzt hingeht und zählt ab 1 statt 0 (ich stimme Stahli da zu, dass das logischer wäre !), aber mathematisch korrekter wäre es wohl nicht. Der Hauptpunkt ist aber : never change a running system. Würde man das ändern, au Mann, das gäbe Riesen-Durcheinander, Kompatibilitätsprobleme usw. bis in die letzte Programmeckee.

Stevie 18. Sep 2015 17:52

AW: Wenn man sich was wünschen dürfte...
 
Es heulen doch jetzt schon alle über ZBS - obwohl das wohl endlich konsistent ist!

Von allen Dingen, die ich mir wünschen würde kämen die Sachen wohl nicht in meiner Liste vor - wenn jemand nicht zwischen Wert und Referenztypen unterscheiden kann, dann soll er wieder mit Playmobil spielen gehen :twisted:

Und nein, ich werd meine Wunschliste hier nicht mit euch diskutieren, weil es nichts bringt und ich da keinen Nerv drauf habe - die, die davon etwas umsetzen könnten, wissen davon und das ist entscheidend.

stahli 18. Sep 2015 18:11

AW: Wenn man sich was wünschen dürfte...
 
Zitat:

Zitat von stahli (Beitrag 1316125)
Ich will hier keine Pascal-Änderungen anregen, sondern einfach mal ein paar grundsätzliche (quasi philosophische) Überlegungen anstellen und diskutieren - wem das gelingt auch gern unter Berücksichtigung der Sicht eines Programmieranfängers.

Mich hatte interessiert, ob ganz grundsätzlich die Pro´s oder Contra´s 1 überwiegen - unabhängig von existierenden Sprachen und gängigen Standards.

Stevie 18. Sep 2015 18:30

AW: Wenn man sich was wünschen dürfte...
 
Beide Alternativen sind gleich blöd. Aber vielleicht ist zero based auch besser? :stupid:

SMO 18. Sep 2015 20:23

AW: Wenn man sich was wünschen dürfte...
 
Zitat:

Zitat von stahli (Beitrag 1316282)
Mich hatte interessiert, ob ganz grundsätzlich die Pro´s oder Contra´s 1 überwiegen - unabhängig von existierenden Sprachen und gängigen Standards.

Wenn wir hier schon dabei sind, seltsam anmutende Kleinigkeiten zu diskutieren (bitte nicht persönlich nehmen, stahli):

Ich würde mir wünschen, dass Leute nicht den Akut (´) als Apostroph (') missbrauchen und von der Unsitte abkommen, Pluralformen mit Apostroph-S zu bilden. Das ist sowohl in der englischen als auch der deutschen Sprache falsch, aber man sieht es in beiden immer wieder, besonders bei Abkürzungen. Es heißt "eine CPU, zwei CPUs" und nicht etwa "zwei CPU's" oder schlimmer noch "zwei CPU´s". :warn:

Wieso sich die Arbeit machen und ein oder zwei Tasten mehr als nötig drücken, um ein Zeichen zu produzieren, das da gar nicht hingehört? Ein Wort wird nicht entstellt wenn ein kleines S direkt angehängt wird. Wie implementation schön in Beitrag #10 gezeigt hat, gibt es Sprachen, die ihre Wörter viel drastischer beugen! So wird z.B. im Kroatischen je nach Deklination aus einer Irena eine Irene und aus einem Branko ein Branka. Also, nur keine Berührungsängste und weg mit den sinnlosen Apostrophen!

Zitat:

Zitat von bernd2015 (Beitrag 1316246)
Fände es SEHR wünschenswert, wenn man sich an Beiträge angehängte Screenshots ohne Anmeldung/Registrierung ansehen könnte!

Das nervt mich bei einigen Foren auch. Soll das Bandbreite sparen, oder Leute zum Registrieren animieren? Vielleicht kann ja der Forenbetreiber etwas dazu sagen.

Zum Thema 0-basiert vs. 1-basiert: ich bevorzuge ersteres. Ist logischer und auch weiter verbreitet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr.
Seite 3 von 8     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz