@ProgMaster
Vielleicht hast du mich ein wenig falsch verstanden.
Ich bin keineswegs ein Feind von Frameworks, ganz im Gegenteil - wieso soll ich andauernd das Rad neu erfinden?
Aber ich denke, dass es oft von Vorteil sein kann, auch zu wissen, wie bestimmte Dinge funktionieren. Dafür ist es natürlich nicht wichtig, das komplette Framework zu verstehen.
Ohne ein gutes Framework kann man eigentlich keine wirklich große Anwendung mehr schreiben - jedenfalls nicht im Businessbereich, wo - wie du angedeutet hast - Kapital und Zeit oft wichtiger sind als die Qualität des Ergebnisses.
( Ich denke, der sog. „Bundestrojaner“ ist da ein gutes Beispiel!

)
Manchmal kommt es aber zu Sideeffects, z.B. beim Speichermanagement (bestes Beispiel: ein schlechtes Framework). Wenn man dann z.B. nicht weiß, wie Speicher verwaltet wird ( ich meine damit zum Beispiel Stack, Reservieren und Freigeben von Speicher u.Ä. ) kann dich das echt in den Wahnsinn treiben.
Interessant wird solches Wissen, wenn man z.B. bestimmte Projekte erweitern oder an Kundenwünsche anpassen muss.
By the way, wäre ich gegen Frameworks und so ein Low-Level-Fanatiker, hätte ich sicher nicht Java und C# empfohlen!
Am Rande noch:
Ich bin dieser Meinung, weil ich - wie oben geschrieben - eine Menge Leute kenne, die gute Programmieren können. Aber ich bezeichne diese lieber als Puzzler. Die nehmen ihre Frameworks und puzzeln zusammen. Muss dann mal ein großer Algorithmus selber entwickelt werden, stehen die auf dem Schlauch.
Und das ist - für Leute, die Informatik studieren oder eine Ausbildung gemacht haben - eigentlich schade.