Viele wichtige Funktionen entnimmt man Bibliotheken. Wer heute noch sin() von Hand implementiert zählt zu den Dinosauriern. Auch Web-Anwendungen bauen auf Bibliotheken auf. HTML-Seiten von Hand zu erstellen, ist nur für Mini-Projekte oder Hacks sinnvoll.
In meinem Berufsleben bekomme ich manchmal bis zu 3 Aufgaben pro Monat, die nicht in einer der Programmiersprachen gelöst werden sollen, die ich flüssig beherrsche. In einigen Fällen habe ich überhaupt keine Erfahrungen mit der Sprache bzw. Der Platform. Dann hilft eine Internetsuchmaschine und die Dokumentation.
Bei den meisten Programmiersprachen kommt man dann intuitiv gut klar, wenn man schon viel Erfahrungen hat. Ausnahmen sind Piet und Brainfuck, aber genau darum nutzt die niemand für nützliche Projekte.
Wenn man Aufgaben mit anderen zusammen bearbeitet oder aufbestehrndem Code aufbaut, hängt es von der Sorgfalt beim Dokumentieren ab, ob das überhaupt erfolgreich ist. Auch wenn man Code alleine schreibt, ist er ab 1000 Zeilen ohne ausführliche Dokumentation nicht mehr wartbar oder erweiterungsfähig. Bei 100‘000 Zeilen braucht man zudem Unit- und Integration-Tests.
Brownfield-Projekte sind im Allgemeinen reiner Horror: schlecht dokumentierten Code eines Vorgängers zu debugged, der das Institut schon verlassen hat, … Grausam!
Bei ernsthaften Aufgaben ist das Projektmanagement wichtiger als die verwendete Programmiersprache. Wenn die Dokumentation umfassend und klar ist, lassen sich 80-90% der Wartung und Erweiterung mit Copy&Paste mit Anpassung von Beispielen lösen.