🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: ch.comp
Article #86537

Re: Programmiersprache f�r Kinder

#86537
From: Christoph Nadig
Date: Fri, 21 Mar 1997 00:00
71 lines
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-mail
References: <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