Bill Gates said, “Only a small percentage of the population has the mental abilities to do higher level programming.” What’s the “higher level programming” he was talking about?
Er sprach von schwieriger, anspruchsvoller, komplexer Programmierung. Die Art von Programmierung, die jahrelange Erfahrung erfordert, um sie überhaupt zu verstehen, geschweige denn zu entwerfen und zu implementieren.
Ich vergleiche Programmieren gerne mit Holzarbeiten. Programmieren ist für die meisten Menschen ziemlich undurchsichtig und nebulös, aber jeder versteht Holzarbeiten.
Programmieren ist in demselben Sinne einfach, wie Holzarbeiten einfach sind. Jeder kann ein Stück Holz nehmen und es in zwei Hälften sägen; das ist ein bisschen wie das Schreiben eines "Hello World"-Programms.
Fast jeder kann einen IKEA-Beistelltisch zusammenbauen; das ist ein bisschen wie das Erstellen einer Website mit modernen 'no-code'-Systemen.
Viele Leute können lernen, gute Schwalbenschwanzverbindungen zu schneiden und vielleicht sogar einen Couchtisch zu entwerfen und zu bauen; das ist ein bisschen wie das Programmieren, das viele Datenwissenschaftler, 3D-Künstler, Buchhalter und Bauingenieure machen könnten. Das ist schon viel schwieriger und erfordert einige Anstrengungen, um die verschiedenen Techniken zu erlernen und viel Übung, um sie zu perfektionieren.
Aber dann kommt die "höhere Programmierung", von der Bill Gates gesprochen hat. In Bezug auf die Holzbearbeitung bedeutet das Folgendes:
Ein riesiges, sehr teures Projekt, das sorgfältiges Design, Prototyping, Tests, die Koordinierung von Dutzenden von Teams mit Hunderten von Handwerkern erfordert, die alle gemeinsam am Rumpf, den Masten, der Takelage, den Kanonen, den Ankern arbeiten....
Ein großes Softwareprojekt ist wirklich komplett anders als ein IKEA-Kleiderschrank.