Besteht Programmieren nur noch aus Suchen in Bibliotheken?
Ich habe früher noch in den alten Programmiersprachen programmiert, wo es darum ging, effiziente Algorithmen zu entwickeln, und es hat Spaß gemacht. Seitdem ich objektorientiert programmiere, habe ich das Gefühl, dass es nur noch darum geht, schon vorhandene, teilweise komplexe Algorithmen in Bibliotheken zu finden und sein Programm aus diesen Bauteilen zusammenzusetzen.
Habe ich diesbezüglich ein zu negatives und vielleicht falsches Bild, weil ich schon zu lange aus diesem Thema draußen bin? Ist Programmieren immer noch eine kreative Tätigkeit und nicht nur das Zusammenstückeln aus schon bestehenden Codes?
Zur modernen Softwareentwicklung gehört es eben dazu, nicht alles selbst zu machen, sondern soweit wie möglich auf bestehende Bibliotheken aufzusetzen. Natürlich macht es meistens mehr Spaß, einen Algorithmus von Anfang an selbst zu entwickeln, aber es ist zumindest im professionellen Umfeld verschwendete Zeit, das Rad jedes Mal neu zu erfinden. Und bei besonders komplexer Software ist es heutzutage gar nicht mehr möglich, alles selbst zu entwickeln, weil man dann einfach nie fertig wird.
Ich glaube trotzdem, dass die Softwareentwicklung noch eine durchaus kreative Tätigkeit ist. Man kann sich stärker auf die Anwendung und die Lösung eines echten Kundenproblems kümmern, anstatt sich in Algorithmen zu verlieren. Und letztendlich soll Software ja ein reales Problem lösen und nicht einen bestimmten Algorithmus besonders schön und kreativ implementieren.
Zugegeben ist der Teil, bei dem man sich mit den Eigenheiten des verwendeten Frameworks auseinandersetzen muss, keine besonders spannende Tätigkeit, aber das ist eben das notwendige Übel. Wenn die Aufgabe allerdings nur noch daraus besteht und man gar keine Anwendung und Lösungen im Blick hat, dann kann ich mir sehr gut vorstellen, dass es keinen Spaß mehr macht.
Ich selbst habe beim Programmieren mit C und COBOL angefangen und muss sagen, dass die Umstellung zur objektorientierten Programmierung ein kleiner Schock war. All die Sachen, die man sich damals noch mit Mühe erarbeitet hat, haben nun in Bibliotheken schon fertige Bausteine. An der Berufsfachschule, an der ich angefangen habe zu lernen, ist es nun sogar so, dass die neuen Schüler unmittelbar mit Objektorientierung beginnen. Das gibt mir ehrlich gesagt ein wenig zu denken, denn ich finde es wichtig, auch die Grundlagen bestimmter Algorithmen und Programmierlogik zu erlernen, auch wenn man diese in der Praxis dann heutzutage nur noch sehr selten wirklich selbst "ausprogrammieren" muss.
Nachdem der Schock aber überwunden war, muss ich jetzt eigentlich sagen, dass es für Programmierer mit Vorkenntnissen wirklich ein Segen sein kann. Ich neige heute noch dazu, manche Dinge unnötigerweise selbst zu programmieren, versuche aber schon auf bereits vorhandene Funktionen zurückzugreifen, um unnötig lange Quellcodes zu vermeiden und eine bessere Übersicht über den Code zu haben. Auch mit etlichen Bausteinen zum "Basteln" kann man immer noch als Programmierer selbst entscheiden, wie komplex das Programm letztendlich wird und wie viel eigene Arbeit darin steckt.
Ich glaube durch deine Frage anlupa wird es deutlich wieso es doch zwischen Programmierern und Softwareentwicklern unterschieden wird. Ein Programmierer hat einen konkreten Auftrag bekommen ein bestimmtes Programm zu schreiben. Er überlegt sich dann wie er das am besten umsetzen kann und fängt an zu implementieren. Ein Softwareentwickler bildet mit Hilfe der objektorientierten Werkzeuge die Aufgabe auf ein Modell ab. Dabei kann sollte bestimmte Sachen verallgemeinern können, so dass bestimmte Funktionen auch bei anderen Anwendungen eingesetzt werden können.
Genau hier ist der Unterschied zu einem Programmierer. Der Programmierer entwickelt eine Lösung für ein bestimmtes Problem. Wenn er eine neue Aufgabe bekommt wird er wieder fast komplett neue Lösung dafür entwickeln, obwohl sie vielleicht Ähnlichkeiten zu der ersten hat. Der Entwickler dagegen fast allgemeine Funktionen zu eigenen Klassen oder Bibliotheken zusammen und kann so später diese Funktionen bei anderen Anwendungen verwenden.
Ich habe an der Uni als Schwerpunkt Computergrafik gehabt und auf diesem Gebiet kommt man ohne irgendwelche fremden Bibliotheken nicht so weit. Man kann zwar mühselig alles selber implementieren aber das kostet extrem viel Zeit; vor allem wenn es um sehr komplexe Themen geht. Wenn man bestehende Bibliotheken von anderen benutzt finde ich es nicht so schlimm, wenn man dann darauf aufbauend was komplett Neues entwickeln kann. Ansonsten hätte ich für meine Diplomarbeit nicht 6 Monate sondern bestimmt 2 Jahre gebraucht, wenn ich alles selber implementiert hätte.
Link dieser Seite https://www.talkteria.de/forum/topic-226164.html
Ähnliche Themen
Weitere interessante Themen
- Kräuter auf Balkon - was ist sinnvoll und robust? 1206mal aufgerufen · 1 Antworten · Autor: Carmili · Letzter Beitrag von Verbena
Forum: Garten & Pflanzen
- Kräuter auf Balkon - was ist sinnvoll und robust?
- Luftwurzeln der Monstera: Tropfenbildung/Gestank 1674mal aufgerufen · 1 Antworten · Autor: Diamante · Letzter Beitrag von Verbena
Forum: Garten & Pflanzen
- Luftwurzeln der Monstera: Tropfenbildung/Gestank
- Welche Zimmerpflanzen mögen es warm und sonnig? 2453mal aufgerufen · 1 Antworten · Autor: Diamante · Letzter Beitrag von Verbena
Forum: Garten & Pflanzen
- Welche Zimmerpflanzen mögen es warm und sonnig?