[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: Programmieren, aber was ?



On Fri, May 09, 2003 at 12:33:28AM +0200, Heiko Schlittermann wrote:
> > zeus:~$ src/scanf
> > 10 20 /* scanf  : hier mit EOF beenden. return tut auch */
> > 20 10 /* printf : hier der output */
> 
> Ich glaube, das war nicht der Punkt. Ursprünglich war sicherlich
> soetwas wie 'getkey()' gemeint, oder?

das probierte ich bereits zu erläutern das das nicht portabel und somit
nicht ANSI/K&R C ist. das ist OS spezifisch und sollte nach möglichkeit
auch von linux codern vermieden werden.

der punkt ist der, dass un*x derivate äusserst simpel im interface sind.
jegliche eigenschaft von ein- und ausgabegeräten wird durch ein klares
interface (die filedeskriptoren) geschichtet. das erlaubt einem,
portablen code zu schreiben und die E/A auf der gerätespezifischen
seite dem OS (das auch !linux sein kann) zu überlassen. dafür fehlen dem
standard jegliche möglichkeiten, hardware über ein interface
anzusprechen. inb() und outb() sind die einzigen möglichkeiten,
geräteregistern abzufragen, aber dann wirds bereits wieder
architekturabhängig.

portabilität ist ein hohes gut in der informatik und hat den preis des
designs. seitdem marketdroiden das sagen haben, weil unwissende nur noch
die E/A sehen ist von design bei den "kaputten fenstern" keine spur mehr
zu sehen (war's ja noch nie, aber das ist ein anderes thema). punkt ist
der, dass schlechtes design zu sicherheitslücken, instabilität,
unportabilität und schlechter interoperabilität führt.

wir sollten mit gutem beispiel vorangehen und grundwerte der informatik
auch heute noch umsetzen. das design von un*x/linux (ich spreche primär
vom interface für die programmierer) ist seit über 30 jahren bewährt und
trotzdem (oder gerade deswegen) stetiger evolution ausgesetzt. es ist
somit ein nachhaltiges system mit dem man lange spass haben und arbeiten
kann, ohne dabei den fortschritt zu verpassen (ganz im gegenteil).

jedes OS hat halt seine kultur. bei windows bestimmen die frevler und
erreicht seinen erfolg mit material- und geldaufwand. bei linux
bestimmen die gläubigen und es erreicht seinen erfolg durch die
gemeinschaft. bei mac bestimmt die kirche und es erreicht seinen erfolg
durch ihre mitglieder. bei BSD bestimmen die weisen und erreicht seinen
erfolg durch klarheit. das ist alles IMHO :)

 - gruss turrican



Reply to: