1. Foren
  2. Kommentare
  3. Applikationen
  4. Alle Kommentare zum Artikel
  5. › Programmierer als Künstler: Von…

Ingenieure sind keine Künstler

  1. Thema

Neues Thema Ansicht wechseln


  1. Ingenieure sind keine Künstler

    Autor: ggr81143 28.07.20 - 12:26

    Einer der Gründe, warum Software oft fehlerhaft oder schlecht ist, ist, dass sich Programmierer als Künstler und nicht als Ingenieure verstehen. Wenn man versucht einem Programm eine "persönliche Note" zu geben, oder mit einem persönlichen Stil zu programmieren, dann kommt alles mögliche dabei raus, aber nicht, das was die Anforderungen waren und auch nicht etwas, was von anderen Entwicklern problemlos weiter genutzt werden kann. Detailliert erklärt findet man das unter von Prof. Siegfried Wendt, das Skript zu seiner Vorlesung "Konzepte der Programmierung" findet sich online.

  2. Re: Ingenieure sind keine Künstler

    Autor: Renricom 28.07.20 - 12:31

    Nach der Logik sind Auftrags- oder Portrait-Maler auch keine Künstler.
    Aber das stimmt nicht, weil ihre Arbeit außnahmslos immer auch eine persönliche Note hat.
    Und das ist bei fast jedem Code genauso. Manchmal sind es beispielsweise auch bloß die Kommentare oder die Doku, die einen Hinweis auf den Schöpfer geben.

    M.M.n. sind generell alle komplexen Werke irgendwie Kunst. Auch wenn viele Autoren das lieber bestreiten, weil das ihre Arbeit als "unwissenschaftlich" erscheinen lassen könnte.

    ___________________________________________________________________________
    Kellerkind, PC-Enthusiast und seit neuestem auch noch Golem-Leser!

  3. Re: Ingenieure sind keine Künstler

    Autor: derLaie 28.07.20 - 13:08

    Naja, man kann man ja auch irgendwas künstlerisches programmieren wie zB. das Mandelbrot in allen möglichen Variationen. Das ist mMn. schon eine Kunst.

    print("Hallo World") ist keine Kunst, aber print("Der Morgen graut auf meiner Haut, ich bleibe liegen bin meiner Wolke treu geblieben.") aber schon. :D

    Von daher würde ich sagen Programmieren kann künstlerisch sein, muss es aber nicht. Ich glaube es geht hier vor allem darum aufzuklären dass Programmieren keine reine Logik ist wie das so viele die noch nie in ihrem Leben programmiert haben denken. Es ist eine Sprache und mit der kann man in der Tat kreativ uneffektiv menschlich sein.



    3 mal bearbeitet, zuletzt am 28.07.20 13:11 durch derLaie.

  4. Re: Ingenieure sind keine Künstler

    Autor: ranzassel 28.07.20 - 13:30

    derLaie schrieb:
    --------------------------------------------------------------------------------
    > print("Hallo World") ist keine Kunst, aber print("Der Morgen graut auf
    > meiner Haut, ich bleibe liegen bin meiner Wolke treu geblieben.") aber
    > schon. :D

    Naja, der Satz ist natürlich sehr künstlerisch. Dadurch wird aber die Programmierung nicht zur Kunst. Wobei ich mich schon weigern würde ein print als Programmieren zu bezeichnen. :)

  5. Re: Ingenieure sind keine Fabrikarbeiter

    Autor: mke2fs 28.07.20 - 13:50

    Sie sind keine Künstler, aber sie sind auch keine Fabrikarbeiter.

    Im Moment gibt es den Trend Programmieren zu standardisieren.
    Aber Ingenieure sind auch keine Fabrikarbeiter bei denen tatsächlich jedes Stück wie das vorhergehende aussieht und die in der Regel keinerlei Gestaltungsmöglichkeit haben.

    Das liegt daran das Programmieren geistige Arbeit ist und es nicht um die Reproduktion immer gleicher Dinge geht, sondern ein Programm nach den Anforderungen geschrieben wird und die sind jedes mal anders.
    Hinzu kommt das sich Programmieren immer weiter entwickelt, neue Sprachen entstehen und bestehende Sprachen sich ändern, die meisten Programmierer zum jeweiligen Zeitpunkt nur Teile der Möglichkeiten und Bibliotheken kennen und sich auch selbst verändern.
    Folglich verändert sich auch der Code den sie produzieren.

    Code hat immer eine persönliche Note, weil sich ein Problem immer auf verschiedenen Wegen lösen lässt und aus den oben genannten Gründen verschiedene Programmierer (zu verschiedenen Zeiten) verschiedene Wege wählen.

    Wenn du im Code Review den Namen wegnehmen würdest (würde ich bevorzugen btw.) dessen der den Code geschrieben hat ich könnte dir vermutlich mit ziemlich hoher Wahrscheinlichkeit sagen wer meiner Kollegen ihn geschrieben hat, einfach weil sie alle einen unterschiedlichen Stil haben an ein Problem ranzugehen und unterschiedlich Kontrukte zur Lösung nutzen.

  6. Re: Ingenieure sind keine Künstler

    Autor: Trockenobst 28.07.20 - 14:48

    ggr81143 schrieb:
    --------------------------------------------------------------------------------
    > Wenn man versucht einem Programm eine "persönliche Note" zu geben

    Meine persönliche Note ist defensives Programmieren (alles kann scheitern), ein guter Flow von Fehlerzuständen und Exceptions. Das wählen guter Variablennamen und ein möglichst nicht verbundener Baum von Interfaces statt sinnfreier Objekthierarchie. Was das erweitern von Software einfach macht. Die großen Systeme an den ich gearbeitet habe, sind z.T. seit 10 Jahren in Einsatz.

    Ich kann eine Software so schlecht Designen und den Code so technisch "korrekt" machen, das man inhaltlich nicht angegriffen werden kann. Aber jeder mit Erfahrung wird sich das Ding ansehen und sagen "Das ist nicht elegant. Das ist mit dem Holzhammer gefügig gemachter Code". Der schlecht zu warten ist, keine Sicherheitsaspekte betrachtet und die Tests sind schwer zu schreiben.

    Fast jede größere Programmiersprache ist über 10 Jahre alt. Als diese entwickelt wurden, hat man keine Single Mem Systeme mit 1000 CPUs gehabt. Die Software und Entwickler müssen sich mitentwickelt um solche Systeme elegant und performant nutzen zu können.



    1 mal bearbeitet, zuletzt am 28.07.20 14:49 durch Trockenobst.

  7. Re: Ingenieure sind keine Fabrikarbeiter

    Autor: nativExtra 28.07.20 - 17:18

    mke2fs schrieb:
    --------------------------------------------------------------------------------

    > Das liegt daran das Programmieren geistige Arbeit ist und es nicht um die
    > Reproduktion immer gleicher Dinge geht, sondern ein Programm nach den
    > Anforderungen geschrieben wird und die sind jedes mal anders.

    Ja, aber selbst wenn du alles, was für die Software, an der du arbeitest, im Kopf (also geistig) "fertig" hast und du genau weißt, was man wie und wo implementieren müsste, um die Anforderungen zu erfüllen, muss es trotzdem jemand geben, der oder die das runtertippt und praktisch verwirklicht. Ansonsten wäre - überspitzt formuliert - ein Scrum-Sprint oft schon nach dem "Planning" vorbei inkl. potentiell auslieferbares Produktinkrement. Ist aber nicht so.

    Also ist klassisches Programmieren (ohne grafische Programmiersprachen oder die Model-Driven-Development-Ansätze) nicht nur Kopf-, sondern natürlich auch **Hand**arbeit. Die Anwendung diverser Tools (u.a. Sprachen, Compiler, Methoden, Algorithmen, Standardbausteine, Technologien etc.) würde ich als Handwerk bezeichnen, das es zu beherrschen gilt. Vom Handwerk zur Kunst ist der Übergang fließend und die Unterschiede sind oft nur in Nuancen feststellbar, was sich auch sprachlich in diversen zentraleuropäischen Sprachen niederschlägt, z.B. English/Französisch "artisan" (der/die HandwerkerIn) und "artist" (der/die KünstlerIn), der Wortstamm ist der gleiche und die Kernaussage ist, dass Kunst oft Handwerk ist und Handwerk oft auch Kunst.

    Ob der Koch oder die Köchin im Restaurant "lediglich" sein/ihr Handwerk super beherrscht und/oder künstlerisch tätig ist, in dem er/sie mit Geschmackskreationen experimentiert, lässt sich z.B. kaum im Alltag unterscheiden und im Zweifel würde ich sagen, das ist sowohl Handwerk als auch Kunst. Solche Beispiele können wir noch viele finden.

    Auch im Ingenieursbereich ist die Unterscheidung oft nicht möglich. Ist die Golden Gate Bridge nun Kunst oder Handwerk? Das Festlegen auf eines von beiden Aspekten bringt aber nicht weiter, da die Ergebnisse eben oft Ausdruck beider Arbeitstypen gleichzeitig sind.

    Monotone Fließbandarbeit hingegen oder analog Stackoverflow-Driven Programming hat wenig bis keine künstlerischen Aspekte, so wie wenn einE SchreinerIn einfach ein Brett in zwei Teile sägt, das ist einfach stures Ausführen einer Tätigkeit.

    Daran anknüpfende Diskussion: Was ist der Unterschied zwischen Programmieren und Entwickeln? Ist ersteres das "stumpfe Tun" und zweiteres derjenige Teil der Arbeit, der Erfahrung, "Kreativität" und "Köpfchen" erfordert? Ich behaupte, dass diese begriffliche Unterscheidung durchaus sinnvoll sein kann, aber so sehr man beide Begriffe auch ausdefiniert, gibt es trotzdem viele Situationen im Alltag, in denen nicht klar ist, ob man nun aktuell "nur" programmiert oder "schon" entwickelt.

    Auf welchem Bereich kann denn Programmieren nun Kunst sein?
    - ProgrammiererInnen können (formale) SprachkünstlerInnen sein und z.B. Sprachkonstrukte kombinieren, Lesbarkeit, Wartbarkeit und Einfachheit optimieren etc.
    - ProgrammiererInnen können DenkkünstlerInnen sein. Z.B. durch die geschickte Kombination mehrerer Design Patterns mit eleganten Emergenzeffekten in der jeweiligen Situation. Das geht auf jeder IT-Ebene, von den Innereien einer Einzelsoftware bis hin zur Enterprise Architektur
    - Im methodischen Bereich durch die Minimierung und Produktivitätssteigerung von eigener oder fremder Arbeit. Z.B. das Agile Manifest von 2001 fordert explizit methodische Kunst ein durch das Prinzip 10: "Einfachheit - die Kunst, die Menge nicht getaner Arbeit zu maximieren - ist essenziell."
    - Die Kunst Fehler zu suchen..
    - tbc

    Um meinen Beitrag auf den Punkt zu bringen: Ich glaube nicht, dass die Frage ist, *ob* Programmieren (oder allgemeiner: die Disziplin der Softwareentwicklung) Kunst sein kann, sondern Wann und unter welchen Umständen.



    2 mal bearbeitet, zuletzt am 28.07.20 17:32 durch nativExtra.

  8. Re: Ingenieure sind keine Künstler

    Autor: FreiGeistler 28.07.20 - 17:50

    ggr81143 schrieb:
    --------------------------------------------------------------------------------
    > Ingenieure sind keine Künstler

    Wo ist der Unterschied?

    > Wenn man versucht einem Programm eine "persönliche Note" zu geben, oder mit einem
    > persönlichen Stil zu programmieren, dann kommt alles mögliche dabei raus, aber nicht,
    > das was die Anforderungen waren und auch nicht etwas, was von anderen Entwicklern
    > problemlos weiter genutzt werden kann.

    Dieser Teil ignoriert den Fakt, dass jedes stücken Code auf den Erfahrungen und der Laune des Coders aufbaut. Ergo; persönliche Note.



    1 mal bearbeitet, zuletzt am 28.07.20 17:53 durch FreiGeistler.

  9. Re: Ingenieure sind keine Künstler

    Autor: DrC 29.07.20 - 09:05

    ranzassel schrieb:
    --------------------------------------------------------------------------------
    > derLaie schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > print("Hallo World") ist keine Kunst, aber print("Der Morgen graut auf
    > > meiner Haut, ich bleibe liegen bin meiner Wolke treu geblieben.") aber
    > > schon. :D
    >
    > Naja, der Satz ist natürlich sehr künstlerisch. Dadurch wird aber die
    > Programmierung nicht zur Kunst. Wobei ich mich schon weigern würde ein
    > print als Programmieren zu bezeichnen. :)

    Für mich ist Softwareentwicklung wie ein Gang durch ein Museum, ob eleganter oder grauenhafter Code, es ist spannend anzusehen und kann zum Nachdenken anregen, wenn man sich dafür entscheidet das aus der Norm fallende oder die persönliche Note des Autors wahrzunehmen.

    Der Akt, nicht "Hello World" zu schreiben, was üblich wäre, wäre hier für mich an sich schon spannend. Als nächstes interessiert welcher Text stattdessen gewählt wurde, und was das Motiv dahinter sein könnte. Handelt es sich vielleicht um einen gelangweilten Menschen, der gegen starre Schemen rebelliert und seine Umgebung (=der Code) etwas bunter gestalten möchte?
    Oder ist es jemand, der sich kein bisschen darum schert was da gerade steht, und wahrscheinlich über solche Gedanken lachen würde?

    War das immer so? Welche Entwicklung hat dieser Mensch im Laufe seiner Karriere in diesem Unternehmen mitgemacht, wie sahen Code und Kommentare anfangs aus, wie änderten sie sich später? Wie geht es dieser Person heute?

    Kunst ist für mich, was zum denken anregt - ob bewusst oder unbewusst, auch die Verweigerung einer persönlichen Note und Implementierung reiner Funktion kann eine Aussage sein.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. ICon GmbH & Co. KG, Pforzheim
  2. NOVENTI Health SE, München
  3. ZytoService Deutschland GmbH, Hamburg
  4. Universität Konstanz, Konstanz

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. 44€ (inkl. 15€ Direktabzug - Bestpreis!)
  2. 54,31€ (Bestpreis mit Amazon. Vergleichspreis 87,46€)
  3. 54,31€ (Bestpreis mit MediaMarkt. Vergleichspreis 87,46€)
  4. (u. a. Seagate BarraCuda Compute 8 TB für 158,90€ + 6,79€ Versand und Edifier Studio 1280T...


Haben wir etwas übersehen?

E-Mail an news@golem.de


Ryzen Pro 4750G/4650G im Test: Die mit Abstand besten Desktop-APUs
Ryzen Pro 4750G/4650G im Test
Die mit Abstand besten Desktop-APUs

Acht CPU-Kerne und flotte integrierte Grafik: AMDs Renoir verbindet Zen und Vega überzeugend in einem Chip.
Ein Test von Marc Sauter

  1. AMD Ryzen Threadripper Pro unterstützen 2 TByte RAM
  2. Ryzen 3000XT im Test Schneller dank Xtra Transistoren
  3. Ryzen 4000 (Vermeer) "Zen 3 erscheint wie geplant 2020"

Mars 2020: Was ist neu am Marsrover Perseverance?
Mars 2020
Was ist neu am Marsrover Perseverance?

Er hat 2,5 Milliarden US-Dollar gekostet und sieht genauso aus wie Curiosity. Einiges ist dennoch neu, manches auch nur Spielzeug.
Von Frank Wunderlich-Pfeiffer


    Programmiersprache Go: Schlanke Syntax, schneller Compiler
    Programmiersprache Go
    Schlanke Syntax, schneller Compiler

    Die objektorientierte Programmiersprache Go eignet sich vor allem zum Schreiben von Netzwerk- und Cloud-Diensten.
    Von Tim Schürmann


      1. Smartphone: Google stellt das Pixel 4 ein
        Smartphone
        Google stellt das Pixel 4 ein

        Nach nicht mal einem Jahr beendet Google die Produktion des Pixel 4 und Pixel 4 XL. Noch im Herbst soll aber der Nachfolger erscheinen.

      2. Corona: Gewerkschaft sieht Schulen schlecht digital ausgestattet
        Corona
        Gewerkschaft sieht Schulen schlecht digital ausgestattet

        In vielen Bundesländern beginnt die Schule wieder, die zuständige Gewerkschaft erwartet ein Jahr mit "viel Improvisation". Grund sei die schlechte digitale Ausstattung.

      3. Nach Microsoft: Auch Twitter soll an Tiktok interessiert sein
        Nach Microsoft
        Auch Twitter soll an Tiktok interessiert sein

        Neben Microsoft soll auch Twitter überlegen, die chinesische Social-Media-App zu übernehmen - mehr finanzielle Ressourcen dürfte aber Microsoft haben.


      1. 14:11

      2. 13:37

      3. 12:56

      4. 12:01

      5. 14:06

      6. 13:41

      7. 12:48

      8. 11:51