Warum so schwer!?
-
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.
-
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*