Der Martin: WARNUNG: C NICHT verwenden! Gefährlich! *grins*

Beitrag lesen

Hi,

»» Nicht unbedingt. Pascal ist zwar syntaktisch strenger als C - aber man kann auch in Pascal Unsinn treiben, wenn man nicht aufpasst.
Eigentlich nur dann, wenn man es bewusst darauf anlegt.

nein, in dem Moment, wo man Betriebssystemfunktionen aufruft und damit die Kontrolle aus der Hand gibt, ist alles möglich - dann ist die Wahl der Programmiersprache unerheblich.

»» Davon abgesehen ... mir persönlich ist Pascal zu, ähm, spießig. ;-)
Eben deshalb ist es in Pascal und vielen seiner Derivaten nicht möglich, unbewusst Blödsinn anzustellen.

Ja, aber es wird einem auch erschwert, *bewusst* elegant-einfachen Code zu schreiben, selbst *wenn* man weiß, was man tut bzw. tun möchte. Mit Pascal bewegt man sich quasi auf dem Level "Englisch, fünfte Klasse", während man eigentlich fließend sprechen könnte, wenn man nur dürfte.

Schneller sind die Pascal Derivat deshalb, weil ihre IDEs und Compiler gezielt auf die Plattformen abgestimmt sind, auf denen die Programme später laufen sollen.

Das ist bei den C-Compilern teils auch so: Der Borland C-Compiler produziert vorbildlichen Code, an dem ich nur selten "von Hand" noch weitere Optimierungen vornehmen kann. Compiler, die von Haus aus plattformunabhängig sein wollen, schaffen das natürlich nicht in dem Maß.

Alleine die Tatsache, dass weder C noch C++ einen Überlauf auf einem 80x86 nutzbar machen, ist doch schon abschreckend genug.

Meinst du die Verwendung der BOUND-Anweisung[*]? Tja, die ist ja auch in der Realität problematisch, da die Unter- und Obergrenze für den Index erst ermittelt werden muss, und diese Grenzen (vor allem die Obergrenze, da die Untergrenze von pfiffigen Programmierern meist auf 0 normiert wird) als Absolutwerte bekannt sein müssen. Oft ergeben sie sich aber nur aus anderen Strukturen. Der Aufwand, diese Werte zu berechnen und dann eine BOUND-Anweisung zu verwenden, ist mindestens ebenso groß, wie die Indexwerte direkt abzuprüfen, was die BOUND-Anweisung per se zur Totgeburt erklärt. Dass manche Programmierer die Überprüfung aus Bequemlichkeit ganz weglassen, ist eine andere Geschichte.

Ciao,
 Martin

[*] Die Schwierigkeit, einen aussagekräftigen Online-Beitrag über die BOUND-Anweisung zu finden, zeigt eindrucksvoll, wie wenig diese Möglichkeit wohl genutzt wird.

--
Drei Sachen vergesse ich immer wieder: Telefonnummern, Geburtstage und ... äääh ...