Warum so schwer!?



  • Das Programmieren ist so schwer, weil es damit möglich ist, nicht nur bekannte Probleme zu lösen (solche immer wiederkehrenden Probleme man ja irgendwan modular gestalten und tatsächlich wie ein Baukasten handhaben), sondern weil es eben auch möglich ist, damit neue und unbekannte Dinge zu zaubern.

    Anders gesagt, natürlich kann man aus einem Baukasten ein Auto bauen. Es wird allerdings kaum was neues dabei herauskommen. Neue und bessere Autos werden immer noch aus kleinsten Teilen gebaut. Und da muss man halt wissen, was womit zusammenpasst und welche Wirkung man damit erzielt. Die Möglichkeiten sind dabei unbegrenzt. Genauso ist es mit der Programmierung. Anderenfalls hätten wir heute immer noch den Stand von vor 20 Jahren...



  • 1. Ich finde, das Programmieren ist überhaupt nicht schwer. 😕

    2. Programmieren dient IMHO auch meistens nicht dem Selbstzweck.



  • Gregor schrieb:

    1. Ich finde, das Programmieren ist überhaupt nicht schwer.

    Kommt drauf an WAS man programmiert.



  • this->that schrieb:

    Gregor schrieb:

    1. Ich finde, das Programmieren ist überhaupt nicht schwer.

    Kommt drauf an WAS man programmiert.

    Ich interpretiere das als ein "Die Schwierigkeit liegt in dem Bereich, in dem man programmiert, nicht im Programmieren selbst.". Habe ich das Richtig oder falsch interpretiert? Wenn Du das so meintest, dann kann ich mich dem anschließen.



  • also html is eignetlich vol einfcah 😮 😕 😕 😕


  • Administrator

    Gespräch zischen einem Programmierer und einem Computer:

    P: "Hallo Computer, bist du da?"
    C: "..."
    P: "Ja"
    C: "Computer startet ..."
    P: "Mache mir bitte ein blaues, gefülltes Rechteck vom Punkt mit den Koordinaten, welche ich dir zuerst geben werde, zum Punkt mit den Koordinaten, welche ich dir als zweites geben werde!"
    C: "Syntax Fehler: 'Mache' unbekannter Ausdruck"
    "Syntax Fehler: 'mir' unbekannter Ausdruck"
    "Syntax Fehler: 'bitte' unbekannter Ausdruck"
    "Syntax Fehler: 'ein' unbekannter Ausdruck"
    "Syntax Fehler: 'blaues' unbekannter Ausdruck"
    "Syntax Fehler: ',' unbekannter Ausdruck"
    "Syntax Fehler: 'gefülltes' unbekannter Ausdruck"
    "Syntax Fehler: 'Rechteck' unbekannter Ausdruck"
    "Syntax Fehler: 'vom' unbekannter Ausdruck"
    "Syntax Fehler: 'Punkt' unbekannter Ausdruck"
    "Syntax Fehler: 'mit' unbekannter Ausdruck"
    "Syntax Fehler: 'den' unbekannter Ausdruck"
    "Syntax Fehler: 'Koordinaten' unbekannter Ausdruck"
    "Syntax Fehler: 'welche' unbekannter Ausdruck"
    "Syntax Fehler: 'ich' unbekannter Ausdruck"
    "Syntax Fehler: 'dir' unbekannter Ausdruck"
    "Syntax Fehler: 'zuerst' unbekannter Ausdruck"
    "Syntax Fehler: 'werde' unbekannter Ausdruck"
    "Syntax Fehler: 'zum' unbekannter Ausdruck"
    "Syntax Fehler: 'als' unbekannter Ausdruck"
    "Syntax Fehler: 'zweites' unbekannter Ausdruck"
    "Syntax Fehler: '!' unbekannter Ausdruck"
    P: "NEIN"
    C: "Computer wird heruntergefahren ..."

    Und da fragt jemand noch, wieso Programmieren nicht einfach ist? Wäre schön, wenn ein Computer mitdenken könnte, aber leider ist er ziemlich begriffsstutzig (kennt nur 1 und 0). 😃

    Zudem, das Programmieren wurde denke ich seit den Anfangszeiten schon ziemlich erleichtert. Dadurch das Bibliotheken geschaffen wurden für Dinge, welche man oft immer wieder braucht. Die Frage ist halt, was packt man alles in so eine Biblothek rein. Wie sinnvoll ist es, was, wo und wie in einer Bibliothek zur Verfügung zu stellen.

    Zudem ist es dann auch oft immer noch eine Frage der Geschwindigkeit. Wenn man ein sehr einfaches Interface zum programmieren hat, wo man nur ein paar Dinge zusammen schieben kann und am Ende ist ein Spiel da. Dann wird sicherlich auch eine Menge an überflüssigem Code ausgeführt, weil der Programmierer nicht alles auf seinen Bedarf optimieren konnte.

    Aber wie auch schon andere gesagt haben, für andere Berufe muss man auch eine lange Ausbildungszeit in kauf nehmen, genau gleich ist es halt mit dem Programmieren. Ein Architekt muss auch 4 - 5 Jahre studieren, dabei muss der doch "nur" ein paar Pläne entwerfen. Nicht einmal zeichnen, das macht ja der Hochbauzeichner ... denkste, wenn das Leben doch nur so einfach wäre 😃 (wäre ja fast langweilig 😉 )

    Grüssli



  • Wäre schön, wenn ein Computer mitdenken könnte, aber leider ist er ziemlich begriffsstutzig (kennt nur 1 und 0).

    Wäre schön, wenn Menschen mittdenken könnten, aber leider sind sie ziemlich begriffsstutzig. Neuronenen kennen nur Puls senden oder kein Puls senden (kennen nur 1 und 0).



  • Gregor schrieb:

    this->that schrieb:

    Gregor schrieb:

    1. Ich finde, das Programmieren ist überhaupt nicht schwer.

    Kommt drauf an WAS man programmiert.

    Ich interpretiere das als ein "Die Schwierigkeit liegt in dem Bereich, in dem man programmiert, nicht im Programmieren selbst.".

    Soll das soviel heißen wie: "Zeichnen eines Hochhausplanes ist nicht schwer(also das Linien ziehen), sondern das planen des Hochhauses"?



  • Gregor schrieb:

    this->that schrieb:

    Gregor schrieb:

    1. Ich finde, das Programmieren ist überhaupt nicht schwer.

    Kommt drauf an WAS man programmiert.

    Ich interpretiere das als ein "Die Schwierigkeit liegt in dem Bereich, in dem man programmiert, nicht im Programmieren selbst.". Habe ich das Richtig oder falsch interpretiert? Wenn Du das so meintest, dann kann ich mich dem anschließen.

    Also wenn ich mir Sprachen wie C++, Assembler oder Lisp anschaue, dann kann durchaus auch programmieren selber schwer sein.
    Außerdem ziehe ich keine strikte Grenze zwischen dem Bereich, den man umsetzen will, und dem programmieren an sich. Wenn ich ne 3D-Engine schreib, dann is zwar die Schwierigkeit vor allem die Mathematik, aber eben auch die Umsetzung der Mathematik in Sourcecode. Diese Umsetzung verstehe ich auch als Programmierung und das kann sehr leicht verdammt schwer werden.



  • TheoDerKaffee schrieb:

    Gregor schrieb:

    this->that schrieb:

    Gregor schrieb:

    1. Ich finde, das Programmieren ist überhaupt nicht schwer.

    Kommt drauf an WAS man programmiert.

    Ich interpretiere das als ein "Die Schwierigkeit liegt in dem Bereich, in dem man programmiert, nicht im Programmieren selbst.".

    Soll das soviel heißen wie: "Zeichnen eines Hochhausplanes ist nicht schwer(also das Linien ziehen), sondern das planen des Hochhauses"?

    Du willst darauf hinaus, dass ich vielleicht das Programmdesign vom Programmieren getrennt habe? Das war eigentlich nicht meine Intention. Wobei man darüber reden könnte. Ich wollte darauf hinaus, dass die eigentlichen Schwierigkeiten in der Modellierung der relevanten Dinge aus dem Problembereich liegen. Dafür benötigt man viel mehr Wissen, eben unter anderem über diesen Bereich und über informatische Methoden im Allgemeinen. Wenn ich zum Beispiel eine Software programmieren möchte, die etwas mit Spracherkennung zu tun hat, dann sollte ich besser etwas über Linguistik, Systemtheorie usw. wissen. ...alleine, damit ich die Probleme, die dabei auf mich zukommen, fassen kann. Damit ich in meinem Kopf formulieren kann, was ich eigentlich in meinem Programm ausdrücken will.

    Soetwas sind IMHO Dinge, die man nicht mehr dem Programmieren zuordnen kann. Man kann eine Programmiersprache noch so gut beherrschen: Wenn man den Problembereich nicht versteht und auch nichts von informatischer Modellierung, dann kann man keine vernünftigen Programme in diesem Bereich schreiben.



  • Also... Programmieren (das "Linien ziehen", nicht das "Hochhaus Planen") ist IMO deswegen schwer, weil es logisches Denken erfordert. Und die meisten Menschen können nicht logisch denken. Was eine persönliche Beobachtung ist, nicht mehr und nicht weniger.

    Wenn man mal Programmieren kann ("Linien ziehen") ist das andere (das "Hochhaus Planen") genau so schwer wie es eben ist: kommt ganz auf die Komplexität, Grösse, ... der Aufgabe an. Ein Einfamilienhaus ist einfacher zu planen/entwerfen als ein 70 stöckiges, erdbebenfestes Hochhaus.



  • hustbaer schrieb:

    Also... Programmieren (das "Linien ziehen", nicht das "Hochhaus Planen") ist IMO deswegen schwer, weil es logisches Denken erfordert. Und die meisten Menschen können nicht logisch denken. Was eine persönliche Beobachtung ist, nicht mehr und nicht weniger.

    Was genau verstehen die Leute hier eigentlich unter "logischem Denken". Ich finde, das ist ein relativ schwammiger Begriff. Kann das mal einer erörtern? Ich glaube, Wikipedia kennt auch kein "logisches Denken".



  • Muss man eigentlich immer alles genau definieren und in Kästchen packen? Ich denke das intuitive Verständnis von "logischem Denken", das ja wohl jeder hat, sollte eigentlich ausreichen.



  • Aus aktuellem Anlass (ich sitze gerade vor so einem Projekt) schmeiss ich noch mal was in die Runde: Ich bin gerade in einer Arbeitsgruppe gelandet, wo die Leute zwar unglaublich viel Ahnung von nachrichtentechnischen Systemen haben (dem Hochaus planen, hab ich in diesem Fall nur wenig Ahnung von), aber offenbar keinen blassen schimmer vom programmieren ihrer Siumualtion (dem Linien ziehen; ich bilde mir ein, sowas kann ich).

    Nu sitz ich hier vor Funktionen mit 1,5k Codezeilen ohne Kommentaren (aber auskommentierten Code) und soll mich da rein arbeiten...

    Offenbar ist Programmieren nicht so einfach, wie viele immer glauben. Leider. Sonst muesste ich mich nicht in dieses wirre Programm reinarbeiten 😡

    edit: Man sollte E-Techniker nicht programmieren lassen... 😉



  • Taurin schrieb:

    Aus aktuellem Anlass (ich sitze gerade vor so einem Projekt) schmeiss ich noch mal was in die Runde: Ich bin gerade in einer Arbeitsgruppe gelandet, wo die Leute zwar unglaublich viel Ahnung von nachrichtentechnischen Systemen haben (dem Hochaus planen, hab ich in diesem Fall nur wenig Ahnung von), aber offenbar keinen blassen schimmer vom programmieren ihrer Siumualtion (dem Linien ziehen; ich bilde mir ein, sowas kann ich).

    Nu sitz ich hier vor Funktionen mit 1,5k Codezeilen ohne Kommentaren (aber auskommentierten Code) und soll mich da rein arbeiten...

    Offenbar ist Programmieren nicht so einfach, wie viele immer glauben. Leider. Sonst muesste ich mich nicht in dieses wirre Programm reinarbeiten 😡

    edit: Man sollte E-Techniker nicht programmieren lassen... 😉

    Ich weis wie du dich fühlst. Ich musste mal ein paar Abstürze in einer 900 Zeilen langen Funktion suchen (natürlich auch keine Kommentare, mehrfach verschachtelte if Anweisung und keinerlei Fehlerbehandlung).



  • this->that schrieb:

    ...
    Außerdem ziehe ich keine strikte Grenze zwischen dem Bereich, den man umsetzen will, und dem programmieren an sich....

    Das könnte das eigentliche Problem sein.

    this->that schrieb:

    Muss man eigentlich immer alles genau definieren und in Kästchen packen? Ich denke das intuitive Verständnis von "logischem Denken", das ja wohl jeder hat, sollte eigentlich ausreichen.

    "Für jedes noch so komplizierte Problem gibt es eine Erklärung, die für jedermann verständlich - und falsch ist." (Prof. Harald Lesch)
    Also wenn ich mir ansehe, was unsere Bäckereifachverkäuferin unter "logisch" versteht, überrascht mich nicht, dass Dein Ansatz spätestens bei der AKW-Steuerung scheitert ...

    Es GIBT einfach komplexe Probleme - und ein so komplexes technisches System wie einen PC dazu zu bringen, menschliche Sinneseindrücke zu simulieren ("3DEngine") gehört definitiv dazu - und bei denen hilft "gesunder Menschenverstand" bei weitem nicht so viel wie "Sachverstand". Um zu letzterem zu kommen, braucht man Zeit und Energie (und eine gewisse Begabung).

    Und dass diejenigen, die diese (noch) nicht eingesetzt haben, weniger davon haben als "Sachverständige", ist wenig überraschend...

    Man kann die Welt gerne anders wünschen ... aber sie ist halt so.

    BTW1: Hatten die alten Griechen weniger "gesunden Menschenverstand" als wir oder warum haben die keine Flugzeuge gebaut ?

    BTW2: "Gesunder Menschenverstand" ist nur ein Label für bisher gemachte (also "alte") Erfahrungen ... wer meint, es könne nichts mehr geben, was darüber hinausgeht, hat ein sehr eingeschränktes (und IMO sehr trauriges und arro-/ignorantes) Weltbild.

    Gruß,

    Simon2.



  • Taurin schrieb:

    edit: Man sollte E-Techniker nicht programmieren lassen... 😉

    Genau, lassen wir am besten nur noch Informatiker ran, machen wir die Böcke zu Gärtnern! 🤡



  • Simon2 schrieb:

    Es GIBT einfach komplexe Probleme - und ein so komplexes technisches System wie einen PC dazu zu bringen, menschliche Sinneseindrücke zu simulieren ("3DEngine") gehört definitiv dazu - und bei denen hilft "gesunder Menschenverstand" bei weitem nicht so viel wie "Sachverstand". Um zu letzterem zu kommen, braucht man Zeit und Energie (und eine gewisse Begabung).

    bei sachverstand in bezug auf das thema selbst, stimme ich dir zu. aber leider muss man, wenn man einen computer nutzen und/oder programmieren will, auch viel über 'den computer selbst' wissen. ...und um das zu verbessern gibt's noch viel zu tun.
    🙂



  • Undertaker schrieb:

    ...aber leider muss man, wenn man einen computer nutzen und/oder programmieren will, auch viel über 'den computer selbst' wissen. ...und um das zu verbessern gibt's noch viel zu tun.
    🙂

    Meinst Du: "... man muss zu viel über Computer wissen ..." ?
    Ich glaube eben, dass "EDV" genauso ein "Sachgebiet" ist, über das man Bescheid wissen muss. Wie bei jeder "Hilfsmittel": Natürlich muss man nicht unbedingt jede Schraube kennen, aber je komplexer die Einsatzanforderungen sind, umso anspruchsvoller ist auch die Bedienung des Werkzeugs (wenn es denn geeignet ist).

    Um ein Beispiel zu nennen:
    Dass ich zu Fuß gehen kann (=Mich fortbewegen kann) und Berlin und München als Stadt (=das Sachgebiet) kenne, bedeutet noch nicht, dass ich in der Lage bin, ein Frachtflugzeug dahin zu steuern (und damit die Anforderungen an Last und Termin einzuhalten).

    Wenn ich ein "alltägliches Problem" (also eines, das Viele andere auch haben), kann ich vielleicht vorgefertigte Lösungen (hier: Frachtunternehmen) zugreifen, aber diese bedeuten nicht, dass das Problem an sich weniger komplex geworden ist, sondern nur, dass jemand anders mir diese Komplexität (gegen Bezahlung abnimmt). Auf "Programmierung" bezogen hieße das: Statt selbst zu programmieren auf Fremdanwendungen zurückzugreifen...

    Aber es gibt für viele Anforderungen (noch) keine vorgefertigten "Standardlösungen" (oder man will/kann sie nicht bezahlen) - und die Anforderungen werden immer komplexer (Ausfallsicherheit, Verteilung, Performance, Konsistenz, ...).
    Ich denke, wir übersehen über allem Nutzerkomfort allzu leicht, wie komplex die heutige EDV ist - wenn man nur mal überlegt, was alles passieren/funktionieren muss, damit Du jetzt lesen kannst, was ich hier geschrieben habe ! Da säße ein einzelner Programmierer schon seeeehr lang dran, wenn er es "von der Pike an" selbst machen würde.

    Gruß,

    Simon2.



  • Die Sache ist eigentlich ganz einfach:
    Programmieren ist deshalb so schwer, weil der Computer so dumm ist.
    Intuitive Programmiersprachen kann es schon deshalb nicht geben, weil der Rechner eben nicht intuitiv reagiert, sondern absolut stur.

    Wer programmieren lernen will, sollte auf jeden fall mit Basic anfangen, das ist am ehesten für Anfänger geeignet. ("Beginners all purposes symbolic instruction code"). Die Sprache wurde so entworfen, daß sie dem natürlichen, "intuitiven" Sprachgebrauch (der englischen Sprache) möglichst nahe kommt.
    Es gibt haufenweise Tutorials für QuickBasic, FreeBasic und andere. Einfach mal bei QBasic.de reinschauen. Da hauts Dich schon mal um. Mit FreeBasic lassen sich auch GUI-Programme erstellen (allerdings gibt es dafür noch recht wenige Tutorials)

    Natürlich muß diese Sprache auch gelernt werden wie jede andere: und zwar mühsam :p


Anmelden zum Antworten