Warum so schwer!?



  • 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.



  • Und geistig verstümmelt.



  • CStoll schrieb:

    Ich bin Student ...

    Student der Informatik? Dann ist dir Edsger W. Dijkstras Werk "How do we tell truths that might hurt?" vom 18. Juni 1975 sicher geläufig. Und die "Strukturierte Programmierung", die Mathematikprofessor Dijkstra eingeführt und dafür im Jahre 1972 den Turing Award erhielt, ist dir ebenfalls bekannt.

    CStoll schrieb:

    ... nach der von dir zitierten Aussage wäre ich also ein hoffnungsloser Fall.

    Wertneutral (also in keinster Weise beleidigend) und in Anbetracht deines Versuchs, Dijkstras Erkenntnisse ohne richtig überzeugende Argumente widerlegen zu wollen, eindeutig JA.

    PS: Schmidt schreibt man in meinem Fall mit DT, das hat meine Aussage allerding nicht wesentlich beeinflußt ...



  • Konnte man 1975 mit BASIC nicht "strukturiert programmieren" ? *staun*
    🙂



  • this->that schrieb:

    @Simon2: Dein kleiner philosophischer Ausflug in allen Ehren, aber du hast nicht verstanden was ich eigentlich gemeint habe. ...

    Scheint so. 😃

    Dass mir dieser Zusammenhang aus Deinen Posts nicht klar geworden ist, bitte ich zu verzeihen. Im Zusammenhang klang das für mich seeeehr nach Anderem aus ... nun gut.

    Zu den "Definitionen": Da gebe ich Dir vollkommen Recht - aber da geht es IMO nicht um "die Schwierigkeit des Programmierens", sondern um "die Schwierigkeit der menschlichen Kommunikation" (und außerdem nicht um den "Definitionsbegriff", den man aus der Mathematik kennt).

    Gruß,

    Simon2.



  • Taurin schrieb:

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

    Ui. ...die haben 1.500 Zeilen Code geschrieben, ohne diesbezüglich Vorbildung und Erfahrung zu haben? ...da soll nochmal einer sagen, dass das besonders schwer ist. 🤡 ...Code "produzieren" ist nicht schwer, das schafft auch jedes Schulkind, das sich dafür interessiert. Und Code hübsch machen ist eine Frage der Erfahrung.



  • CStoll schrieb:

    schmidt-webdesign.net schrieb:

    CStoll 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.

    Ich habe auch mit Basic angefangen.

    Ich glaube nicht an hoffnungslose Fälle, aber durch die Tutorien, die ich in C/C++ gab, weiß ich, dass wer erstmal auf dem falschen Weg ist, sich ein kompetentes Halbwissen aneignet und sich in vielen Fällen recht mystische Vorstellungen bilden. Das wieder grade zu rücken wird schwierig, wenn die Leute glauben wirklich kompetent zu sein. Ich habe mich erstmals nach 4 Jahren Basic mit 13 davon verabschiedet - früh genug, um zu wissen, dass man noch nicht kompetent ist.



  • Elektronix schrieb:

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

    Für Andere Sprachen gibt es leicht verwendbare Bibliotheken, mit denen man auf deutlich einfacherer Weise GUIs zusamenstellen kann. Dank RAD-Tools sogar soo leicht, das es ein Anfänger schafft.



  • Hallo allerseits!

    Ich häng mich mal einfach so rein. Also ich muss sagen, dass entgegen der geläufigen Meinung, Programmierung kein einfaches Gebiet ist. Ich selbst habe selbst so enige Jährchen auf dem Buckel und behaupote nun, dass ich einiges gesehen und gemacht habe (programmiere seit ca. 18 Jahren). Ich habe so ziemlich alles durch ... Assembler, Maschinensprache, Pascal, Delphi, C++, C# usw.

    Aber mal so schnell Klickibunti was zusammenschieben ist KEIN programmieren. Programmierung beschäftigt sich mit dem Zeugs hinter der GUI, den Zusammenhängen!

    Leider habe ich auch festgestellt, dass eine Vielzahl der aktuell studierenden Informatiker KEIN Ahnung von dem haben, was sie eigentlich später tun wollen. Ist leider so. Meine alte Firma sucht noch immer nach einen Nachfolger (nach 1,5 Jahren). Aber wenn ein studierter Informatiker nicht einmal in der Lage ist zu erklären, was ein template ist, dann tut es mir echt Leid!

    Wissen sollte man sich immer aneignen und bei dem schnellen Fortschritt ist es umso schwerer. Ich selbst bin der Meinung und habe auch immer wieder diese Erfahrung bestätigt bekommen, dass man wesentlich effektiver programmiert, wenn man die Zusammenhänge im Inneren einigermaßen kennt und versteht. Wenn man z.B. weiß, dass ein MOV AX, 0 länger dauert, als ein XOR AX, AX, der kann dies auf Basis der Hochsprachen effektiv ausnutzen. Wer weiß, wie der Compiler und Linker arbeitet, der kann diese Vorgänge gezielt ausnutzen. Und so könnte ich noch viele Weitere Beispiele geben ...

    Ich habe für den ganzen Vorgang bestimmt mindestens so 5 Jahre benötigt. Allerdings hatte ich den Vorteil, dass ich mit 13,5 Jahren die Chance bekam, mein Programm zu veröffentlichen. Danach war logischerweise Spieleprogrammierung dran (eher die Engine dahinter). Dadurch wurde ich Step by Step an die Materie rangeführt. Jetzt nutzt mir das ganze unheimlich viel ...

    Aber ok ... wollte ich nur mal gesagt haben.

    Ciao
    ariaci



  • Wenn man z.B. weiß, dass ein MOV AX, 0 länger dauert, als ein XOR AX, AX, der kann dies auf Basis der Hochsprachen effektiv ausnutzen.

    Soetwas wissen Compiler auch und bauen entsprechenden Code, so dass man in Hochsprachen sich nicht mehr darum kümmern muss.



  • Simon2 schrieb:

    Meinst Du: "... man muss zu viel über Computer wissen ..." ?

    ja, unnötig viel...

    Simon2 schrieb:

    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).

    klar, aber das werkzeug ist z.b. ein komplexes programm, von mir aus auch mehrere, oder eine programmiersprache, die man für seine arbeit braucht und die man beherrschen muss. das sollte eigentlich reichen. aber man muss ausserdem wissen wie man software installiert und wieder entfernt, viren los wird, netzwerk einrichtet, welcher browser der beste ist, welches direct-x drauf muss, wie man die registry aufräumt, windows neu installiert wenn's endgültig im eimer ist, drucker anschliesst, usw.uswusw...
    soll nicht heissen, das man das nicht lernen kann, wenn man bock darauf hat. aber wenn man z.b. nur bücher mit hilfe des PCs schreiben will, stelle ich mir das drumherum mega-nervig vor.



  • 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.

    Als mich ein Mitstudent mal beim Einkauf begleitet hat, hat er nachher erstaut festgestellt "also gehst also doch nicht immer so logisch und strukturiert vor wie beim Programmieren". Und auch du handelst wohl nicht immer logisch. Von "Logisch denken" in Bereich A solltest du nicht automatisch auf "Logisch denken" in Bereich B schliessen. Besonders da vieles auch Erfahrung und Gewohnheit ist. 😉 (Ist jetzt allerdings leicht OT).

    Helium schrieb:

    Wenn man z.B. weiß, dass ein MOV AX, 0 länger dauert, als ein XOR AX, AX, der kann dies auf Basis der Hochsprachen effektiv ausnutzen.

    Soetwas wissen Compiler auch und bauen entsprechenden Code, so dass man in Hochsprachen sich nicht mehr darum kümmern muss.

    👍
    Im Gegenteil ists oft genau dieses "Wissen", dass dafuer sorgt dass im Jahre 2007 immer noch Leute empfehlen, Shifts statt Divisionen und aehnliche Kunstgriffe einzusetzen.

    BTW ist Programmieren IMO nicht schwerer als Fussball spielen, Auto fahren oder Holzschnitzerei. Je nach Vorwissen und Uebung faellts eben einfacher oder nicht. Aber der Threadersteller hat sich ja glaub ich eh schon seit Seite 1 vom Thread verabschiedet 😃



  • Fußballspielen kann jeder normale Mensch sofort ohne Vorbereitungen. Programmieren nicht.



  • Fußballspielen kann jeder normale Mensch sofort ohne Vorbereitungen.

    Oujee! Dann laß mal einen übergewichtigen Sesselpupser - von denen es heute erschreckend viele gibt ⚠- Fußball spielen. Das hält der keine 5 Minuten durch...

    Ein sehr schöner Vergleich, der leider nicht von mir stammt: Programmieren ist wie Musik. Es reicht nicht, nur die Noten zu kennen. Erst, wenn man die Melodie einigermaßen ohne Stolpern spielen kann, beginnt die eigentliche Musik.
    Dazu muß ich sagen: Man muß das Instrument beherrschen, aber man muß nicht wissen, wie es gebaut ist.


Anmelden zum Antworten