mse hat geschrieben: ein sicheres "with" Statement ist nicht aufsehenerregend genug um implementiert zu werden
"nicht aufsehenerregend" ist schon richtig, aber der Aufwand, um das umzusetzen, wäre minimal, und zwar noch um einiges geringer als das wenige Aufsehen.
Die Frage ist zwar off topic, aber was du gegen Generics einzuwenden hast, erschließt sich mir auch nicht. Ich bin der Meinung, dass eine Programmiersprache dem Programmierer seine Arbeit so einfach wie möglich machen sollte, ein sicheres with-Statement trägt dazu genau so bei, wie Generics dazu beitragen.
m.fuchs hat geschrieben:Und deswegen widerspreche ich dir: es ist eben häufig der Fall, dass eine kurze Prozedur/Funktion auch lesbarer ist.
Das habe ich nicht bestritten. Aber es ist auch häufig der Fall, dass das Auslagern von Programmzeilen in Unterprogramme nichts zur Lesbarkeit beiträgt.
m.fuchs hat geschrieben:Wie gesagt: heutzutage wird objektorientiert entwickelt.
Ja. Man kann es aber auch übertreiben.
m.fuchs hat geschrieben:Ich habe noch immer nicht verstanden was der Vorteil sein soll, das reicht mir erst mal als Gegenargument.
Wenn du nicht verstehst, worin der Vorteil besteht, aus einem unsicheren Sprachkonstrukt ein sicheres zu machen (statt zu sagen: das Konstrukt gibt es, aber verwendet es bitte nicht), kann ich dir nicht helfen.
m.fuchs hat geschrieben:Wenn eine Verbesserung des with-Blocks nötig ist, würde ich einfach folgendes vorschlagen: ...
With Blöcke können verschachtelt sein und es können in einem with-Statement mehrere Objekte angesprochen werden: "with Object1, Object2 do ...". Da bleibt der Code dann genauso schlecht lesbar wie jetzt, und vor allem ist es dann immer noch möglich, dass eine Typveränderung an einer anderen Stelle im Programm das Verhalten des with-Blocks unbemerkt verändert..
m.fuchs hat geschrieben:Es gibt übrigens auch Goto in Pascal. Nimmt ja auch kein geistig gesunder Mensch mehr heutzutage.
Es scheint eine Manie von dir zu sein, mit Beleidigungen herum zu werfen. Manchmal (selten, aber eben doch in manchen Sonderfällen) ist ein goto deutlich lesbarer als abenteuerliche Konstrukte mit unnötigen boolean Variablen, die kreuz und quer gesetzt und abgefragt werden - speziell wenn man verschachtelte Schleifen verlassen muss.
m.fuchs hat geschrieben:Für deinen zweiten Vorschlag Zuweisungen in Teilexpressions habe ich nicht einmal eine Alternativlösung. Das ist einfach nur unleserlich und bringt überhaupt keine Vorteile.
Es bringt in manchen Fällen deutlich kompakteren Code (siehe das while Beispiel im Eingangspost). Und was soll daran unleserlich sein?
marcov hat geschrieben:Ich bin es darüber noch immer mit mein Professor einig; man darf goto nutzen, man muss nur ein 1 A4 Seite Aufsatz über warum es unbedingt nötig ist schreiben.
Unbedingt nötig ist es nie, aber es gibt Fälle, in denen es besser (also kürzer und besser lesbar) ist als alle goto-freien Alternativen.