[linux-l] Designfrage bzgl. Deckverwaltung

Steffen Dettmer steffen at dett.de
Fr Nov 25 16:27:12 CET 2005


* Frank Reker wrote on Tue, Nov 15, 2005 at 19:12 +0100:
> Am Mon 14. Nov 2005 23:32 +0000 schrieb Steffen Dettmer:
> 
> >* Frank Reker wrote on Thu, Nov 10, 2005 at 12:01 +0100:
> >[zweite Mail]
> >> for (int i=Name1; i<count_E; ++i) ...
> >> funktioniert auch ohne cast!
> >
> >Scheisse, tatsächlich, welch ein Bug!
> 
> feature - nicht bug!

IMHO ein Bug: untergräbt das Typkonzept, was ja ohnehin nicht perfekt
ist ;) Aber natürlich auch Geschmackssache.

> >Eben, und daher kann man mit enums nicht rechnen. Macht ja auch keinen
> >Sinn: "for (farbe = rot; farbe <= gelb; farbe++)" oder was?
> 
> warum soll das keinen sinn machen. ab und an muss man eben ueber enums
> iterieren. 

Weil "apfel++" halt Blödsinn ist. Wenn es ein int ist, kann man ja einen
int nehmen. Na egal.

> extra funktionen zum iterieren zu schreiben ist unnoetiger
> overhead. und selbst wenn, wird man intern doch wieder zu integer
> arithmetik greifen. aussnahme waere, wenn die enums eben nicht in
> numerischer folge auftreten, dann muss man eben ein mega switch machen,
> aber aeusserst unschoen.

Wer unterstellt denn, dass Äpfel und Birnen überhaupt eine "numerische
Reihenfolge" haben? Vielleicht sind meine enums nichtmal in einer
Halbordnung!

> >Schade, dann man in C++ so Äpfel und Biernen vergleichen kann, wenn man
> >sie über for iteriert.
> 
> im endeffekt sind enums immer noch ints mit namen anstatt nummern.
> warum sollte man das nicht ausnutzen koennen, wuerde mich arg nerven.

jajaja, im Endeffekt sind alles CPU DWORDs, schon klar :-)

> das fuehrt aber nicht zum ziel ;-))
> 
> 
> >Aber wir waren ja bei C++ :-)
> 
> casts sind auch C++. 

Wenn (const unsigned char*)"hallo" C++ ist, ist es Inline-Assembler auch
;)

> oder willst du mit gewalt alles in objekte pressen
> alla java? - imho ein aeusserst schlechter programmierstil. wo oop sinn
> macht ok, wo nicht, da nicht.

Ja, seh ich auch so, aber ein paar Typen machen schon Sinn, finde ich,
muss ja nicht gleich wie in Ada sein ;)

> ich war auch mal begeisterter oop programmierer. die erfahrung hat mich
> gelehrt moeglichst "flat" zu programmieren. wo verebung, abstrakte
> klassen, polymorphie, funktionsueberladung, ... sinn machen - ok.
> aber nicht alles unnoetig aufblaehen. ist mehr programmieraufwand,
> aufwendiger zu debuggen, schwieriger zu lesen, und inperformanter.

Ja, vor allem lieber leistungsfähige Datenstrukturen und einfachen Code.
Ein prozedurales Problem ist halt ein prozedurales solches, seh ich auch
so :)

> no, in der vergangenheit hab ich auch wo's ging referenzen benutzt.
> nur dann passiert's, dass man einen wert uebergibt, und gar nicht
> beachtet, dass der wert ja evtl. veraendert werden kann, da es eine
> referenz ist. 

Erstens ist das mit Zeigern genauso, und zweitens schreibt man an const
halt const ran :-) 

> ganz schlimm ist es dann solche fehler in fremden
> programmen zu finden.
> wer einmal fremde programme debugt hat, der wird referenzen verfluchen.

Ersteres hab ich oft, zweiteres nicht :-)

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.



Mehr Informationen über die Mailingliste linux-l