Article View: ch.comp
Article #86537Re: Programmiersprache f�r Kinder
From: Christoph Nadig
Date: Fri, 21 Mar 1997 00:00
Date: Fri, 21 Mar 1997 00:00
71 lines
3556 bytes
3556 bytes
In article <5gtrht$fnv$5@elna.ethz.ch>, Felix Rauch <felix@nice.usergroup.ethz.ch> wrote: >Christoph Nadig (chrnadig@iiic.ethz.ch) wrote: >> Wieder falsch. Durch Pointerarithmetik bedingt, koennen in C viele >> Fehlverhalten nicht detektiert werden. >> Solange ich also irgend einen Pointer willkuerlich irgendwohin zeigen >> lassen kann, kannst Du nicht von sauberer Programmierung sprechen. > >Wie hiess es schon in der Bibel: "Herr vergib ihnen, denn sie wissen >nicht, was sie tun". Wenn Du in C weisst, was du tust, kannst Du sehr >vieles machen. Du kannst es aber auch sauberer machen. Nur: a) solange ich es wirklich weiss, ist das ja kein Problem. Nur hat man meistens bloss das Gefuehl, es zu wissen. Und da ist es doch nur von Vorteil, wenn einem die Maschine entgegenkommt und soviel tut, wie sie kann, oder? b) in anderen Sprachen kann ich genauso viel tun, aber eben nur sauber. Und dann eben mit der bestmoeglichen Unterstuetzung der Maschine >In Oberon >wusste ich zwar manchmal, was ich gern tun moechte, aber es war >ein richtiger Kampf, dem Compiler das einzutrichtern. Das scheint eher darin begruended, dass Du zuwenig geuebt bist in Oberon als an der Sprache (das ist kein Flame!) >Du _musst_ in C nicht unsauber programmieren, aber Du _kannst_. Nur braucht es Disziplin, immer sauber zu programmieren. Und oft nimmt man den unsauberen Weg, weil er ganz einfach schneller und einfacher ist. Deshalb kann es nicht schaden, eine saubere Programmiersprache zu waehlen, um das Programmieren zu erlernen. Und: Es gibt Sachen, die sind in C einfahc nicht sauber zu realisieren, z.B. dynamische Datenstrukturen. Das beginnt beim Typecast vor dem malloc() >> - float existiert nicht wirklich >Da ist mir nicht ganz klar, was Du meinst. Es gibt doch den Typ >"float"? Laut K&R ist float ein reiner Speichertyp, d.h. es existieren keine Operationen darauf. Fuer den Compiler ist es mandatory, floats in doubles zu wandeln vor jeder Operation und nachher wieder zurueck. Wer also meint, mit float hoeheren Durchsatz zu erzielen, weil ja schliesslich kleiner, ist ganz falsch gewickelt. Das meine ich mit "nicht wirklich" existieren. Das ist wahrscheinlich ein Artefakt aus aelteren Zeiten, wo Speicher teuer war... >> - goto! > >Saubere Programmierung kommt meist ohne goto aus. Aber falls Du es >wirklich mal brauchst, so kannst Du es auch benutzen. Oberon haelt es >da mehr wie Blocher: "Nein, das machen wir nicht!". Werd' nicht politisch :-) Die Idee war, dass ein Anfaenger schon gar nicht in Versuchung kommen sollte, es zu brauchen, und deshlab ist es nicht schlecht, wenns gar nicht geht. Man soll mich hier bitte nicht falsch verstehen. Ich verwende selbst zu sicher 80% C aus verschiedenen Gruenden, aber ganz sicher nicht, weil es geeignet ist. Und die urspruengliche Frage drehte sich um einen elfjaehrigen Anfaenger, und da ist C einfach ganz schlichtweg das falsche. Gruss, Christoph -- -- chrnadig@iiic.ethz.ch
Technical Details
Message-ID:
<5gu917$a1e@raf34.iiic.ethz.ch>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<331D119C.3EBB@energie.ch> <33302658.6C6A9E07@etter.ch> <5gqspo$82g@raf34.iiic.ethz.ch> <5gtrht$fnv$5@elna.ethz.ch>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit X-Google-Thread: 10c1fa,537a61ae0658f396 X-Google-Attributes: gid10c1fa,public From: chrnadig@iiic.ethz.ch (Christoph Nadig) Subject: Re: Programmiersprache f�r Kinder Date: 1997/03/21 Message-ID: <5gu917$a1e@raf34.iiic.ethz.ch> X-Deja-AN: 227290892 References: <331D119C.3EBB@energie.ch> <33302658.6C6A9E07@etter.ch> <5gqspo$82g@raf34.iiic.ethz.ch> <5gtrht$fnv$5@elna.ethz.ch> Organization: Dept. Informatik, Swiss Federal Institute of Technology Newsgroups: ch.comp