Warum so schwer!?



  • 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



  • Elektronix schrieb:

    Mit FreeBasic lassen sich auch GUI-Programme erstellen (allerdings gibt es dafür noch recht wenige Tutorials)

    Ja, indem man direkt auf die WinAPI zugreift. Das ist natürlich genau das, was der Anfänger will. Ging es hier nicht gerade darum, dass es einfacher sein soll?



  • Nein, man kann mit FreeBasic auch stinknormale Consolen-Programme schreiben. Ich meinte ja nur, wenn man mal höhere Ambitionen entwickeln sollte...



  • Gregor schrieb:

    Was genau verstehen die Leute hier eigentlich unter "logischem Denken".

    In Bezug auf Programmieren zunächst mal die Fähigkeit zur Erkennung von Mustern bei vordergründig verschiedenen, scheinbar voneinander unabhängigen Problemen.
    Des weiteren verstehe ich darunter die Fähigkeit, ein gestelltes Problem analysieren und in adäquate, lösbare Teilprobleme zerlegen zu können, sowie die Fähigkeit, die Eignung verfügbarer Teillösungen (z. B. in Form von APIs oder des Sprachumfangs einer beliebigen Programmiersprache) zu erkennen und passend zu kombinieren, um damit die Teilprobleme zu lösen.



  • Elektronix schrieb:

    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.

    Edsger Wybe Dijkstra sagt dazu dies: Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.

    Dem ist (nach reiflicher Überlegung) nichts mehr hinzuzufügen.



  • schmidt-webdesign.net schrieb:

    Edsger Wybe Dijkstra sagt dazu dies: Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.

    Dem ist (nach reiflicher Überlegung) nichts mehr hinzuzufügen.

    Doch. Die Begründung ⚠

    Demnach müßte man vermuten, daß Bill Gates und Co. das Programmieren mit Basic begonnen haben. 🤡 💡



  • schmidt-webdesign.net schrieb:

    Edsger Wybe Dijkstra sagt dazu dies: Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.

    Dem ist (nach reiflicher Überlegung) nichts mehr hinzuzufügen.

    Darf ich diese Aussage als persönliche Beleidigung auffassen?



  • CStoll schrieb:

    Darf ich diese Aussage als persönliche Beleidigung auffassen?

    Wozu, Tote sind, zumindest praktisch, nicht mehr satisfaktionsfähig.
    Außerdem trifft die Aussage auf dich nicht zu, oder hat dir jemand anderes gutes Programmieren beigebracht? Ich nehme an, du hast es dir selbst beigebracht, und dabei selbst die Knoten, die dir Basic ins Gehirn gesetzt hat, gelöst.



  • Elektronix schrieb:

    schmidt-webdesign.net schrieb:

    Edsger Wybe Dijkstra sagt dazu dies: Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.

    Dem ist (nach reiflicher Überlegung) nichts mehr hinzuzufügen.

    Doch. Die Begründung ⚠

    Demnach müßte man vermuten, daß Bill Gates und Co. das Programmieren mit Basic begonnen haben. 🤡 💡

    Was war noch gleich das erste Produkt der Firma MicroSoft? Wofür war die Firma MicroSoft Ende der 70er Jahre, Anfang der 80er noch gleich bekannt geworden? Das Produkt, dass in nahezu jedem Personal Computer steckt, der Ende der 70er bis Mitte der 80er verkauft wurde? Das Produkt, bevor man DOS geklaut hat?

    BASIC ^^

    Wer würde Microsoft heute noch kennen, wäre IBM nicht derart selten dämlich vorgegangen und hätte die Firma von vorne bis hinten durchfinanziert und zur Belohnung auch noch das Produkt lizenziert, dass dessen Entwicklung sie vorfinanziert haben.



  • Bashar@work schrieb:

    CStoll schrieb:

    Darf ich diese Aussage als persönliche Beleidigung auffassen?

    Wozu, Tote sind, zumindest praktisch, nicht mehr satisfaktionsfähig.

    Das bezog sich nicht auf Dijsktra, sondern auf Herrn Schmitt.

    Außerdem trifft die Aussage auf dich nicht zu, oder hat dir jemand anderes gutes Programmieren beigebracht? Ich nehme an, du hast es dir selbst beigebracht, und dabei selbst die Knoten, die dir Basic ins Gehirn gesetzt hat, gelöst.

    Basic habe ich mir selbst (mit dem C64 Nutzerhandbuch) beigebracht, "gutes" Programmieren habe ich irgendwann während des Studiums gelernt.



  • Xin schrieb:

    Elektronix schrieb:

    schmidt-webdesign.net schrieb:

    Edsger Wybe Dijkstra sagt dazu dies: Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.

    Dem ist (nach reiflicher Überlegung) nichts mehr hinzuzufügen.

    Doch. Die Begründung ⚠

    Demnach müßte man vermuten, daß Bill Gates und Co. das Programmieren mit Basic begonnen haben. 🤡 💡

    Was war noch gleich das erste Produkt der Firma MicroSoft? Wofür war die Firma MicroSoft Ende der 70er Jahre, Anfang der 80er noch gleich bekannt geworden? Das Produkt, dass in nahezu jedem Personal Computer steckt, der Ende der 70er bis Mitte der 80er verkauft wurde? Das Produkt, bevor man DOS geklaut hat?

    BASIC ^^

    Wer würde Microsoft heute noch kennen, wäre IBM nicht derart selten dämlich vorgegangen und hätte die Firma von vorne bis hinten durchfinanziert und zur Belohnung auch noch das Produkt lizenziert, dass dessen Entwicklung sie vorfinanziert haben.

    Meiner Meinung nach eignet sich Basic am besten, wenn man ein Verständnis für die Funktion einer Programmsprache oder für die Gedankengänge bei der Programmentwicklung (auch auf Amateur-Basis) bekommen will.

    Gutes Programmieren hängt meiner Ansicht nach nicht von der Programmsprache ab, sondern vom Lehrer. Auch mit C/C++ kann man Spaghetti-Code erzeugen. Auch mit Basic kann man gut strukturierte Programme erzeugen. Und wie CStoll schon sagte, kann man Fehlentwicklungen durchaus nachträglich bereinigen. Sonst müßte man meinen, besagte Sudenten könnten nach ihrem 1. Semester nichts mehr dazulernen außer das sture Pauken von Programmsprachen-Vokabeln. Dann ist allerdings wirklich Hopfen und Malz verloren.



  • @Simon2: Dein kleiner philosophischer Ausflug in allen Ehren, aber du hast nicht verstanden was ich eigentlich gemeint habe.
    Glaub mir, als Informatik-Student werde ich genug zugekotzt mir Formalitäten und Definitionen. Und ich weiß sehr wohl, wie wichtig eine exakte Spezifikation für Implementierungen ist.
    Allerdings nervt mich es mich manchmal in normalen Diskussionen (wo es eben nicht um irgend ne Spezifikation geht), wenn Leute immer gleich mit der Definitions-Keule daherkommen. Dass führt dann meistens eh nur zu einem "dädädä, meine Definition is viel besser als deine!11" und Streiterein (siehe Performance-Mythen).



  • Elektronix schrieb:

    Demnach müßte man vermuten, daß Bill Gates und Co. das Programmieren mit Basic begonnen haben. 🤡 💡

    Bill Gates hat tatsächlich auf einem General Electric-Rechner mit Basic begonnen.



  • jepp schrieb:

    Elektronix schrieb:

    Demnach müßte man vermuten, daß Bill Gates und Co. das Programmieren mit Basic begonnen haben. 🤡 💡

    Bill Gates hat tatsächlich auf einem General Electric-Rechner mit Basic begonnen.

    Aha. Und ich dachte, er hätte Basic nur erfunden:

    Xin schrieb:

    Was war noch gleich das erste Produkt der Firma MicroSoft? Wofür war die Firma MicroSoft Ende der 70er Jahre, Anfang der 80er noch gleich bekannt geworden? Das Produkt, dass in nahezu jedem Personal Computer steckt, der Ende der 70er bis Mitte der 80er verkauft wurde? Das Produkt, bevor man DOS geklaut hat?

    BASIC ^^

    Klasse. Da tun sich ja ganz neue Karriereperspektiven auf. 🤡 😋 👍



  • [quote="CStoll"]

    schmidt-webdesign.net schrieb:

    Darf ich diese Aussage als persönliche Beleidigung auffassen?

    Was verleitet dich bei Dijkstras Aussage zu der Annahme der persönlichen Beleidigung?



  • [quote="schmidt-webdesign.net"]

    CStoll schrieb:

    schmidt-webdesign.net schrieb:

    Darf ich diese Aussage als persönliche Beleidigung auffassen?

    Was verleitet dich bei Dijkstras Aussage zu der Annahme der persönlichen Beleidigung?

    Ich bin Student und habe mit Basic angefangen zu programmieren - nach der von dir zitierten Aussage wäre ich also ein hoffnungsloser Fall.


Anmelden zum Antworten