019
05.05.2004, 12:07 Uhr
0xdeadbeef
Gott (Operator)
|
Also, was Sauberkeit angeht, ist das natürlich ein Stück weit Geschmackssache. C ist an sich nicht "unsauber", allerdings ist es mit ziemlichem Aufwand und einigen etwas dreckigeren Tricks verbunden, modernere Paradigmen wie OOP umzusetzen. Trotzdem ist neuerer C-Code meistens so geschrieben, dass er OOP emuliert, und das sieht dann mitunter sehr dreckig aus.
Das liegt natürlich daran, dass diese Paradigmen zum Teil erst lange nach der Entwicklung von C entstanden sind. Ich würde nicht so weit gehen, C als völlig veraltet zu bezeichnen, aber ein bisschen geht es in diese Richtung.
Was gefährlich ist, ist, erst C und dann C++ zu lernen. C++ ist nämlich entgegen der landläufigen Meinung keine einfache Erweiterung von C, sondern eine eingenständige Sprache, die völlig anders funktioniert. Dass C-Code meistens auch gültiger (wenn auch sehr widerlicher) C++-Code ist, hat historische Gründe - aber guter C++-Code hat mit C nur noch sehr wenig gemeinsam. Ich habe auch zuerst C und dann C++ gelernt, und Junge, was hab ich da für Mist produziert.
Als Einsteigerprogrammiersprache würde ich heute Java empfehlen. OOP ist gerade in, und Java ist eine recht einfache und gut durchgestylte objektorientierte Sprache. Allerdings würde ich dann nach einer Weile auf C++ umsteigen, weil Java einige Haken und Ösen hat, wo für den Programmierkomfort Ausnahmeregelungen eingeführt wurden, die nur so semieinsichtig sind. Zum Beispiel ist Operatorüberladung nicht möglich, aber die komplexe Klasse String kann trotzdem per '+' verbunden werden, und welche Throwables man jetzt per throws deklarieren muss und welche nicht ist auch ein bisschen verworren. Ansonsten wären als Einsteigersprachen auch noch Python und Smalltalk denkbar, wobei Smalltalk zwar den Vorteil hat, dass es die Inkarnation der OOP ist, aber den Nachteil, dass du es nachher kaum praktisch einsetzen können wirst. Smalltalk ist ne unglaublich schöne Sprache, aber zu nichts zu gebrauchen. In dieser Beziehung ähnelt sie Pascal. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |