AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wenn man sich was wünschen dürfte...

Wenn man sich was wünschen dürfte...

Ein Thema von stahli · begonnen am 17. Sep 2015 · letzter Beitrag vom 24. Sep 2015
Antwort Antwort
Seite 3 von 8     123 45     Letzte » 
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
1.874 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#21

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

  Alt 18. Sep 2015, 12:18
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.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

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

  Alt 18. Sep 2015, 12:21
Mir ist schon klar WARUM das funktioniert.
Und es verletzt auch nicht die Regel bei 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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#23

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

  Alt 18. Sep 2015, 12:30
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

procedure Foo(out A: Typ);
  Mit Zitat antworten Zitat
bernd2015
(Gast)

n/a Beiträge
 
#24

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

  Alt 18. Sep 2015, 12:54
Fände es SEHR wünschenswert, wenn man sich an Beiträge angehängte Screenshots ohne Anmeldung/Registrierung ansehen könnte!
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
3.696 Beiträge
 
Delphi XE3 Ultimate
 
#25

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

  Alt 18. Sep 2015, 12:57
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.


@Bernd2015
Also es ging schon um Sprachkonstrukte in der Programmierung.
ALLE DENKBAREN Wünsche können in dem Thread hier nicht erfüllt werden.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (18. Sep 2015 um 13:01 Uhr)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#26

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

  Alt 18. Sep 2015, 17:48
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.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
3.531 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#27

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

  Alt 18. Sep 2015, 17:52
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

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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (18. Sep 2015 um 17:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
3.696 Beiträge
 
Delphi XE3 Ultimate
 
#28

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

  Alt 18. Sep 2015, 18:11
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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
3.531 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#29

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

  Alt 18. Sep 2015, 18:30
Beide Alternativen sind gleich blöd. Aber vielleicht ist zero based auch besser?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (18. Sep 2015 um 18:34 Uhr)
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#30

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

  Alt 18. Sep 2015, 20:23
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".

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!

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.

Geändert von SMO (18. Sep 2015 um 20:28 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf