asdfman schrieb:
Warum sagst du denn erst, OOP sei die Lösung für alle Probleme der Welt und meinst dann ja gut man sollte doch das passende Mittel nehmen. Widersprichst dir hier ein wenig. Ich sagte nie, C sei die Antwort auf all unsere Gebete. Nur, dass zu behaupten, es sei ein Rückschritt, wenn die Entwickler einer Sprache keine OOP auf dem Schirm hatten zeigt, dass man einen begrenzten Horizont hat.
Ich hab nie gesagt, dass OOP die Lösung aller Probleme ist, nur dass es eben meist die angenehmste Herangehensweise ist.
Es ist z.B. schön, dass man gewisse Probleme in Sprachen wie Prolog wirklich leicht lösen kann, nur bringt einem das nix, wenn das Programm am Ende auf einer bestimmten Plattform laufen soll. Über eine Schnittstelle kann man vielleicht mal Code anderer Sprachen mit verwenden, aber das Drumrum will auch geschrieben werden, und das macht sich evtl. OO eben besser.
Mal ist OOP besser, mal ist funktioiale Programmierung besser, mal dies, mal das. Und viele verschiedene Ansätze kennen zu lernen bedeutet keinen Rückschritt, sondern im Gegenteil eine immense Erweiterung seiner Fähigkeiten.
Und? Muss ich in PHP, Java, C++, JS oder Delphi alles objektorientiert lösen? Nö, muss ich nicht. Es ist aber gut, dass man es nutzen kann. Angenommen, man fängt mit Java an, dann gewöhnt man sich irgendwann an OOP.
Also: Lernt C, lernt Lisp, lernt alles was sinnvoll ist. Man kann eigentlich nie genug gelernt haben.
Ja, aber irgendwo musst du ANFANGEN! Und genau darum geht es doch. Womit fang ich an?
Warum sollte ich in Lisp, Haskell oder Prolog anfangen? Das sind tolle und mächtige Sprachen, nur ist das Konzept Lichtjahre von den Konzepten entfernt, die in den "üblichen Verdächtigen" so nutzen.
Warum sollte ich in C anfangen? Es ist eine weit verbreitete Sprache, mit der wirklich viel performante Software geschrieben wurde, z.B. der Linux Kernel. Dafür muss ich mich, und das ist der Nachteil, mit dem Compiler/Linker rumärgern und Speichermanagement lernen.
Warum sollte ich mit Java anfangen? Es ist weit verbreitet, es hat ein angenehmes Speichermanagement, die Programme sind absolut problemlos portierbar. Schreib auf deinem Linux-PC ein Programm, dass du nem Kumpel auf dem Mac zum testen gibst und danach auf nem Android-Handy nutzt... Dafür lernste nix groß über Speicherverwaltung.
Warum sollte ich in HTML+CSS+JavaScript anfangen? Kein zickiges Speichermanagement, die Möglichkeit zu schnellen schmutzige Hacks, schnelle Erfolge,... dafür lernt man da schnell mal unsaubere Arbeitsweisen.
Ich würde eben NICHT in C anfangen. Man sollte C lernen, man brauchts eh irgendwann in der Uni, aber doch nicht als erstes. Es macht doch auch keiner Fahrschule in nem H2...