🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: ch.comp
Article #86602

Re: Programmiersprache f�r Kinder

#86602
From: Christoph Nadig
Date: Thu, 20 Mar 1997 00:00
97 lines
4279 bytes
In article <33302658.6C6A9E07@etter.ch> Jonathan wrote:

>
>>Natuerlich stoesst Du an Grenzen, und das ist sogar sehr sinnvoll, wenn es
>>darum geht, programmieren zu lernen. Man soll ja nicht alles duerfen,sondern
>>Dinge in einer suaberen, ueberdachten Weise implementieren. Sobald Du das
>
>Jup. Aber alles statisch zu definieren ist meiner Meinung nach nicht 
>sauberer.

Halt. Es existieren durchaus dynamische Datenstrukturen in Pascal, aber eben
sauber implementiert und soweit moelgich von der Maschine kontrolliert.

>> Du wirst auch mit C an irgendwelche Grenzen kommen, glaub mir...
>
>Bis jetzt hab ich sie nicht erreicht... 

OOP?

>>Falsch. Was den Unterschied ausmacht, ist die Semantik (Type/range/parameter
>>checking, Pointer (ev. mit GC)). Und genau hier werden Fehler gemacht,
>>insbesondere waehrend des Lernens. Die Syntax wird waehrend des Compilierens
>>ueberprueft und hat keinerlei Einfluss auf das Laufzeitverhalten.
>
>Jein.. Je nach Compiler. Momentan arbeite ich mit GCC, und der ist
>relativ
>paranoid. Was unter Turbo-C moeglich war kreidet mir der GCC an und
>fuehrt
>zu einem "Memory error". Er forciert dass ich sauber programmiere.

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.

Pointerarithmetik ist ganz abgesehen davon absolut unnoetig. Ein
guter Compiler weiss sehr gut mit indizierten Zugriffen effizient
zurechtzukommen

>Zum Beispiel die Sache mit dem Array. Arrays sind in Pascal nicht 
>abgeschlossen, es ist also nur an der groesse des Arrays zu erkennen
>wie lang die daten darin sind. Das fuehrt unter anderem dazu, dass
>pascal jede Array-Laenge als unterschiedlichen Datentyp behandelt.
>Ich kann einen Array, der 10 Zeichen lang ist, nicht nur mit neun
>Zeichen fuellen, und vorallem diesen 10 Zeichen langen Array nicht mit
>einem Array der neun Zeichen lang ist vergleichen. Das IST eine
>miskonzeption.

Ich bin sicher, Du wolltest Strings sagen.
Die gibts in Pascal in reiner Form nicht, und das mag man als Misskonzeption
anschauen. In Turbo Pascal gibt es sie aber und dort sind sie auch recht
huebsch implementiert (ditto fuer z.B. Oberon, Ada etc.)

In C gibt es Strings nur beschraenkt, und Operation darauf gar nicht.

>> Sollte man dann mit Pascal an die zweifelslos vorhandenen Grenzen stossen,
>> gibt es genug darauf aufbauende Alternativen mit virtuell keinen Grenzen
>> mehr (Modula-2, Oberon, Ada).
>
>Hahaha! Diese Wirth-Sprachen waren fuer mich ein Grund mit dem 
>ETH-Informatikstudium aufzuhoeren! Ceres mit dem Single-Tasking
>Netzwerk...
>tsktsk...

Du haettest vielleicht gut daran getan, es nicht abzubrechen...

>Und Ada laesst sich wohl nicht umbedingt damit vergleichen.

Wieso nicht?

Gruss, Christoph

--
Kleiner Anhang: Miskonzeptionen von C (nicht vollstaendig)

- Vorzeichenbehaftigkeit von chars nicht definiert
- export ist default-behaviour, statt private (static)
- pointerarithmetik
- float existiert nicht wirklich
- Funktionsrueckgabe default als int
- leere Expressions: vgl. for(;;) / if()
- garbage collection unmoeglich!
- missing return in non-void functions
- goto!
- unions (fehlendes tag-field)
- A[i] und i[A] gleichwertig  (z.B. int i; char A[..])
- Funktionsrueckgabe default als int.
- freies Pointerkonzept erschweren bzw. verunmoeglichen gewisse Optimierungen
- typechecking, range checking, nil-pointer checking etc.

Das sind, wie gesagt nur einige, die aber gerade dem Neuling sehr grosse
Schwierigkeiten bereiten koennen.

-- 
--
chrnadig@iiic.ethz.ch
Technical Details
Message-ID: <5gqspo$82g@raf34.iiic.ethz.ch>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <331D119C.3EBB@energie.ch> <332F1F29.14675B7A@etter.ch> <5gom0l$6up@raf34.iiic.ethz.ch> <33302658.6C6A9E07@etter.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/20
Message-ID: <5gqspo$82g@raf34.iiic.ethz.ch>
X-Deja-AN: 226929124
References: <331D119C.3EBB@energie.ch> <332F1F29.14675B7A@etter.ch> <5gom0l$6up@raf34.iiic.ethz.ch> <33302658.6C6A9E07@etter.ch>
Organization: Dept. Informatik, Swiss Federal Institute of Technology
Newsgroups: ch.comp