Also ich glaube (also bin ich) man hat sich irgendwann mal auf den Blödsinn von K&R eingelassen.
daß dies eine Fehlentscheidung war, hat man erst viel zu spät bemerkt und nun muss das natürlich gerechtfertigt werden.
Also wird Gott und die Welt behaupten, das "C" gut ist.
Ich wüste jetzt nicht annähernd, was es in Pascal nicht gab oder gibt was man in C angeblich Hardwarenäher hätte programmieren können.
Ebenso in PLM80, das war auch eine "frühe" Sprache, die ich absolut super fand.
Ich weis aber vieles, was ohne Umwege in Pascal funktioniert, was man dem "C" erstmal mühsam beibringen muss.
Ich will ja auch garnicht darüber entscheiden welche Hochsprache nun gut oder schlecht ist, aber C liegt bei mir jenseits jeder Vernunft.
Das ist jetzt aber kein Angriff, sondern meine völlig private Meinung.
Wie schon gesagt, es ist ja nicht alles schlecht in "C". Man hätte meiner Meinung nach frühzeitig einige Änderungen vollziehen müssen,
das wurde irgendwie versäumt und nun muss man sich halt mit den teilweisen merkwürdigen Gegebenheiten rumschlagen.
ich hasse zum Beispiel solche Aussagen:
Normalerweise, vermutlich, meistens. Abhängig von... Je nachdem...
Das ist für mich Chaos Programmierung.
Und ich find es sehr Schade, daß leider kaum etwas genormt wurde.
Hätte man nicht mal sagen können ein Byte hat generell 8 Bit ein Word hat 16 Bit, ein int hat immer ein Vorzeichen und hat 16 Bit
Ein Bool (TRUE) ist alles was nicht 0 ist. Das wär doch eindeutig gewesen, und andere Sprachen haben diese Festlegung.
Aber nicht nur "C" schafft diese Verwirrungen:
Ein Word in Pascal war immer 16 Bit,
nachdem ich mich mit den Cortex M3 Controllern vergnüge ist ein Word plötzlich 32 Bit. Das führt unweigerlich zu Verwirrungen.
Hätte man doch Doubleword lassen können. Also nicht nur "C" ist nicht eindeutig.
warum muss ich beispielsweise
if (irgenwas == etwas)
in Klammern setzen und warum muss die Abfrage "besonders" gleich sein, also doppelt ==
Oder eine einfache Abfrage
if (blabla)
warum muss ich "blabla" im Klammern setzen ?
Mathematisch völliger Blödsinn. Einen einzelnen Ausdruck in Klammern zu setzen.
Das macht den Code (meiner Meinung nach) nur unnötig unübersichtlich.
warum muss ich was "casten" wenn ich mit 2 gleichen Datentypen arbeite ?
x = ~y;
geht nur wenn x und y ein "int" sind, sonst werd ich angemeckert.
wenn beide ein unsigned short sind, hat der Compiler Probleme ????
Egal wie, man muss halt die "Eigenheiten" der Sprache erlernen. Und das anscheinend immer wieder neu.
Da ist schon sehr Schade. Aber sonst bräuchten wir das Forum hier ja auch nicht
Ich wünsche allen einen Bugfreien Start in die neue Woche.
Siro
Lesezeichen