![]() |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Wenn Du von Gedenktag sprichst, dann ist das ja schon eine Begriffsinterpretation und da möchte ich mal ansetzen. Ich finde bspw. den Ausdruck das "1. Lebensjahr" zu feiern sehr korrekt ( statt den 1. Geburtstag). Gedenktage, da gebe ich Dir Recht, beziehen sich idR auf Ereignisse in der Vergangenheit und können 1 bis N Mal stattfinden, also das 1. Mal z.B. ein Jahr nach dem denkwürdigen Ereignis. Ich feiere aber irgendwie -gefühlt- keinen Gedenktag an meinem Geburtstag. Das machen vielleicht mal irgendwelche Leute, falls ich noch berühmt werde. Ok, ich selbst habe auch am Tag meiner Geburt nicht richtig die Sau rausgelassen, so sagt man. Aber gefeiert wurde schon etwas. Was haben diejenigen also gefeiert? Meinen Geburtstag? Meinen wievielten? P.S. "14 einhalb" ist auch vollkommen richtig, damit habe ich kein Problem, denn hier sind Lebensjahre gemeint. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Der 1. Geburtstag entspricht also dem 1. Jahrgedächtnis Deiner Geburt, der 2. Geburtstag dem 2. Jahrgedächtnis Deiner Geburt... |
AW: Wenn man sich was wünschen dürfte...
Ihr kommt etwas von den eingangs angestellten Überlegungen ab.
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
Wenn Du 256 Einträge in einer Liste speichern willst ist das erste natürlich auch am Speicherplatz[0] zu finden. Aber das heißt ja nicht, dass eine Hochsprache dafür nicht die 1 vorsehen könnte. Der tatsächliche Zugriff muss dann natürlich auf die Speicherstelle[0] erfolgen. Statt
Delphi-Quellcode:
schreibst Du dann halt
for I := 0 to 255
Delphi-Quellcode:
.
for I := 1 to 256
Unterm Strich ändert sich nichts, weil der Maschinencode dann gleich aussieht. Die einzige Frage ist, was für den Menschen das logischere ist. Offenbar gehen die Meinungen da auseinander. Technische Überlegungen wie Binärsystem ab 0 sind aber m.E. kein wirkliches Argument für Listenzähler. Label.Text := 'Text' ist ja auch nichts, was irgendeinen natürlichen Bedzug zum Speicheraufbau hat. Die Entwicklungsumgebung gaukelt uns das nur vor. Hier sagt ja auch niemand: Im Speicher gibt es keine Labels, deshalb sind die nicht sinnvoll. |
AW: Wenn man sich was wünschen dürfte...
Luckies Beitrag nicht gesehen. :shock:
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Da es ja um quasi philosophische Überlegungen geht:
Offensichtlich hängt doch der sinnvolle Index von den Daten ab, die verwaltet werden. Wenn ich ein array von Farbintensitäten haben, formulieren ich irgendetwas wie
Delphi-Quellcode:
. Nicht umsonst wurde die Wahl des Index bei statischen Arrays dem Programmierer überlassen. Den Rest hat der Compiler erledigt. Bei den dynamischen Arrays wollte man sich diesen Aufwand sparen und hat sie schlicht als 0-Basiert definiert. Aus meiner Sicht wäre es konsequent gewesen, wenn man den Basiswert auch bei dynamischen Arrays umgesetzt hätte.
Farbwerte: array [Farben] of Integer
Wäre es nicht eigentlich viel besser, gleich auf arrays zu verzichten und diese statt dessen als Listen-Objekte zu implementieren? Und brauche ich dann Strings (AnsiStrings sind ja eh schon gestorben)? Sollte nicht einfach alles ein Objekt sein? |
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Delphi sollte sich wie alle anderen Sprachen verhalten. Und dort wird nun mal 0-indiziert. Fände ich auch bei den Strings besser, weil konsistenter für Leute wie mich, die am Tag in drei verschiedenen Sprachen programmieren.
Referenzen und "echte" Variablen wird man auch nicht ändern könne, ohne einen Haufen Programme zu zerlegen. Ersetzen von Variablen in Strings ist durchaus eine nette Sache. Kann aber natürlich auch dazu führen, dass es wie in PHP z.B. einen Unterschied macht, ob man seine Strings in " oder ' einfasst. Auch nicht gerade anfängerfreundlich |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Ich weiß, dass das gerade nur auf die Arrayindizes bezogen war, aber wenn man das für einen Punkt anwendet, fordert man es schnell auch im Allgemeinen, in jeder Frage. Deswegen gehört der Gedankengang m.E. schon vorher in die Mülltonne. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Zitat:
Zitat:
Wenn man eine moderne Lehrsprache sehen möchte, muss man sich Python anschauen: Interpreter, geringe Einstiegsschwelle, klare Syntax, große Ausdruckskraft für Algorithmen; aber auch Anwendbarkeit in der echten Welt. Ich halte es für schwierig (gerade für eine Einstiegssprache) Konzepte wie 1-basierte Arrays einzuführen, die es dann erschweren andere Konzept (Zeigerarithmetik, usw.) zu verstehen. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Klar, man kann darüber streiten, weshalb man einen Unterschied in der Zuweisung machen sollte, je nachdem, ob es sich um einen Basistypen (oder Systemtypen oder wie auch immer) handelt, oder nicht. Bei den einschlägigen Basisfunktionen sollte jedoch Einigkeit herrschen, zumal eine Indizierung mit 1 nun auch keine fundamentale Funktionsverbesserung mit sich bringt. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Mir persönlich geht die komplette Index-Diskussion aber an der eigentlichen Problematik vorbei. Ich persönlich will eine Programmiersprache (und zumindest das gibt es auch schon zu genüge), die expressiv genug ist, dass ich mir um Indexe keine Gedanken mehr machen muss. Denn in 99,97% der Anwendungsfälle braucht man den Index nicht wirklich, sondern als Hilfsmittel, um auf bestimmte Elemente zuzugreifen. Das kann ich mit foreach, map, ... aber genausogut ohne Index, weniger fehleranfällig, und besser lesbar. My 2 Cents zum Thema Indizes :stupid: |
AW: Wenn man sich was wünschen dürfte...
Als Lehrsprache wird auch oft Ruby verwendet. Das ist am Anfang etwas gewöhnungsbedürftig, aber geht dann ganz gut, wenn man die Grundidee mal verstanden hat.
Unterschiedliche Sprachen haben immer unterschiedliche Feature-Sets. Aber es gibt ein Minimum an Grundkonzepten, die alle haben. Ich würde die Sprachen eher in Klassen einteilen. Und wenn man sich nun mal innerhalb einer Sprachklasse (z.B. Desktop-Entwicklung) umschaut, dann bieten fast alle Sprachen ähnliche Features, was ich persönlich auch gut finde. |
AW: Wenn man sich was wünschen dürfte...
Wo soll dieser Thread jetzt hinführen? "Was ich mir wünsche."? "Wie es perfekt für mich wäre."? "Last uns mal träumen."?
Lange Zeit wurde Basic ja als Lehrsprache gehandelt, weil sie auch ursprünglich dazu erfunden wurde. Was braucht eine Lehrsprache heutzutage? Schleifen (for, while, ...), Verzweigungen (if, case, switch, ...), Klassen und Objekte. Ist Pointer Arithmetik noch zeitgemäßes? Wie viel muss ich intern wissen, um das Grundverständnis zu bekommen? Stichwort rückwärts laufende for-Schleifen wegen der Maschinensprachen Optimierung? (Prüfen, ob ein Register null ist, ist einfache als eine Überprüfung auf einen bestimmten Wert.) Nebenbei sei diese komische Schildkröte erwähnt, die man über den Bildschirm hat laufen lassen. :mrgreen: Ich habe mit nullbasierenden Arrays kein Problem, weil ich es gewohnt bin. Ist nun mal so. Basta. Neulingen wird es etwas "strange" anmuten. Man fängt ja auch mit eins anzuzählen. Aber Maschinen arbeiten eben etwas anders intern. Mit eins funktioniert die Poinerarethmetik nicht mehr. Ein Zugeständnis an die Mathematik hat Delphi ja schon gemacht. Der Zuweisungsoperator. In Delphi := in C =. = ist mathematisch unlogisch. a = 2 ist unlogisch. a ist ja erst nach der Zuweisung 2. Und == als Vergleich ist eine Krücke, um die Unzulänglichkeit auszubügeln. Also was fordert ihr jetzt eigentlich hier? |
AW: Wenn man sich was wünschen dürfte...
Hallo,
bei Benutzung von Low und High kann doch jeder seinen Startindex wählen, wie er möchte ... PS: Ich bin für 0 :) Heiko |
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
Ich betrachte das auch eher mit Distanz. Vielleicht hilft ja eine Kellerabteilung, wo das richtig böse Werkzeug liegt, Schraubenzieher für Pointer usw. Es ist auch eine Frage des Bereichs. Grafikschine ist immer an der Kante, während DB basierte Systeme da ganz anders ticken. Die Schildkröte war cool, damals, fand ich, wenn sie (endlich) über die Mauern liefer und recursiv wieder zurück. |
AW: Wenn man sich was wünschen dürfte...
Freak. Ich war glücklich, wenn sie das "Haus des Nikolaus" gezeichnet hat.
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
Das war unser Lehrer schuld (der war echt gut, damals schon). Ich wäre niemals auf die Idee gekommen, das sei ein Scheixx geht. Aber das sind wir ja wieder beim Thema Träumen bzw. wünschen... |
AW: Wenn man sich was wünschen dürfte...
Mit Nullbasierten Listen habe ich kein Problem. @Sir Rufo erlärt das gut mit dem Geburtsproblem.
Wenn ich auf dem Bildschirm die X;Y Position adressieren will, mache ich das oft mit: Line := Abslute_Position div XResolution; Column := Abslute_Position mod XResolution; Das klappt aber nur, wenn das erste Pixel des Bildschirmes an Position NULL liegt. Jemans schrieb, das ein Byte 256 Werte annehmen kann, was nur geht, wenn die NULL berücksichtigt wird. Zitat:
Ich wüchsche mir vielmehr einen Compiler, der die Initialisierung und Freigabe der verwendeten Objekte automatisiert. Ich habe sehr oft EAccessViolations. Weil wohl irgendein Objekt nicht korrekt erzeigt worden ist. Dann geht die frustrierende Fehlersuche los. Die Prozessoeren werden immer leistungsfähiger, da könnte doch der Compiler Konstruktorcode und Destruktorcode automatisch einfügen. Für Abwärtskompatibilität könnte der im Quellcode formulierte Konstruktor und Destruktor noch zugelassen werden, fehlt das jedoch in der Klassendefinition muss der Compiler den passenden Code dafür erzeugen. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
Viele Sprachen (gerade junge) gehen ja stark in die Richtung. C# und Java machen es ja vor, da gibt es einen Garbage Collector. In Rust prüft (meines Wissens) der Compiler statisch (also beim compilieren) ob es sein könnte, dass du auf ein freigegebenes Objekt zugreift. Falls das sein kann, compiliert das Programm nicht. Manche beschweren sich, dass moderne Programme immer mehr Bloatware sind, aber zu einem Teil ist das einfach nur ein Tradeoff von "Entwicklerzeit/kosten" gegen Laufzeitperformance/Größe. Und bei modernen CPUs finde ich, darf man den Kompromiss auch graduell Richtung Reduktion der Entwicklungszeit steuern. Leider ist es sehr schwierig, eine Sprache, die von jeher auf manuelle Speicherverwaltung setzt, auf automatische Speicherverwaltung zu ändern. Sieht man ja bei C++ und den neuen Smart Pointern: ![]() |
AW: Wenn man sich was wünschen dürfte...
Garbage Collector. :wink: Ein Garage Collector wäre ein Autowerkstatt Sammler.
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Was hat dein Beitrag über die deutsch-englischen Bgerifflichkeiten mit dem Thema zu tun?
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Und das soll die Produktivität erhöhen ? Ich habe doch da alles geschrieben. Und nochwas : es gibt hier Leute, die extra betonen, wenig oder gar kein Englisch zu können. Na und ? Oder ist das jetzt Pflicht ? Sollen die nichts mehr verstehen, keine Fragen / Antworten lesen können oder was ? :shock: Das Denglisch ist eine Katastrophe. Schlimm, wenn dieses Wischiwaschi so weitergeht. Or shall it happens ? Der ein oder andere wird sich jetzt wohl fragen, was der letzte Satz heisst. Scheint so sein zu müssen.
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Ah ja, das kann tatsächlich so sein. :lol: Aber ich sag ja : deutsch reden in D. Der Rest macht keinen Sinn. Man redet nur aneinander vorbei oder irritiert unnötigerweise. Was soll daran gut sein ? Gut, man kann Google etwas unterstützen, die haben es ja nötig.Warum sagt man nicht einfach "unnötig aufgeblähtes Programm" ? Nein, es muss wohl "Bloatware" sein, um sich wohl wichtiger zu machen, als man ist. Nicht vorhandenes Wissen vorzugaukeln usw. Das ist ja für jfheins nicht so schlimm (auch nicht persönlich gemeint), allerdings : man muss sich hier wohl immer wiederholen, es ist kontraproduktiv.
|
AW: Wenn man sich was wünschen dürfte...
"Englisch wird die Arbeitssprache" (Günther Oettinger) :lol:
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
Meine Devise ist: Nur anhand dem Müll, den ich aufräume (free), sehe ich welchen Müll ich überhaupt produziere (create). An ARC, GarbageCollector und Konsorten kann ich mich nicht wirklich gewöhnen. Ich hätte aber eine andere Idee. Schön wäre es, wenn der Compiler es hinkriegen würde, den Pointer eines freigegebenen Objektes so lange nicht neu zu belegen, bis es keine Referenz mehr auf diesen Pointer gibt. Ein free sollte den Pointer mit der Adresse eines TDestroyedObject belegen, der dann eine "schöne Exception" erzeugt und keine nichtssagende Schmutzverletzung. Ein Zugriff auf NIL sollte auch mit einer besseren Fehlermeldung belegt werden. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
AW: Wenn man sich was wünschen dürfte...
Zitat:
PS: Wenn der Compiler schon Referenzzählung integriert, dann kann er die Objekte auch gleich selbst freigeben. Genau das passiert bei Interfaces und unter Android. Und bei anderen Sprachen. Allerdings entbindet dich die automatische Freigabe nicht von sorgfältigem Design. Es reicht schon, wenn zwei ansonsten nicht mehr verwendete Objekte noch Verweise auf das jeweils andere haben. |
AW: Wenn man sich was wünschen dürfte...
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
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