Ein anderer Thread hier hat mich auf die Frage gebracht, welche Faktoren sich vorteilhaft oder hinderlich darauf auswirken, ob jemand erfolgreich programmieren lernt oder nicht. Neben allgemeinen Meinungen dazu, würde mich von euch mal ganz konkret interessieren: - Was war die erste Programmiersprache, die Ihr gelernt habt? - In welchem Alter wart Ihr da, und in welchem Jahr war das? (ungefähr) Fast noch interessanter fände ich Informationen über Leute, die beim Lernen ihrer ersten Programmiersprache letztlich "gescheitert sind", und dadurch vielleicht entnervt aufgegeben haben, programmieren lernen zu wollen. Nun gehe ich allerdings davon aus, dass die grosse Mehrheit der Leute hier erfolgreich programmieren gelernt hat, dieses Forum in dieser Hinsicht also völlig unrepräsentativ ist. Aber vielleicht könnt ihr ja von Erfahrungen von Leuten aus eurem Freundes-/Bekanntenkreis berichten, die Programmieren lernen wollten, aber damit nicht sonderlich erfolgreich waren und es irgendwann aufgegeben haben? Oder vielleicht seid ihr beim ersten Versuch, programmieren zu lernen, selbst erst einmal "gescheitert", und wart erst bei einem späteren Versuch erfolgreich, als ihr irgendetwas geändert habt? Was betrachtet ihr, mit eurer heutigen Erfahrung etc., als "didaktische Erfolgs-/Misserfolgs-faktoren", wenn es um's Programmieren lernen geht? Wie würdet ihr vorgehen/auf was würdet ihr achten, wenn ihr euren eigenen Kindern erfolgreich programmieren beibringen wolltet?
* BASIC aufm ZX81 mit 11 * BASIC aufm Casio CFX-9850G mit 13 * QBASIC aufm Win95-Rechner ab 15 * QuickBasic auf Win95 ab 16/17, boah war ich stolz, dass ich exe-Dateien erstellen konnte! * 8051-Assembler mit 17/18, gelernt nur mit Karo-Papier, Mnemonic-Tabelle und Taschenrechner für Hex-Umrechnungen. Erst später dann nen Assembler und Simulator (Batronix Progstudio) in die Finger gekriegt und mit dem Internet gings los! * Borland C ab 18: die erste Programmiersprache im Rahmen des Schulunterrichts (12. Klasse Technisches Gymnasium). Viele Leute taten sich mit Pointern schwer, da half mir die indirekte Adressierung vom 8051 * Das erste Mal Knoppix entdeckt. Seitdem immer wieder mit verschiedenen Linux-Live-CDs rumgespielt. * FreeBASIC so mit 20/21 kurz vorm Abi entdeckt * zwischendurch mit HTML und CSS rumgespielt und ne eigene Website erstellt. Später dann wegen "Urheberrecht" vom Netz genommen. Seit dem hab ich keine Lust mehr. * Im Studium wieder 2 Semester C, aber langweilig * Nach und nach das Open-Source Universum entdeckt: MS Office und Internet Explorer wurden durch OpenOffice und Firefox ersetzt. * Immer wieder mir proprietären Programmen und Dateiformaten auf die Nase gefallen und versucht, wann immer es ging durch offene Formate zu ersetzen * zwischendurch mit AVR-Assembler & C rumgepfuscht * MATLAB so mit 22/23 im Studium lernen und lieben gelernt * Im Rahmen des Hauptpraktikums mit 25/26 dann auf Octave umgeschwenkt (Industrieumfeld, wegen Lizenzen) * zwischendurch 2x45 Minuten auf LabView rumgeklickt * LaTeX für studentische Arbeiten benutzt, gelegentlich noch privat im Einsatz * Ubuntu 09.04 konsequent für Diplomarbeit benutzt * mit Rockbox meinen MP3 angepasst * beruflich benutze ich meist LTSpice, Excel (ohne VBA) und Octave * mit 31 Python ausprobiert wegen Raspberry, aber zu wenig zu Zeit, um damit konsequent ein Projekt durchzuziehen. Mag aber die Datenstrukturen und Iterationen über Objekte, gefühlt noch einfacher und mächtiger als MATLAB * auf Xubuntu 14.04 avanciert und nun 16.04 im Einsatz * Bin jetzt 34 und hab mich für nen Arduino-Einsteigerkurs angemeldet -- mit Frauchen Würde gerne mal was mit GUIs machen oder Android-Apps programmieren, aber zum einen scheints ja schon alles zu geben, zum anderen fehlt einfach die Zeit. Spiele gelegentlich mit Software Defined Radio (SDR) aufm DVB-T-Stick rum und würde gerne auch einen kompletten Empfänger (z.B. standalone aufm Raspberry) aber auch hier gibts das Zeitproblem. Im nachhinein würde ich sagen, dass der BASIC-Einstieg damals (noch bevor ich Internet hatte) gut war, da man nicht eben copy&paste machen konnte, sondern sich selber mit dem Problem befassen musste und es in Teilprobleme zerlegt hat. Auf Heft-CDs gab es damals noch Basic-Programme und Spiele von anderen Leuten und so guckte man sich das ein oder andere ab. Aus Spaghetti-Code wurde allmählich strukturierter Code mit Funktionen. Mit Schul-C war ich dann soweit, dass ich mir viele Funktionen, die es eigentlich schon gab, selbst geschrieben habe, einfach um es selber besser zu verstehen, z.B. String-Funktionen zum Zentrieren, Entfernen von Leerzeichen, upper-/lowercase, trigonometrische Funktionen über Reihenentwicklung etc. Habe damals echt viel gelernt, das mir noch bis heute hilft, ein Problem systematisch anzugehen. Mittlerweile programmiere ich nicht mehr. Beruflich mache ich Analog-Entwicklung und Scripte sind nur Mittel zum Zweck, um Messdaten auszuwerten oder Hardware anzusprechen. Privat wird nur gelegentlich rumgespielt. Aus Zeitmangel kann ich leider kein Projekt konsequent verfolgen. Da gibts Hobbies, die eine höhere Priorität genießen.
Ab 1983: Pascal 8086 Assembler 68000 Assembler irgendwelche 8 Bit µC Assembler C ...
BASIC auf dem Commodore 3008, später VC-20, später C-64 6502 Assembler auf Commodore Computer. 8080 Assembler auf Berghof Steuerungstechnik C auf Z80 Industriecomputer C unter MS-DOS / PC-DOS C unter Linux und OS/2 C++ und C# QBasic auf PC-XT QuickBasic PC-AT VisualBasic auf PC Java
:
Bearbeitet durch User
Hm das ist schon so lange her ;) GWBasic war das erste auf nen damals schon veralteten 086er QBasic aufm 286er In der Schule Turbo Pascal waren damals 386er Und dann hab ich es irgend wann aufgegeben mit den "Hochsprachen" hab noch ne zeit lang in Kylix und Gambas Programmiert. Mittlerweile ehr Bash/PHP/mpasm, ich kann zwar C recht gut lesen und verstehen aber das Programmieren damit bekomme ich nicht mehr hin, hab noch versucht Java zu lehren aber irgendwie schwindet mit der Zeit auch die Lust sich noch Ernsthaft damit zu beschäftigen.
BASIC auf einen Commodore C64 Assembler 68000 auf einen Commodore Amiga500 C (ein wenig), Linux SML/NJ(das war am hilfreichsten und am wichtigsten), JAVA an der UNI C, C++ (Embedded Systeme), Java in der Arbeit
BASIC auf dem Commodore PET 2001, der war damals aber schon nicht mehr ganz aktuell. Dann erste Schritte in ASM auf dem C64.
als teenager: 1980: Fortran auf Siemens 1981: Basic, ASM auf Z80 danach: C, Cobol, Forth, Pascal, PL/I ASM auf 8085
Meine Liebligsprogramiersprache ist QBasic unter MS-DOS. Ich bin jetzt auf Linux umgestigen, da gibt es leider kein QBasic. Nun bin ich dabei mich mit Python anzufreunden. Bei Mikrocontroller, zum Beispiel 80C31, benutze ich Assembler, weil das da am einfachsten zuverstehen ist.
Hoi, 6502 Assembler auf einem KIM-1 (256 Byte Speicher) 6502 Assembler auf Rockwell AIM-65 Basic auf Rockwell AIM-65 Basic auf Apple II 8080 Assembler auf einem Industrie Rechner Z80 Assmbler auf ECB Bus System Turbo Pascal auf Apple II mit Z80 Karte Danach "C" auf einem Apple II mit 5 MByte Festplatte Danach "C" und Pascal auf einem IBM kompatiblen System Heute Delphi Ciao
Basic und Assembler auf Commodore64 - ca. 1985 Qbasic und Quickbasic - ca. 1990 Embedded C - ca. 2000 ab 2010 C# und Python
* QBasic mit 7 (386er unter MS-DOS) * Python mit 11 * PHP mit 14 Irgendwann dazwischen dann noch die üblichen verdächtigen, Java, C und div. Skriptsprachen wie Ruby, JavaScript, AppleScript, LuaScript, ...
Danke schon mal für die bisherigen Beiträge! Ich fühle mich bereits jetzt in meiner Vermutung bestätigt, dass ganz viele von denjenigen, die erfolgreich programmieren gelernt haben, tatsächlich mit Basic angefangen haben, und zwar noch in der Zeit der "Heimcomputer". Basic ist aus heutiger Sicht zwar vielleicht eine "Scheiss-Programmiersprache", die mit ihren Zeilennummern und dem GOTO-Spaghetticode schlechten Programmierstil nahelegt; dennoch scheint Basic als erster Einstieg in die Programmierung trotzdem als didaktisch vorteilhaft erwiesen zu haben... Ein bisschen verwundert bin ich übrigens darüber, wie viele Leute nach Basic als erster Sprache offenbar direkt mit Assembler befasst haben. Das war bei mir genauso - bislang habe ich das im Nachhinein eher als schlechte Entscheidung betrachtet, aber vielleicht war es das gar nicht.
Joachim S. schrieb: > Ein bisschen verwundert bin ich übrigens darüber, wie viele Leute nach > Basic als erster Sprache offenbar direkt mit Assembler befasst haben. > Das war bei mir genauso - bislang habe ich das im Nachhinein eher als > schlechte Entscheidung betrachtet, aber vielleicht war es das gar nicht. Es gab ja nix ;) (ok so alt bin ich nicht)ich hab immer die alten Rechner von nem Bekannten bekommen der hat damit Trading gemacht mehr nicht, man hat dann das genommen was dar war, wenn man niemanden kante der auch nen PC hatte, und das war halt immer "BASIC". An meinen Ersten Rechner den 086er kann ich mich noch erinnern der wurde damals in die DDR exportiert, und die haben den zurückgeschickt weil sie meinten deren Nachbauten waren besser ;) Fehlentscheidungen der Geschichte halt ;) hm ich glaub da war ich 10 oder so.
Ja Basic schafft ein Verständnis für Variablen, Schleifen und if Abfragen. In Assembler geht es dann ans Eingemachte um zu verstehen wie eine CPU funktioniert. Das hatte ich mir beides in Eigenregie beigebracht weil es mich interessiert hat. Es reicht aber nicht um grössere Projekte umzusetzen. Am meisten begeistert hat mich dann eben SML mit ganz strikter Typisierung, funktionaler Programmierung die komplett ohne Schleifen auskommt, Daten Kapselung, ... In der Praxis ist dann wohl die objektorientierte Denkweise das Wichtigste um Projekte umsetzen zu können.
Joachim S. schrieb: > Basic ist aus heutiger Sicht zwar vielleicht eine > "Scheiss-Programmiersprache", die mit ihren Zeilennummern und dem > GOTO-Spaghetticode schlechten Programmierstil nahelegt Das ist Unsinn und das war auch damals Unsinn. 1974 Algol auf Industrierechner 1976 auf Pascal gewechselt (nicht schwer, da syntaktisch verwandt) 1980 eigenen Z80 (U880) Rechner gebaut Basic und Pascal unter SCP Lange nichts mehr mit Rechnern zu tun gehabt... Visual Basic auf Windows-Rechner gewechselt zu Pure-Basic 2004 wieder angefangen mit AVR-Assembler C versucht zu verstehen, kryptischen Mist in die Ecke gefeuert :(( Bascom und Assembler (teilweise in Quelltext gemischt)verwendet Bis heute so weiter. MfG Paul
Joachim S. schrieb: > asic als erster Einstieg in die Programmierung trotzdem als didaktisch > vorteilhaft erwiesen zu haben... Meines Erachtens ein gewagter Schluss. Fakt ist es gab nichts, damal konnte man für einen Cross Compiler der auf einem PC/XT 68000 Code erzeugte gerne mal 1000DM zahlen. Ich hatte Turbo Pascal 3.0 kopiert und dann das 4.0 gekauft für (ich glaube) ca. 200DM. Basic war halt auf den Commodores und sonstigen 8 Bit Heimcomputern und teilweise den PCs dabei oder leicht beschaffbar. Aber "didaktische Vorteile", ich weiss ja nicht.
Joachim S. schrieb: > dennoch scheint > Basic als erster Einstieg in die Programmierung trotzdem als didaktisch > vorteilhaft erwiesen zu haben... Basic war auf den meisten Homecomputern in den 80ern einfach drauf, da ging garnix anderes. Wenn ich die Möglichkeit gehabt hätte, mit Pascal zu starten, wäre mir das Programmieren später sicher leichter von der Hand gegangen. Die Umstellung von Spaghetti auf Struktur war nochmal ein ziemlicher Lernaufwand. Natürloch hätte man auch in Basic strukturiert programmieren können, aber wozu, wenn es auch ohne geht. Zu Deiner ursprünglichen Frage: Basic auf Commodore CBM 4032 und Triumph Adler Alphatronic Z80 Assembler Als dann Floppy und CP/M für den Alphatronic verfügbar wurden, Pascal Im Studium C/C++/Java und den ganzen neumodischen Kram. Und, oh ein Gott, Oberon... Erinnert sich noch jemand an Oberon? Momentan halte ich Python für die Krone der Schöpfung :-)
FORTRAN auf IBM 1620 während des Studiums Anfang der 70er Commodore BASIC Ende der 70er und Anfang der 80er GW BASIC auf IBM PCs in den 80er TURBO PASCAL in den 80er Delphi PASCAL bis heute LunaAVR für Mikrocontroler Projekte Unglaublich aus heutiger Sicht was man mit den ollen Commodore CBM Kisten für kommerzielle Projekte erstellt hat. So habe ich Anfang der 80er z.B. für die damalige Feldmühle AG in Bielefeld eine Fertigungsstrassenüberwachung für riesige Papierrollen erstellt. Der Commodore hat ein A/D-Wandler Frontend für die Messdaten angesteuert (Messdaten kamen als 4 - 20 mA), die verarbeiteten Werte über ein serielles Interface an ein Farbterminal als Grafik ausgegeben und die Werte auf Festplatte gespeichert. Zudem konnte die Historie grafisch und als numerische Daten auf dem Terminal angezeigt werden. Das alles passte in das winzige RAM des Rechners. Dieses System war jahrelang im Einsatz. Übrigen war damals auch Siemens als Mitanbieter im Spiel. Ich war stolz wie Hulle den Auftrag gegen Siemens (10 mal so teuer) zu gewinnen.
Anscheinend gehöre ich doch zur jüngeren Generation hier :-) So um 2000 rum habe ich mit zwölf Jahren als erstes HTML und CSS gelernt. Das ist zwar keine Programmiersprache, gab aber die ersten Erfolgserlebnisse in der Richtung. Ein paar Zeilen Code und man konnte beliebige Texte und Bilder anzeigen. Darauf dann bald JavaScript, was man als wirkliche Programmiersprache bezeichnen kann und dann ein bis zwei Jahre später C++. HTML mit CSS JavaScript C++
Damals 1989 : Arbeitsamt - Maßnahme : 1/2 jährige Ausbildung (ganztags) zum PC - Programmierer. Fächer : - MS-DOS - GW-BASIC - GRUNDLAGEN COBOL - dBASE III - CLIPPER Danach : weil es sonst nix gab, Raubkopie von Turbo Pascal 4.0 gehabt. D.h. Gegeben für Geld hat es schon was, bloß hatte ich dieses damals nicht. Später dann CLIPPER für 1200 DM gekauft. Blieb alles als Hobby. Seit der Zeit des Internets verschiedenes ausprobiert. Dort auf PureBasic und Profan gestoßen, das ich heute noch nutze. Ab und zu werden noch kleine Apps mit B4A für Android gemacht.
:
Bearbeitet durch User
(ca 1971 der Kosmos Spielcomputer Logikus, 10 Schiebeschalter und Glühlämpchen) 1976 Fortran-Kurs an der Uni (auf Univac 1108, Eingabe via Baudot-Code- Lochstreifen vom Fernschreiber, Lochkarten waren für gewöhnliche Studenten zu teuer), gleichzeitig ein programmierbarer Taschenrechner HP25 https://de.wikipedia.org/wiki/HP-25 1979 Aim-65 (4k RAM, 8K Betriebssystem im ROM) zuerst Assembler, später noch ein Basic-ROM (300 DM!) ein paar gebrauchte Apple ÜÄ Nachbauten, 1986 der Atari 1040ST mit Omicron-Basic (ohne Zeilennummern), 1992 der erste PC mit Win3.1.
Joachim S. schrieb: > tatsächlich mit Basic angefangen haben, und zwar noch in der Zeit der > "Heimcomputer" Ja, die Jungspunde. Es gab auch eine Zeit vor Basic, ich habe als erstes 1969 Algol auf der CDC der Uni Tübingen gelernt. Basic gab es zwar schon, verfügbar war es aber nicht, weil es noch keine Heimcomputer gab, sowas wie Commodore C64 kam erst in den 80er Jahren. Es gab nur die Rechenzentren der Universitäten, und da war Basic nicht üblich. Georg
Moin, das erste "ernsthafte" war AmigaBasic. Das kam damals gleichzeitig zum GW Basic raus und war um Welten besser (keine Zeilennummern, Import von Bibliotheken u.s.w.) Später an der Schule gabs dann ein Kurs in Pascal. In der Lehre haben wir dann Programmierkontests in QBasic gemacht. Dann bei der Wehrpflicht hab ich, aus purer Langeweile, angefangen C/C++ zu lernen. Ein wenig Assembler kam dann später (für PIC's) und nun bin ich bei C# gelandet. Zwischendrin gibts gerne mal Python und, dafür schäme ich mich ein wenig :), ich hab auch fiese Sche**e in VBA getrieben. Glaubt man gar nixth, wofür man Excel so mißbrauchen kann.
Commodore 64 BASIC. War so Ende der Achtziger etwa.
Joachim S. schrieb: > Ein bisschen verwundert bin ich übrigens darüber, wie viele Leute nach > Basic als erster Sprache offenbar direkt mit Assembler befasst haben. > Das war bei mir genauso - bislang habe ich das im Nachhinein eher als > schlechte Entscheidung betrachtet, aber vielleicht war es das gar nicht. Wie andere schon andeuteten, war nicht viel anderes da, zumindest im Commodore-Heimcomputerbereich. Bei mir war es auch zuerst (1994) Basic auf einem VC-20. Da waren dann die endlosen, mystischen "DATA"-Zeilen mit Maschinencode, die ich aus der 64'er abgetippt habe, noch Woodoo :-) Ein Jahr später habe ich dann 6502-Assembler (auf VC-20 und später C-16) gelernt. Danach dann Turbo-Pascal auf einem Apple-II mit CP/M-Karte. Im Studium dann C++, Tcl und C sowie PHP. Python dann vor zwei Jahren, aber eher, um bestehende Programme modifizieren zu können. Wirklich Neues wird hier in Tcl und C (seltener C++) geschrieben
K. J. schrieb: > Es gab ja nix ;) Hehe, stimmt schon, ja. :) Das habe ich wirklich nicht ausreichend bedacht. Wer seine ersten Programmiererfahrungen in den Zeiten der "Homecomputer" a la C64 & Co. gemacht hat, für den war halt Basic naheliegenderweise die erste Programmiersprache. Und wenn man über den Basic-Tellerrand hinausblicken wollte, dann gab da es ausser Assembler halt fast nix... DerAndere schrieb: > [Basic] > Aber "didaktische Vorteile", ich weiss ja nicht. Trotz der eindeutig vorhandenen Nachteile, die Basic hat (wie eben GOTO-Spaghetticode), hat Basic diverse Eigenschaften, die meiner Meinung nach für eine erste Programmiersprache sehr sinnvoll sind: - Interaktive Befehlseingabe-Shell, um etwas ganz fix ausprobieren - Kein Code-Skelett nötig; für den ersten Programmiererfolg ist ein einziger Befehl nötig: print "Hello, World!" statt bspw. public class HelloWorld { public static void main (String[] args) { System.out.println("Hello, World!"); } } (wo bereits zig Dinge vorkommen, die man als absoluter Beginner nicht versteht, und bei denen man sich erst einmal mit einem wenig befriedigenden "Ignorier das alles erst einmal, das musst Du jetzt noch nicht verstehen, das macht man halt so" begnügen muss) Java oder C(++) sind meiner Meinung nach z.B. extrem schlechte Kandidaten für die Wahl der allerersten Programmiersprache.
Anfang der 80er, Basic auf einem Atari 800. Mitte der 80er 8085 Assembler auf Papier und dann mit einem Eprombrenner mit HEX Tastatur direkt ins EProm gehackt :)
Poster schrieb: > Anfang der 80er, Basic auf einem Atari 800. > Mitte der 80er 8085 Assembler auf Papier und dann mit einem Eprombrenner > mit HEX Tastatur direkt ins EProm gehackt :) Ja, das waren noch Zeiten: mühsam per Mäuseklavier die Adressen und Daten eingestellt, Per Taster einen NE555 gestartet - und nächstes Byte. Was für eine Arbeit. Und wehe, man hat sich vertan ... Und dann die alte Melanom-Höhensonne zweckentfremdet und die Eproms auf dem Teppich gelöscht - die ausgeblichene Stelle sieht man heute noch, wird aber schon lange durch ein Bett verdeckt. Mum was not amused :-)
:
Bearbeitet durch Moderator
Joachim S. schrieb: > Ignorier das alles erst einmal, das musst Du jetzt noch > nicht verstehen, das macht man halt so" begnügen muss) Ja und, bei einem Basic Interpreter ignorierst du daß da ein Programm laufen muss (nämlich der Interpreter). Man kann genauso argumentieren, daß C oder Pascal viel besser sind, weil man von Anfang an lernt eine Toolchein zu benutzen und wie der Weg von einem Sourcecode zu einem ausführbaren Programm geht. Oder man könnte argumentieren, das Assembler (speziell für µCs) viel besser ist weil man von Anfang an lernt wie der µC intern arbeitet. Sollte das jetzt eigentlich eine reine Umfrage oder ein "Basic ist toll" Thread werden? :-)
Chris D. schrieb: > Und dann die alte Melanom-Höhensonne zweckentfremdet und die Eproms auf > dem Teppich gelöscht - die ausgeblichene Stelle sieht man heute noch, > wird aber schon lange durch ein Bett verdeckt. Mum was not amused :-) :-) Ich hatte einen Kumpel, dessen Bruder ihm ein ausrangiertes Löschgerät aus der Firma mitgebracht hatte.
Der Andere schrieb: > Ich hatte einen Kumpel, dessen Bruder ihm ein ausrangiertes Löschgerät > aus der Firma mitgebracht hatte. Und ich hatt einen Kameraden, Einen bessern findst du nit. Die Trommel schlug zum Streite, Er ging an meiner Seite Im gleichen Schritt und Tritt. Es besteht der gleiche Zusammenhang meines und Deines Beitrages zum Thema: KEINER MfG Paul
Paul B. schrieb: > MfG Paul Die MFG waren aber gelogen. Komm Paul weg von meiner Schulter, nicht dass du mir noch den Pulli versaust.
Joachim S. schrieb: > Trotz der eindeutig vorhandenen Nachteile, die Basic hat (wie eben > GOTO-Spaghetticode), hat Basic diverse Eigenschaften, die meiner Meinung > nach für eine erste Programmiersprache sehr sinnvoll sind: > - Interaktive Befehlseingabe-Shell, um etwas ganz fix ausprobieren > - Kein Code-Skelett nötig; für den ersten Programmiererfolg ist ein > einziger Befehl nötig: > print "Hello, World!" > > statt bspw. > public class HelloWorld > { > public static void main (String[] args) > { > System.out.println("Hello, World!"); > } > } > (wo bereits zig Dinge vorkommen, die man als absoluter Beginner nicht > versteht, und bei denen man sich erst einmal mit einem wenig > befriedigenden "Ignorier das alles erst einmal, das musst Du jetzt noch > nicht verstehen, das macht man halt so" begnügen muss) > > Java oder C(++) sind meiner Meinung nach z.B. extrem schlechte > Kandidaten für die Wahl der allerersten Programmiersprache. Deshalb mag ich heute noch gerne das XProfan, wo man auch mal auf die Schnelle was ausgeben kann : Cls Print "5 x 4 =", 5 * 4 Waitkey End Ist doch schön BASIC - like ?
Hi, - angefangen mir BASIC ca. 1985 auf eine Z9001 später KC-87 - Basic/ Pascal und Assembler auf Amiga 500 - C/ C++ auf Amiga 4000T - danch bis heute C++ auf PC und C/C++ auf Mikrocontroller alles nur als Hobby mfg rocky_j
Hallo meine ersten Schritte hatte ich auch unter Basic auf dem C64 gemacht - wobei es wirklich nur die "ersten Schritte" waren und ich Teilbereiche zwar verstanden habe, aber wegen einer Mischung aus Faulheit und mangelnden Talent(?) recht schnell aufgehört habe. Dann irgendwann in der Schule (7 oder 8 Klasse) ein wenig Pascal (glaub ich zumindest...) um irgendwelche Grafischen Effekte zu erzeugen und wieder ähnliche Probleme gehabt wie beim Basic als es in "Eingemachte" ging. Danach sehr lange nichts mehr (sondern seit Jahrzehnte bis zum heutigen Zeitpunkt andauernd viel Hardware und Elektronik basteln welche mir auch in der tieferen und nicht immer anschaulichen Theorie viel besser lag und noch immer liegt). Vor etwa 15 Jahren auch mal ausführlicher BASCOM AVR für die AVR µC, das hatte schon besser geklappt und fertig vorliegende Programme kann ich auch ganz gut analysieren und verstehe diese zum Großteil auch, mit den Selbstentwickeln haperst es immer noch - ganz unabhängig von der Programmiersprache. Danach und hin und wieder auch noch aktuell, es mit C und der Arduino GUI versucht - und während es mit den einzelnen Grundlagen und den Ideen dahinter auch bei komplizierteren Sachen eigentlich wenig bis keine Probleme gibt (und das Netz auch eine sehr große Hilfe ist) so bekomme ich einfach diese "verknoteten" Lösungswege bei echten (µC)Programmen aus eigener Energie und "Gefühl" nicht hin. Selbst mit den Grundlagen von Assembler bei µC (AVR) habe ich mich schon tiefer auseinander gesetzt - und der enge Bezug zur Hardware trägt für mich sogar zum Verständnis bei (keine Lüge !) und bringt mir eigentlich (zum Grundverständnis) viel mehr als die Hochsprachen. Aber wieder das gleiche Kernproblem: Ich komme mit den "verknoteten um die Ecke" denken bei realen Anwendungen nicht wirklich klar - vor allem wenn es mit Tricksereien mit den Countern und Timern in realen Programmen geht - und zwar nicht mit den einzelnen Modes und deren Arbeitsweise sondern mit den Ideen was in welchen Variablen gespeichert werden soll, wie diese Variablen dann mit anderen zusammen arbeiten, welche Werte abhängig von anderen und Zuständen an Ein- und Ausgängen hoch- oder runtergezählt werden sollten usw. Auch wenn sich meine Probleme nur auf µC Anwendungen beziehen, nehme ich an das die Problem bei anderen "Programmierversagern" ähnliche Ursachen haben. Ja mir ist bekannt das üben viel hilft, und man alles in Teilprobleme aufteilen soll und auch fertige Programme als Beispiel zum Lernen dienen sollen - aber trotzdem wird aus mir nie ein guter eigenständiger Hobbyprogrammierer werden, selbst wenn ich jetzt jeden Tag fleißig üben und lernen würde, mein Gehirn ist wohl mehr auf Hardware geprägt oder von der Natur "einjustiert" worden. Jemand
Der Andere schrieb: > Ja und, bei einem Basic Interpreter ignorierst du daß da ein Programm > laufen muss (nämlich der Interpreter). Man ignoriert aber doch so oder so erst einmal zig Sachen, z.B. dass da im Hintergrund ein Kernel bzw. ein OS werkelt. > Man kann genauso argumentieren, daß C oder Pascal viel besser sind, weil > man von Anfang an lernt eine Toolchein zu benutzen und wie der Weg von > einem Sourcecode zu einem ausführbaren Programm geht. Klar, das kann man auch durchaus so sehen. Ich persönlich glaube aber halt: Es ist didaktisch sinnvoller, wenn der Lernende Stück für Stück lernt, sich erst einmal auf das Wesentliche konzentrieren kann, rasch erste Programmiererfolge verzeichnen und so Aspekte wie Toolchains erst einmal ignorieren kann. An so unvermeidlichen Aspekten wie Toolchains kommt er früher oder später wohl nicht vorbei - aber warum soll er sich gleich am Anfang mit Compilern, Linkern etc. beschäftigen? > Oder man könnte argumentieren, das Assembler (speziell für µCs) viel > besser ist weil man von Anfang an lernt wie der µC intern arbeitet. Klar kann man so argumentieren. Aber ich wette: Würdest Du z.B. einen "Programmierkurs für absolute Anfänger" für eine Gruppe Kinder/Jugendlicher anbieten, und SO vorgehen, dann würde beim zweiten Treffen fast niemand mehr erscheinen. Weil Du durch Deine Wahl von Assembler als erster Programmiersprache komplett versagt hättest, die Kinder/Jugendlichen dafür weiter zu interessieren. Viel zu viel kryptischer Scheissdreck, den man lernen muss, bevor die kleinsten Erfolge eintreten. > > Sollte das jetzt eigentlich eine reine Umfrage oder ein "Basic ist toll" > Thread werden? :-) Falls da ein Missverständnis vorliegt: Ich bin kein Basic-Fan, ich habe Basic zum letzten Mal vor fast 30 Jahren benutzt und plane auch nicht, daran etwas zu ändern. In meinen Augen ist Basic heutzutage auch gar nicht mehr sinnvoll - in meinen Augen ist eh Python das neue (und bessere) Basic. Ehrlich gesagt geht mir der Thread bislang auch zu sehr in Richtung einer reinen Aufzählung der Programmiersprachen, die man gelernt hat. Das ist zwar interessant, aber mich würden mal noch mehr Meinungen zu folgenden Fragen interessieren: - Was sind eurer Meinung nach vorteilhafte/nachteilige Eigenschaften für die "allererste Programmiersprache", um programmieren zu lernen? - Welche konkrete Programmiersprache etc. würdet ihr verwenden/wie würdet ihr didaktisch vorgehen, wenn ihr euren eigenen Kindern programmieren beibringen wolltet? @Jemand: Dein Beitrag hat mir sehr gut gefallen, weil Du auch mal die Hindernisse und Probleme angesprochen hast, die beim Programmieren lernen halt so auftreten können.
QBASIC auf dem PC (XT), dann BASIC auf dem C64, sowie etwas ASM des 6510. Später dann wieder QBASIC, als das zu langsam wurde Turbo-C. Danach C auf dem µC (AVR) und C/C++ unter Visual Studio. Inzwischen bin ich am liebsten im Bereich C (ARM Cortex-M Microcontroller) bzw. C/C++ (PC) unterwegs, wo große Datenmengen sehr schnell verarbeitet werden müssen. Beides sowohl beruflich (MDK-ARM) als auch als privat im Hobbybereich (Showlaser).
:
Bearbeitet durch User
Sepp Huber schrieb: > BASIC auf einen Commodore C64 > Assembler 68000 auf einen Commodore Amiga500 > C (ein wenig), Linux > SML/NJ(das war am hilfreichsten und am wichtigsten), JAVA an der UNI > C, C++ (Embedded Systeme), Java in der Arbeit Ha, das kann ich fast so kopieren... BASIC auf einen Commodore C64 Assembler auf einem 6502 EMUF (kennt das noch jemand?) für einen Bordcomputer eines Modellschiffs Assembler 68000 und später C auf einen Commodore Amiga500 Pascal und C an der FH (Pascal nur für die FH, hat mich nie interessiert) C++ unter Windows und jetzt Linux Etwas Python unter Linux Java bei der Arbeit (und nur dort) Vor einem Jahr wollte ich mal mit Android Programmierung anfangen, habe es aber wieder gelassen nachdem ich gesehen habe wie lahmarschig die dazu notwendigen Tools sind. (AndroidStudio, Emulator)
Es ging 1980 in der 11. Klasse los. BASIC auf Apple II 6502 Assembler auf Apple II UCSD Pascal auf Apple II
Joachim S. schrieb: > - Was war die erste Programmiersprache, die Ihr gelernt habt? > - In welchem Alter wart Ihr da, und in welchem Jahr war das? (ungefähr) ZX81 BASIC, in 1982/83. Danach Z80 Assembly gelernt (per Hand assembliert auf papier und dann in eine riesig lange REM-Zeile in ZX-81 BASIC eintippt :-)) Dann C64/VIC-20/PET BASIC. Mit Assembler auf dem 6510 bin ich aber nie warm geworden. Dann zurück zum Z80 mit MSX-2 (BASIC und ASM). Andere Sprachen habe ich dann an der Uni gelernt: Pascal, Modula-3, Prolog, C, Miranda, Elan, CDL, Clean und noch ein paar obskure Dialekte. Und im berufsleben dann noch die modernere übliche Verdächtigen: Java, C++, Python...
:
Bearbeitet durch User
Joachim S. schrieb: > - Was sind eurer Meinung nach vorteilhafte/nachteilige Eigenschaften für > die "allererste Programmiersprache", um programmieren zu lernen? > - Welche konkrete Programmiersprache etc. würdet ihr verwenden/wie > würdet ihr didaktisch vorgehen, wenn ihr euren eigenen Kindern > programmieren beibringen wolltet? Kommt drauf an. Für mich war HTML und JavaScript damals ideal. Halt, weil sie nicht besonders kompliziert sind, aber vor Allem, weil man dafür praktisch nichts braucht. Meine C++-Anfänge haben sich verzögert, weil ich keinen Compiler bekommen habe. Ich habe damals über Modem eine dreiviertel Stunde den Borland-Compiler runtergeladen, aber nicht zum Laufen gekriegt. Wir hatten etwa ein Jahr vorher erst einen Computer bekommen und ich war der einzige, der sich einigermaßen auskannte. Für HTML und JavaScript braucht man eben nur einen Editor und einen Browser, zwei Programme, die damals schon standardmäßig installiert und eingerichtet waren.
Was mich wundert: nur 1 x Forth und 0 x Occam. Das war doch seinerzeit das Beste überhaupt ;-)
m.n. schrieb: > und 0 x Occam Den Leuten war das damit verbundene Rasiermesser zu gefährlich. mfG Paul
Cobol (1972) Algol HP-Basic Fortran Wang Assembler PASCAL für Mainframe Assembler für 6800/6809 Pascal für Apple Basic für Apple GFA-Basic für Atari C für Atari Assembler für 68000 Q-Basic für MS-Dos Delphi für MS-Dos Delphi für Windows Java C++ (nur 2 Wochen lang) Microbasic MicroPASCAL BASCOM Assembler für AVR Fazit: Nur Sprachen die keine Syntaxprobleme mit sich bringen sind sinnvoll. Je höher die Orientierung an einer rein mathematischen Schreibweise, desto besser. ... und noch ein paar Exoten (für Gutachten)
Joachim S. schrieb: > Ein bisschen verwundert bin ich übrigens darüber, wie viele Leute nach > Basic als erster Sprache offenbar direkt mit Assembler befasst haben. Mich kein bisschen. Bei so ziemlich allen dürfte der primäre Grund dafür, sich überhaupt mit einer anderen Sprache zu beschäftigen, das Problem der beschränkten Resourcen gewesen sein. RAM war oft knapp und die Rechenleistung genügte auch selten. Und die logische Folge ist (damals genauso wie heute): Man nimmt die Sprache, die am ehesten das Potential hat, die Engpasse aufzuweiten, also Assembler. Und natürlich ist es nie schlecht, wenigstens eine Maschine (besser noch ein paar mehr) auch in Assembler komplett zu beherrschen. Diese Kenntnisse helfen auch dabei, in höheren Sprachen effizient zu programmieren, vor allem halt in den den Hochsprachen der ersten und zweiten Generation, also inbesondere C und Pascal, die noch recht maschinennah sind (C z.B. ist ja eigentlich kaum mehr als ein etwas aufgehypschter Macroassembler). Aber selbst bei neumodischem Zeugs wie Java oder .net und sogar bei Scriptsprachen wie Perl hilft es noch, solche Kenntnisse zu haben. Nämlich immer dann, wenn es darum geht, nativen Code mit dem Zeug zu verheiraten, was in diesen Sprachen produziert wird (was übrigens oft auch wieder nur wegen Performance-Engpässen geschieht). Eins ist nämlich ganz klar: Komfort kostet immer Performance. Je weiter weg eine Programmiersprache von der Maschine ist, desto mehr Performance frisst die Abstraktion und der Programmierkomfort. Und wenn's halt nicht mehr schnell genug ist, muss man runter auf eine niedrigere Abstraktionsebene. Und die niedrigste verfügbare ist halt immer und überall Assembler...
Basic auf dem C-64 COMAL auf C64 und PC-10 Turbo-Pascal Delphi (Object Pascal) Prolog (schüttel)
c-hater schrieb: > Mich kein bisschen. Heißt das bei Dir: Assembler (xxx) Assembler (aaa) Assembler (bbb) Assembler (ccc, ddd) Assembler (...) Also permanent - ab wann auch immer (das wäre mal interessant :-) ): Assembler?
m.n. schrieb: > Was mich wundert: nur 1 x Forth und 0 x Occam. > Das war doch seinerzeit das Beste überhaupt ;-) Für mich kannst du ein 1 + . zu Forth addieren. Occam ist an mir vorbeigegangen weil die Parsytec den bestellten Transputer-Computer nicht rechtzeitig liefern konnte. Joachim S. schrieb: > Ehrlich gesagt geht mir der Thread bislang auch zu sehr in Richtung > einer reinen Aufzählung der Programmiersprachen, die man gelernt hat. > Das ist zwar interessant, aber mich würden mal noch mehr Meinungen zu > folgenden Fragen interessieren: > - Was sind eurer Meinung nach vorteilhafte/nachteilige Eigenschaften für > die "allererste Programmiersprache", um programmieren zu lernen? > - Welche konkrete Programmiersprache etc. würdet ihr verwenden/wie > würdet ihr didaktisch vorgehen, wenn ihr euren eigenen Kindern > programmieren beibringen wolltet? Das ist doch schon ab den 60ern bis in die 80er Jahre zum Erbrechen ausdiskutiert worden. Viele Didaktiker haben damals heftige Schlachten ausgetragen. BASIC war der Feind wenn es um die Kinder ging. Sprachen wie Lisp und Prolog die Zukunft, mit dem auch aus den 60ern stammenden Logo sollten die Kinder zu Lisp bekehrt werden. Ende der 60er begann Niklaus Wirth eine Karriere darauf aufzubauen gegen angeblich schlechte Programmiersprachen zu kämpfen. Und was ist? Die erste Programmiersprache scheint ziemlich egal zu sein. Wer nicht Denken kann lernt es mit keiner Programmiersprache. Der schnelle kurzzeitige Abstieg in den Assembler-Keller - gerade von vielen Hochsprachendidaktikern verteufelt - hat noch keinem geschadet. Ansonsten irgendwas nettes, visuelles für Kinder auf dem Smartphone wird sich schon finden. Es muss ja nicht gerade über-hip EtherScript sein ;)
Damit das etwas farbiger wird: ;-) APL Ende der 70er in der Gymnasium-Oberstufe, auf einem IBM Grossrechner, per Kugelkopfschreibmaschine. Da man eher selten Gelegenheit hat, mehrmals eine erste Programmiersprache zu lernen, ist schwierig einzuschätzen, inwieweit das geprägt hat. Ich denke aber schon, dass es Folgen hatte. Denn ein APL Programm steckt im Kopf, dessen Struktur der Daten und der Umgang damit ganz besonders. Der Ausdruck auf Papier ist - anders als bei vielen anderen Sprachen - nur sehr begrenzt hilfreich.
:
Bearbeitet durch User
ungefähre Historie der letzten fast 40 Jahre: U880 Assembler auf selbstgebauter Hardware Z8 Assembler SPS PS 2000 Turbo Pascal unter DOS MS C unter DOS 8051 Assembler SPS S5 Borland C++ unter Windows Zortech C++ unter Windows und OS2 Watcom C++ unter Windows Microsoft C++ unter Windows Basic ausschließlich für Office Erweiterungen AVR GCC GCC C++ Linux html, css, JavaScript, PHP GCC C++ OSX Cortex Mx (GCC C++), PIC C Java Android (Hasslevel Platz 1) und ein Mix aus allem was man unter Linux antrifft (perl, phyton, bash....) Das meisste passiert in C++ auch wenn ich nicht jedem neuen Gaul hinter her hechele.
Meine erste war Algol 60 (1973) auf einer Zuse??? (Programmeingabe mit Teletype und Lochstreifen :-) ), dann Basic(1975) auf einer Wang 2000 (hatte zwei Laufwerke, Cassetenlaufwerke!!!), später dann auf ZX81 und TI-99, dann Turbo Pascal und QBasic auf PC.
1995 Turbo Pascal, etwas Delphi in der Schule 1997 C, Bash 1999 C++, VHDL, etwas Ada 2004 Python ... braucht man nach Python überhaupt etwas anderes? :) ... ... ... zum Reinschnuppern in andere Konzepte Ruby CLisp Forth Haskell ... dann gezwungener Maßen Labview (wer tut sich sowas freiwillig an?) ... 2016 C#
Jack schrieb: > Das ist doch schon ab den 60ern bis in die 80er Jahre zum Erbrechen > ausdiskutiert worden. Mag sein. Ich war in diesem Zeitraum aber noch nicht geboren bzw. zu jung, um etwas von dieser Diskussion mitbekommen zu haben. Ausserdem erscheint mir der Stand dieser Debatte anno 1980 heutzutage nicht mehr sonderlich relevant, seitdem hat sich im Bereich der Programmiersprachen schliesslich viel getan. > Viele Didaktiker haben damals heftige Schlachten > ausgetragen. BASIC war der Feind wenn es um die Kinder ging. Sprachen > wie Lisp und Prolog die Zukunft, mit dem auch aus den 60ern stammenden > Logo sollten die Kinder zu Lisp bekehrt werden. Es hat recht lange gedauert, bis mich Lisp überzeugt hat - aber von meinem heutigen Stand aus erscheint mir dieser Gedanke gar nicht so doof. (Dr)Racket z.B. erscheint mir momentan als eine der sinnvollsten/erfolgversprechendsten Möglichkeiten, Leuten programmieren beizubringen. Weil LISP, Scheme etc. nun mal eine extrem simple Syntax haben, und DrRacket es darüber hinaus ganz einfach macht, binnen kürzester Zeit erstaunliche Erfolgserlebnisse zu haben. Wer das für Unsinn hält, der schaue sich nur mal den "Prolog" von "How to design programs" an: http://www.ccs.neu.edu/home/matthias/HtDP2e/part_prologue.html Das ist wirklich hervorragend gemacht. Und schon am Ende des Prologs hat man einen animierten, nett anzuschauenden Raketenstart programmiert, und dabei wird alles sehr gut erklärt. > Und was ist? Die erste Programmiersprache scheint ziemlich egal zu sein. Ich mag mich irren, aber das glaube ich nicht recht. Bei einem extrem motivierten Kind/Jugendlicher mag das egal sein, das wird vielleicht selbst C++ oder Assembler als erste Programmiersprache erfolgreich lernen. Wenn das Kind bislang aber gar nicht sooooo wild darauf ist, programmieren zu lernen (z.B. weil es ein Schüler ist, der durch den Informatikunterricht einfach dazu gezwungen wird), dann hat die Wahl der Programmiersprache glaube ich schon einen sehr grossen Einfluss darauf, ob die Motivation steigt oder erst recht in den Keller geht.
Joachim S. schrieb: > - Was war die erste Programmiersprache, die Ihr gelernt habt? > - In welchem Alter wart Ihr da, und in welchem Jahr war das? (ungefähr) Habe ich mich vor nicht allzu langer Zeit auch schon mal gefragt und wollte das System wiederfinden, welches ich in der Ausbildung als erstes Lernsystem benutzt habe. Leider habe ich absolut gar nichts darüber gefunden. (konnte nichts ergoogeln) Das dürfte so 1987 gewesen sein und es war ein 80xx Prozessor in einer 19" Kiste. Die IOs und die Programmierschnittstelle waren Bananenstecker-Buchsen und Lämpchen. Man hat die Bits für Befehle und Daten mit 4mm Laborkabeln angelegt. Den Takt hat man über einen Taster erzeugt. Kein Monitor, Tastatur und so unnötiges Zeug ;-) Kennt das vielleicht jemand noch? Hätte da sehr gerne Informationen darüber!
Hm leider so viele Ältere Hasen hier, aber ich glaub nach dem Lesen hier, ist der Zugang sehr wichtig den man zur einer X beliebigen Programmiersprache hat. Ich hab ne zeit gehabt wo ich nur Gezokkt habe am PC ich hab dann irgend wann mit µCs angefangen, bin damals anders ran gegangen als wahrscheinlich die meisten, ich hab mir ne Kiste µCs besorgt die aufgebaut und geschaut mit welchen ich gut arbeiten kann, C,basic,asm auf den jeweiligen µCs getestet und mich entschieden was ich am besten beherrschen kann bin dann bei den PICs hängengeblieben und nutze ASM weil ich die immer noch am Logischen finde. Bei anderen Sachen ist es gleich z.b. beim CAD ich benutze OpenSCAD weil mir das Programmieren mehr liegt als das grafischen Diseinen. Es ist völlig egal was man nutzt, solange man sein Ziel damit erreicht.
Basic, c16 und c64 bzw. c128. Der c16 hatte einen ziemlich guten Basic-Kurs an Board. Meine Schwester und Kolleginnen hatten einen C128 (Industriekaufleute) und schleppten mich in einen Volkshochschulkurs zu Basic (da wurde zu der Zeit auch Pascal angeboten) (heute nur noch Excel und Word-Kurse in Volkshochschulen) In der Schule gab es Kurse für Computermathematik, in erster Linie Basic. Viele Computerzeitschriften, auch andere technische Zeitschriften mit Prozessorentechnik dabei waren voll mit Basic-Codebeispielen. Hochzeiten der Turnschuhnetzwerke Auf Jahrmärkten lautes Gepiepse und Gejaule von Space Invaders, Asteroids und Fahrsimulatoren. Die Vorläufer der Home-Pcs waren Spielekonsolen a la Pong, die kamen zu jener Zeit schon sehr gut an. Gute Einflussfaktoren? Gute Lehrer, gute Einführkurse wie C16 oder Erlenkötters C oder die Norton Bücher, die Html-Kurse von Dave Raggett usw. Austausch mit anderen, Freunden, Mitschülern oder Nachbarn und nicht zuletzt: Interpreter und gelungene, durchdachte Compiler/Ides, nicht experimentelle Sch.. Java wäre ohne die (professionelle) Community und deren Workarounds und Liebe zur Technik UND der Zunahme der Rechenleistung vermutlich auf keinen grünen Zweig gekommen.
Joachim S. schrieb: > Wenn das Kind bislang aber gar nicht sooooo wild darauf ist, > programmieren zu lernen (z.B. weil es ein Schüler ist, der durch den > Informatikunterricht einfach dazu gezwungen wird), dann hat die Wahl der > Programmiersprache glaube ich schon einen sehr grossen Einfluss darauf, > ob die Motivation steigt oder erst recht in den Keller geht Mit Verlaub - das halte ich für nicht passend. Wer wirklich programmieren will der/die beißt sich da durch, egal welche Sprache. Ich kann verstehen, dass Du hier werben willst - aber das spielt nicht die entscheidende Rolle. Es stellt sich später heraus, was für den/die Einzelne(n) passend ist. Das war aber auch nicht die Frage des Threads - daher bitte zurück ... ist wirklich spannend :-) (Hast Du Dir das z.B. mal wirklich durchgelesen und versucht es in einer kindlichen Rolle zu verstehen? https://docs.racket-lang.org/reference/module.html#%28form._%28%28quote._~23~25kernel%29._module%2A%29%29 ) Kennst Du LOGO?
Mit 13: PHP und HTML Mit 16: C (Berufsschule) Mit 19: C++ für PC und ASM für uC (Techniker) Mit 20: C für uC (Techniker) + Python (RPi) Jetzt bin ich 24 Python ist ein echter Segen. Man hat so unglaublich schnell Ergebnisse und kann fast alle Bereiche abdecken : Desktop + WWW + AndroidApps + MATLAB-Ersatz Ich weiß leider nicht wie man sich für Sprachen wie C++ motivieren kann, wenn man Python benutzt hat. Echtzeitfähigkeit ist so ziemlich der einzige Grund der mir einfällt.
Achja, nächstes Jahr bzw nächstes Semester werde ich in Java reinschnuppern "dürfen"
Noch ein letzter hinterher :/ Zwischendurch gab es auch mal VBA + VB6. Denke so mit ~18. Da das aber nur kurz benutzt wurde bzw gelegentlich in EXCEL benutzt wird, ist mir das entfallen. Ich sehe Python an dieser Stelle einfach als modernere Version an :)
ab ca 1985 chronologisch: -programmierbare Taschenrechner -diverse Basic-dialekte auf home-computer bspw sinclair -z80 assembler/hex -motorala 68000 assembler Commodore Amiga -Kick Pascal Commodore Amiga -Turbo-pascal ms-dos (wg Uni) -x86 assembler (wg. Uni) -turbo-c ms-dos -c auf Unix-kisten (SUN-OS, Linux,HP-UX) -diverse (UNIX-) scriptsprachen -PIC-Assembler -FORTRAN (wg. Uni) -AVR-assembler das war dann etwa 1999, seitdem nix wesentlich neues
Hallo, bei mir sah das ungefähr so aus: Visual Basic in der Schule (8 Klasse, 2000) BiltzBasic (danach privat) SPS (S5/S7/Siemens Logo in der Ausbildung) Pure Basic (während der Ausbildung bis heute) im Studium ab 2009 dann breiter geworden mit: Matlab Mathematica Latex C (auf PC und als Einstieg für AVR) Python Gnuplot Privat ist da noch folgendes hinzugekommen: AVR Assembler HTML/PHP SQL Und was halt noch sonst irgendwo mal dazu gekommen ist, weil man es gebraucht hat. Ob davon wirklich alles als eigene Programmiersprache angesehen wird lasse ich mal offen. Gescheitert bin ich beim "programmieren Lernen" auch mehrfach. Da ist der erstversuch mit µCs in die Hose gegangen, dann der Versuch mit C, der schief ging und was bis heute noch regelmäßig schief geht und für Monate in der Ecke landet ist Linux (ich bin Fan von der Konsole für alles was Richtung Automatisierung und Remote/SSH geht, aber ich hab ewig Probleme, die sonst niemand zu haben scheint). Von den ganzen Sprachen ist BlitzBasic die einzige, die ich nicht mehr verwende (wurde durch PureBasic ersetzt). Sonst ist es ein bunter Mix aus allem, je nach dem, was gerade verfügbar und geeignet ist. Für die Zukunft steht bei mir noch VHDL auf dem Plan. Zum Programmieren lernen hab ich die Erfahrung gemacht, dass zwei Dinge wichtig sind. Am wichtigsten eine gute Einführung und dazu noch die Motivation des Lernenden weiter zu machen. Dabei ist meiner Beobachtung nach wichtig, das die Leute einfach Erfolge sehen, aber gerade auch das "was passiert im Hintergrund" anschaulich erklärt bekommen. Gruß Kai PS: Am wertvollsten fürs Programmieren finde ich in meiner ganzen Laufbahn aber immer noch, das ich in der Schule gezwungen wurde 10-Finger schreiben zu lernen.
Kai S. schrieb: > SPS (S5/S7/Siemens Logo in der Ausbildung) Das habe ich auch vergessen :D Das mache ich Hauptberuflich, also S7 (inkl SCL), in Zukunft TIA, sowie Siemens CNC... Ich merke, dass die ganzen "Alltags-Sprachen" so natürlich erscheinen, dass man nicht darüber nachdenkt und diese somit nie nennt,, So Schmuddel-Shell-Skripts gehören ebenfalls in diese Kategorie o.O
Ahh.. bei mir ist das schon sehr lange her. Ich kann mich noch erinnern, damals 1937 war das. Von Hitler habe ich zusammen mit Konrad Zuse den Auftrag bekommen, einen mechanischen Rechner zu bauen. Der Zuse Z1 war das.. Spass beiseite. Aber was hier gepostet wird von wegen Lochkarten, Taster und so ein Quark. Da ist es heutzutage schon besser mit Entwicklungsumgebungen und so Sachen wie Python..
Basic... reines Basic auf einem Lerncomputer, damals in den 90er. :-D Auf dem Ding gab es neben Rechen und Schreiblernprogrammen eben auch einen Basic Interpreter, joar... damit hat es bei mir angefangen.
1988 - Bild- und Messdaten-Verarbeitung mit IBM-PC und Turbo Pascal. Da war ich noch jung und schön :)
"..." ist ein weites Feld. Angefangen habe ich 1970 mit Fortran IV, danach ist es ausgefranst. :-) Konkret habe ich mein erstes selbst geschriebenes Fortran IV-Programm - die ersten paar tausend Primzahlen berechnen - mit einem IBM-26-Locher auf 80-spaltigen Lochkarten abgelocht und auf einer IBM 7090 (oder 7094, vergessen) unter Verwendung des IBM-Fortran-Compilers *) rechnen lassen. Die IBSYS-JCL-Karten hatte ich von Mathematikstudenten, mit denen wir nach dem Gymnasium im Stehcafe abhingen. Später habe ich die Sprache dann unserem Mathematiklehrer beigebracht, genauer gesagt, ich habe es versucht, kann aber nicht sagen, ob davon viel hängengeblieben ist, da es nicht Unterrichtsgegenstand war, weil es nicht ins Curriculum passte**). Um dem keinen falschen Zungenschlag zu geben, Herr H. hatte damals quasi auf eigenes Risiko Boolesche Algebra zum Unterrichtsgegenstand gemacht und ziemlich umfangreich mit dem damals brandneuen Simulog-System***) dem Ganzen auch eine praktische Seite verpasst. Gelernt habe ich die Sprache nach dem BI-Taschenbuch von Müller/Streker ****) aus 1967. Danach kamen dann einige der üblichen Verdächtigen, von Algol über Basic, C und Java bis hin zu XSLT, nicht unbedingt in dieser Reihenfolge, die ich hier aber nicht alle aufzählen möchte. Hingegen ist es eine Gelegenheit, mal einige zu erwähnen, die ich zeitweilig recht intensiv benutzt habe, die heute aber weitgehend unbekannt sind und die ich auch nicht mehr benutzte. Erwähnenswert ist, daß es damals, insbesondere von IBM, ausgezeichnete, ausführliche Handbücher gab, wie man sie in dieser Form heute kaum noch kennt. Danach konnte man lernen. PL/I habe ich in verschiedenen Varianten auf recht unterschiedlichen Systemen benutzt, beginnend mit PL/I F und später dem PL/I optimizing und dem PL/I checkout Compiler auf div. IBM 360/370. Noch später dann auf einem privat selbst gebauten CP/M-Rechner als PL/I-80. Simula-67, der Großvater aller objektorientierten Sprachen wurde im Studium ausführlich verwendet, sowohl als Gegenstand (wie spezifiziert man eine Sprache) als auch als praktisch eingesetztes Hilfsmittel (wie simuliert man z.B. die Kanäle einer IBM-370 oder Register etc. als synchrone bzw. asynchrone Schaltwerke). SNOBOL4/Spitbol habe ich als studentische Hilfskraft gelernt und dann auf div. Systemen (beginnend mit einem portierten Macro-SNOBOL auf einer 360/50, die mit einem von Kollegen geschriebenen Timesharing-System betrieben wurde, das von IBM so gar nicht vorgesehen war, über ein optimiertes Spitbol/360 unter MVS bis hin zu Spitbol unter OS/2 und Windows). Die Anwendungen und die Verfahren waren nicht sehr verschieden von dem, was man heute mit Perl oder Python anstellt. Wobei ich den Pattermatch von SNOBOL immer noch vermisse. CLIST - die Shell, würde man heute sagen, der Time Sharing Option (TSO) von IBMs MVS. Grauslich. JCL - Job Control Language (gab die Vorlage für die als Scherz gemeinte Syntax des Unix-Programms dd). Nun, ich kenne jemand, der mit mir zusammen studiert, aber abgebrochen hat, dann aber als JCL-Experte spezialisiert auf die JCL für IBM Datenbanken richtig viel Geld verdient hat. CDL (Computer Design Language) http://hopl.info/showlanguage.prx?exp=222 habe ich nahezu komplett vergessen, finde sie aber erwähnenswert, gerade weil sie auch per Google oder in den einschlägigen Sprachenlisten kaum noch aufzufinden ist, obwohl sie als Hardwarebeschreibungssprache damals recht bekannt war. PSA/PSL gibt es hingegen erstaunlicherweise immer noch (http://www.pslpsa.com/). Ich hatte noch als stud. Hilfkraft eine umfängliche, unzureichend dokumentierte Programmsammlung (BS2000 ASM) auf Basis des Print-Outputs des Assemblers (Listing und XREF) in Input für den PSL-Compiler zu verwandeln, Ergebnis war dann die Möglichkeit, den Analyzer darauf anzusetzen. Ein wenig gegen den Strich (eigentlich war ja vorgesehen, damit Spezifikationen zu schreiben statt Reverse Engineering bzw. automatische Nachdokumentation zu betreiben), für die damalige Zeit war die Idee aber durchaus originell. MINT (Machine Organic Software Tools) von Godfrey et al. https://web.archive.org/web/20120121165924/http://qss.stanford.edu/~godfrey/mint/mint.pdf eine in sich selbst implementierte Sprache, die ähnliche Ansätze wie Forth verfolgte. Ein Kollege und ich hatten das 1980 veröffentlichte Buch, aber keinen Compiler. Ich schrieb mit SNOBOL auf dem Großrechner einen Compiler, der den aus dem Buch abgetippten Quellcode (allerdings schon mit ein paar Editiertricks vereinfacht) in von einer VM verstehbaren Maschinencode (heute würde man sagen "Bytecode") übersetzte, mein Kollege die VM. Danach haben wird dann den Compiler mit sich selber übersetzt. Eine Portierung auf BS2000 gab es später auch, aber da gingen dann schon "ernsthaftere" Projektarbeiten vor. PL/I-FORMAC, ein PL/I-Dialekt und Nachbau der ursprünglich auf Fortran aufsetzenden Variante. Technisch gesehen eine weitgehend interpretativ arbeitende Runtime-Library, die per Preprozessor eine Art DSL (domain specific language) realisierte. Ein frühes Computer-Algebra-System. Mich würde interessieren, wer mehr als zwei der hier beginnend mit PL/I aufgezählten neun Sprachen kennt, in Sinne von "schon mal davon gehört". *) http://bitsavers.trailing-edge.com/pdf/ibm/7090/C28-6390-3_v13_F4_Apr66.pdf **) Als meine beiden Söhne Jahrzehnte später dasselbe Gymnasium besuchten, konnte ich diesbezüglich kaum einen Fortschritt bemerken. Mit einem zaghaften Versuch, Derive (https://de.wikipedia.org/wiki/Derive) zu propagieren, bin ich förmlich gegen die Wand gelaufen. ***) https://de.wikipedia.org/wiki/Simulog ****) https://web.archive.org/web/20161006193851/https://pictures.abebooks.com/ANTIQUARIATARDELT/15386231969.jpg
Ich hab 1986 auf einem KC 85/1 mit Basic-Modul in meine ersten Erfahrungen mit 11 Jahren machen dürfen. Danach ab 1990 mit C64 in Basic und später ins Assembler weitergemacht. Ab 1992 Umstieg auf CPC464 und Locomotive-Basic. :) Jetzt in C, Java, etc.
Joachim S. schrieb: > - Was war die erste Programmiersprache, die Ihr gelernt habt? > - In welchem Alter wart Ihr da, und in welchem Jahr war das? (ungefähr) TI 57, TI 59 mit ca. 14 Jahren. Weiß nicht, ob das schon als Programmiersprache durchgeht. Kurzkontakt mit BASIC auf DTC Microfile (falls jemand so ein Ding hat, ich würde es sogar kaufen), ebenfalls 14. Ob das unter "gelernt" fällt, bin ich nicht sicher. 6800 (6k8, nicht 68k) auf Entwicklungskit mit Hex-Tastatur und 7-Segment-Anzeige, Programmierung in Hex, ab etwa 16. Ist eigentlich auch nicht Programmiersprache. APL auf IBM 5100 ab 17. Da richtig gelernt.
In der 8.ten oder 9.ten Klasse mit Visual Basic angefangen. Das was ich damals gemacht habe war eher so YouTube-Tutorials abschreiben. Ich habe mich mal an einem eigenem TicTacToe versucht. Da ich keine Ahnung hatte, habe ich damals in jeden Button-Listener einfach den Programmcode reinkopiert und für den Button angepasst. Und Nein, es hat nicht funktioniert -_-. Dann mal ein bisschen Gedanken gemacht, wie es weitergehen soll. Hab von meinem Nachbarn gehört, dass C++ sehr sehr schwierig sein soll ("Da brauchen wir zwei Tage, bis du gerade bissschen kannst"). Hab mich letztenendes dafür entschieden C++ Bücher aus der Lib zu holen. Und das war dann meine Beschäftigung in der 9ten/10ten Klasse. C/C++ Bücher lesen. Programmiert habe das nie. Die Programmierpraxis ist das was mir bisher fehlt. In der Berufsausbildung hat sich "Programmieren" meist darauf beschränkt, C und Asm Programme für PICmicro's zu analysieren und dem Ausbilder zu erklären. Das wird sich hoffentlich ändern, wenn mein Pic-dev-board fertig ist. MfG (Bin übrigens ~20 Jahre alter EGS'ler, der jetzt Energietechnik studiert)
1981 BASIC/Assembler Siemens 6.610 Bürocomputer(Intel 8080) 1982 /360 Assembler Siemens 4004-151 ( RCA Maschine) 1983 PDN Siemens Transdata Rechner 1984 C Sinix System 1986 Assembler NSC32000 Series 1989 CHILL PABX Systeme Überwiegend eingesetzte Programmiersprachen seit 1984 sind C und Assembler.
GuestBook schrieb: > Spass beiseite. Aber was hier gepostet wird von wegen Lochkarten, Taster > und so ein Quark. Da ist es heutzutage schon besser mit > Entwicklungsumgebungen und so Sachen wie Python.. Das sehe ich umgekehrt. Ich bedaure jeden der so eine Idiotensprache wie Python als die Zentrum des Universums vorgesetzt bekommt. Mit Mäuseklavier, Lochstreifen, Lochkarten ein Programm einzugeben war natürlich mühsam, aber es hatte auch eine eigene Qualität. Man konzentriert sich absolut auf das Wesentliche, statt dem so modernen Try-and-Error der Kids mit angelerntem ADS. Es war eine harte Schule, bei der man über jede Zeile Programm, über jedes Assembler-Statement noch nachdachte, statt des modernen "scheißegal, wird schon gehen" Ansatzes. Man lernte mit kleinsten Informationsbruchstücken auf Fehlersuche zu gehen, und sorgfältig mit Computer-Resourcen umzugehen (nicht so wie die Kids heute, die zum Blinken einer LED schon ein 32-Bit OS, zwei Frameworks und 3GB Speicher brauchen) .
Joachim S. schrieb: > Basic als erster Einstieg in die Programmierung trotzdem als didaktisch > vorteilhaft erwiesen zu haben... Da muss ich Dir leider widersprechen. BASIC fördert das strukturierte Denken in keinster Weise. Weil durch die GOTOs jeden Mist machen kann, bis man selbst nicht mehr den Durchblick hat. Ich persönlich finde es besser mit Assembler zu beginnen und dann C.
Codix schrieb: > Joachim S. schrieb: >> Basic als erster Einstieg in die Programmierung trotzdem als didaktisch >> vorteilhaft erwiesen zu haben... > > Da muss ich Dir leider widersprechen. > BASIC fördert das strukturierte Denken in keinster Weise. Aber Assembler tut dies, weil man damit so wunderbar gut strukturierten Code schreiben kann? ;-) > Weil durch die GOTOs jeden Mist machen kann, bis man selbst nicht mehr > den Durchblick hat. > Ich persönlich finde es besser mit Assembler zu beginnen und dann C. Am besten beginnt man mit einer Hochsprache, die solche Konzepte wie bedingte Verzweigungen und Schleifen bereits fertig eingebaut hat. Und zwar ohne dass man irgendwelche Register oder Prozessor-Flags abfragen muss.
Am Anfang Fortran im Studium Ende der 70'ziger. Das lief auf irgendeinem Großrechner, den ich nie gesehen habe, nur das Terminal zum Erstellen der Lochkarten. Mitte der 80'ziger Assembler auf PDB11, danach Basic auf gleicher Anlage. Danach HP Basic auf HP300 Rechner. Dann 1.PC (so 1991) damit ein paar QBasic Geschichten gemacht. 1995 mit Turbopascal angefangen und einige größere Projekte gemacht. Dann Borlandpascal und danach Delphi. Mit Delphi arbeite ich heute noch gern. Meine letzte Version ist XE arbeite aber am liebsten mit Delphi 7, mein größtes Projekt wurde mit Delphi 4 realisiert und wird noch heute weltweit in meiner Firma eingesetzt. Neuerdings auch ab und an Lazarus. Vorteil: Gibt es für alle Plattformen und ist natürlich Objectpascal, was ich persönlich einfach toll finde. Vor 5 Jahren Fortran wieder entdeckt - für mathematische Sachen einfach geil. Wegen µC mit C angefangen, wirklich Spaß macht es nicht, aber für µC gibt es nichts Anderes bzw. Besseres Für meine Webseiten HTTP, etwas Javascript, CSS und PHP - 2 Perlscripte sind auch dabei, aber noch weit entfernt dies wirklich zu können. Wegen Raspi mal was mit Python probiert, aber noch nicht wirklich davon überzeugt. Für Unix/Linux einiges mit Shellscripten gemacht. Es ist schon erstaunlich was damit alles geht. Seit 2 Jahren mit C# rum ärgern, weil mein AG meint dies sei die Wunderwaffe. Hat zwar ein paar nette Ansätze, die werden aber nicht konsequent durchgezogen und letztendlich ist es wieder C mit ein paar Verbesserungen und das Ganze unter dem Deckmantel Objektorientierung verpackt. Am liebsten arbeite ich mit Pascal also Delphi/Lazarus und unter Linux mit Shellscripten. Bei komplexen mathematischen Berechnungen und Berechnungen mit Arrays nehme ich gern Fortran. Ansonsten bin ich bezüglich Programmiersprachen recht offen und schaue auch mal gern über den Tellerand und scheue mich auch nicht davor mal was Neues anzugehen oder auch mal einzusetzen, wenn sich damit das Problem am besten lösen läßt. Zeno
Codix schrieb: > BASIC fördert das strukturierte Denken in keinster Weise. > Weil durch die GOTOs jeden Mist machen kann, bis man selbst nicht mehr > den Durchblick hat. Dein favorisiertes C ist da auch nicht besser. Gerade in C braucht man eine gehörige Portion Disziplin um wirklich guten Code zu schreiben. Der Compiler erlaubt einfach zu viele Schweinereien wo einem z.B. der Pascalcompiler gehörig auf die Finger hauen würde. Ich sage damit nicht das C generell schlecht ist und für hardwarenahe Programmierung führt oftmals nichts an C vorbei. Man kann natürlich auch in C sehr sauberen und gut strukturierten Code schreiben, entsprechende Disziplin beim Programmieren vorausgesetzt. Und genau so ist es mit Basic. Ich kann sogenannten Spaghetticode schreiben, aber ich kann auch sehr gut strukturierten Code schreiben. Was zum Schluß raus kommt hängt halt immer von dem ab der vor dem Bildschirm sitzt. Und mal nicht vergessen es gab Zeiten da führte nichts an Sprüngen, sprich Goto, vorbei, da es Anfangs Schleifenkonstrukte wie z.B. for .. nicht gab und man dies mit dem verpönten Goto realisieren mußte. Zeno
Joachim S. schrieb: > - Was war die erste Programmiersprache, die Ihr gelernt habt? BASIC, auf einem KRS-4201. Das war Timesharing-BASIC, also 8 Terminals, an denen Leute sitzen, die alle am gleichen Computer arbeiten. Programme nahm man sich auf Lochstreifen mit nach Hause fürs nächste Mal. ;-) > - In welchem Alter wart Ihr da, und in welchem Jahr war das? (ungefähr) 23, 1985 (an der Uni) Grundlegend mit Z80 (U880) und dessen Assembler hatte ich mich schon vorher beschäftigt, aber eigene Hardware dafür kam erst viel später. Auf dieser habe ich dann vor allem Turbo-Pascal gemacht. Parallel in der Uni auf einem PDP11-Clone FORTRAN IV, später auch dort Pascal. C kam erst mit UNIX, in der Form von DG/UX (Data General AViiON), in meinem ersten Job ab 1990. Mein Sohn hat als erstes Python gelernt. Genauso wie das BASIC auf dem KRS ist daran sehr hilfreich, dass man einen interaktiven Modus hat, wo man „mit dem Computer reden“ kann.
> Das sehe ich umgekehrt. Ich bedaure jeden der so eine Idiotensprache wie > Python als die Zentrum des Universums vorgesetzt bekommt. > > Mit Mäuseklavier, Lochstreifen, Lochkarten ein Programm einzugeben war > natürlich mühsam, aber es hatte auch eine eigene Qualität. Man > konzentriert sich absolut auf das Wesentliche, statt dem so modernen > Try-and-Error der Kids mit angelerntem ADS. > > Es war eine harte Schule, bei der man über jede Zeile Programm, über > jedes Assembler-Statement noch nachdachte, statt des modernen > "scheißegal, wird schon gehen" Ansatzes. Man lernte mit kleinsten > Informationsbruchstücken auf Fehlersuche zu gehen, und sorgfältig mit > Computer-Resourcen umzugehen (nicht so wie die Kids heute, die zum > Blinken einer LED schon ein 32-Bit OS, zwei Frameworks und 3GB Speicher > brauchen) . Nur mit Lochkarten oder Mäuseklavier könnte aber niemand heutzutage komplexe Software wie Spiele (nein, nicht Pac-Man), Browser, Webdienste, Betriebssysteme, Benutzeroberflächen o.Ä. realisieren. Es geht heutzutage halt auch darum, wie schnell man ein Programm mit einer gewissen Funktionalität realisieren kann. Rechenleistung ist - im Gegensatz zu früher - heutzutage im Überfluss verfügbar, deswegen braucht man sich für auch nicht mehr so viel Gedanken machen, wie das ganze dann tatsächlich in der Hardware abläuft. Die Versuch-und-Irrtum-Methode ist meiner Meinung nach die schnellste, um an ein halbwegs brauchbares Ergebnis zu kommen. Nicht jeder hat die Zeit dafür, erst die mathematische Korrektheit seiner Software zu beweisen, bevor er sie ausführt.
Mark B. schrieb: > Codix schrieb: >> Joachim S. schrieb: >>> Basic als erster Einstieg in die Programmierung trotzdem als didaktisch >>> vorteilhaft erwiesen zu haben... >> >> Da muss ich Dir leider widersprechen. >> BASIC fördert das strukturierte Denken in keinster Weise. > > Aber Assembler tut dies, weil man damit so wunderbar gut strukturierten > Code schreiben kann? ;-) > >> Weil durch die GOTOs jeden Mist machen kann, bis man selbst nicht mehr >> den Durchblick hat. In jeder Programmiersprache kann man Mist machen bis man den Durchblick verliert. Meiner meinung nach gehört die Erkenntnis das man GOTO's und andere Sprachelemente immer Fluch wie Segen sein können unbedingt zum Spracherwerb dazu. Und das strukturiertes Programmieren, vernünftige variablen-namen, guter Programmierstil, durchdachte debugstrategien, etc. wird durch krititische Programmelemente eher gefo/ördert als verhindert. Unbequem am damaligen Basic war IMHO die Verwendung von Zeilennummern statt selbstsprechende Labels. für den Rest gilt: "Was uns nicht umbringt macht uns hart".
Bei mir wars: 6802, HC11 Assembler 1982: Gelernt zuerst HPBASIC an HP85A in der Firma für Test Elektroniksteuerung Privat: HP71B in HPBASIC, HP-IL Projekte HP71 FORTH HP 75 HP200/9100 für mobile Radio Test System Steuerung Etwas FORTRAN, BASIC auf einem VAX/VMS QB45/BC7 +NI IEEE488, hauptsächlich Buskartensteuerung von Messgeräten PC Assembler TurboPascal QuickC, dann TurboC PIC, AVR, 8051, STM32, NXP ARM7 in C Bin halt ein Dinosaurier was Programmieren anbelangt...
Wie gut man in BASIC strukturiert programmieren kann, hängt sehr stark vom Dialekt ab. Heutige Dialekte haben ja letztendlich alles, was andere moderne Sprachen auch haben. Ich habe mit einem Locomotive BASIC auf einem Homecomputer angefangen. Das kannte immerhin schon GOSUB, das wie GOTO war, nur dass es sich die Aufrufposition gemerkt hat und man mit RETURN wieder dort hinspringen konnte. Wie ein Funktionsaufruf also, nur ohne eingebaute Parameterübergabe und ohne Funktionsnamen. C. A. Rotwang schrieb: > Unbequem am damaligen Basic war IMHO die Verwendung von Zeilennummern statt > selbstsprechende Labels. Aus heutiger Sicht eigentlich unglaublich, wie man damals immer in 10er-Schritten die Nummern verteilt hat, um dazwischen noch Platz für später einzufügende Zeilen zu haben. Hannes J. schrieb: > (nicht so wie die Kids heute, die zum > Blinken einer LED schon ein 32-Bit OS, zwei Frameworks und 3GB Speicher > brauchen) . Ich bin ja immer noch beeindruckt, dass auf meinem Handy eine simple Taschenlampen-App (ohne nach-hause-telefonieren, Werbung und derlei) satte 2 MB braucht - 32 mal soviel, wie ein C64 insgesamt hatte! Das Ding hat keine weitere Funktion als einen Button darzustellen, dessen Antippen das Fotolicht ein- und beim nächsten mal wieder ausschaltet.
Dieter F. schrieb: > Ich kann verstehen, dass Du hier werben willst - aber das > spielt nicht die entscheidende Rolle. Hö? Für was will ich Deiner Meinung nach denn werben? > (Hast Du Dir das z.B. mal wirklich durchgelesen und versucht es in einer > kindlichen Rolle zu verstehen? > https://docs.racket-lang.org/reference/module.html#%28form._%28%28quote._~23~25kernel%29._module%2A%29%29 > ) Ich vermute zwar, dass ein Blick in die Untiefen der Referenz-Doku bei den meisten Sprachen auf Kinder abschreckend wirken würde. Aber Du hast mich dennoch überzeugt, dass DrRacket z.B. für Grundschulkinder wirklich noch nicht das richtige ist, und man dafür bereits ein gewisses Alter haben sollte. > Kennst Du LOGO? Klar, habe mich aber nie gross damit befasst. Das hatte zu meiner Kinderzeit zwar den Ruf, besonders kind-/anfängergerecht zu sein, aber auch, dass man damit üblicherweise nur irgendwelche "Turtle-Grafiken" erzeugt, und die Sprache daher nicht so richtig vielseitig ist. > Wer wirklich programmieren will der/die beißt sich da durch, egal welche > Sprache. Ich behaupte doch nur, dass sich manche Programmiersprachen/Ansätze besser, und manche schlechter als erste Programmiersprache (z.B. für Kinder/Jugendliche) eignen. Und implizit hast Du dem ja bereits zugestimmt, indem Du DrRacket als für Kinder ungeeignet dargestellt hast. Wenn die Wahl der ersten Programmiersprache wirklich völlig irrelevant wäre, weil sich ein Lern-Williger schon durchbeissen wird, dann wäre das ja egal. ;-) Anyway: Dein Posting hat mir auf jeden Fall bewusster gemacht, dass man die Frage nach einer empfehlenswerten ersten Programmiersprache nicht pauschal beantworten kann, weil das halt auch vom Alter abhängt. Für die ganz jungen erscheint mir persönlich momentan "Scratch" mit am geeignetsten.
Kindheit/Jugend 1985-1998: BASIC auf dem Commodore C16, dann C128D 6502 Assembler auf Commodore Computer. Amiga 500 --> 68000 Assembler BASIC auf Casio PB-1000 Z80 (Selbstbaurechner) Zwischendurch: Pascal COMAL QBASIC (PC) Mit Studium und danach Argbeit: * C (C++ etwas) * C# * Java Gelernt habe ich als erstes Basic mit Alter 9-10, also bevor es überhaupt Englisch in der Schule gab, daher waren die Befehle mir vom Namen her sehr abstrakt und schwer ohne Hilfe zu erlernen, wie Schleifen, Unterprogramme etc. funktionieren. Es ging um einfaches Try & Error. Wie frage ich mit Commodore Basic den Joystick ab? Wie zeichne ich Zeichen an bestimmter Stelle? Wie speichere ich mit meiner Adressverwaltung Daten auf einer Datasette (Fehler war, dass ich das gesicherte Programm der Addressverwaltung mit den gespeicherten Daten auf der Kassette überschrieben habe ;-) Davon war ich wochenlang deprimiert. Es war der erste 1000-Zeiler :-)
:
Bearbeitet durch User
Als Kind hatte ich eine große VHS-Videofilmsammlung. Diese habe ich Nummern zugeordnet und in QBASIC (meine erste Programmiersprache gelernt auf einen 286er mit bernsteinfarbiger Hercules Monocromgrafik) ein Programm geschrieben welche mir die Nummer zeigt wo welcher Film gespeichert wurde (und umgekehrt natürlich). Man konnte sogar die komplette Liste ausdrucken. Ich war 10 Jahre alt und superstolz, eine eigene exe-Datei erzeugt zu haben. Dann kam ein Passwortprogramm, welches ich dann in der autoxec.bat gelegt habe. Nach dreimaliger falscher Eingabe ist das Tool in einer Endlosschleife gefangen gewesen. Damit habe ich dann meine Eltern geärgert, denn ich hatte dieses auch mal heimlich auf den elterlichen PC gespielt. Das gab Ärger weil nur ich das Passwort kannte und ich nicht da war xD Später kam Pascal und im Studium viel mit Excel-VBA gemacht. Aktuell lerne ich C für Embedded-Anwendungen. Gruß Daniel
Ach ja und MATLAB kenne und vor allem lieben gelernt... Auch LabVIEW hat so seine Vorteile, mag ich aber nicht mehr so. Gruß Daniel
Daniel V. schrieb: > Ich war 10 Jahre alt und superstolz, eine > eigene exe-Datei erzeugt zu haben. Mit QBASIC konnte man EXE Dateien erstellen?! Das ist mir neu... wirklich. Daniel V. schrieb: > Dann kam ein Passwortprogramm, welches ich dann in der autoxec.bat > gelegt habe. Nach dreimaliger falscher Eingabe ist das Tool in einer > Endlosschleife gefangen gewesen. Damit habe ich dann meine Eltern > geärgert, denn ich hatte dieses auch mal heimlich auf den elterlichen PC > gespielt. Das gab Ärger weil nur ich das Passwort kannte und ich nicht > da war xD Tja... da hätte nen STRG-X ja eigentlich gereicht :-D
Jack schrieb: > Occam ist an mir > vorbeigegangen weil die Parsytec den bestellten Transputer-Computer > nicht rechtzeitig liefern konnte. Hah, so ein Teil stand bei uns an der Uni auch (16x (oder 64x?) T800). Nur Occam haben wir darauf nicht betrieben, einfach C unter Helios OS...
Rene K. schrieb: > Daniel V. schrieb: >> Ich war 10 Jahre alt und superstolz, eine >> eigene exe-Datei erzeugt zu haben. > > Mit QBASIC konnte man EXE Dateien erstellen?! Das ist mir neu... > wirklich. Ja ging ab MSDOS 6.22 glaub ich, war das also recht Spät erst
GuestBook schrieb: > Nicht jeder hat die > Zeit dafür, erst die mathematische Korrektheit seiner Software zu > beweisen, bevor er sie ausführt. Das Gegenstück ist systematisches Vorgehen, nicht mathematischer Beweis.
BASIC auf ZX81 & cp/m mit ca 12J Fortran FORTH auf HP calculator mehr Fortran noch mehr Fortran "didaktische Erfolgs-/Misserfolgs-faktoren", problemorientiertes Lernen. Wenn der Schüler das Problem erkennt und für wichtig erachtet, ist die Motivation gegeben. > Wie würdet ihr vorgehen/auf was würdet ihr achten, wenn ihr euren > eigenen Kindern erfolgreich programmieren beibringen wolltet? Meine Tochter 14J brennt z. Z. fürs Programmieren. Wir büffeln hier gerade Logik und Objekttypen. Programmiersprache ist erstmal nicht wichtig. Architektur ist alles.
K. J. schrieb: > Rene K. schrieb: >> Daniel V. schrieb: >>> Ich war 10 Jahre alt und superstolz, eine >>> eigene exe-Datei erzeugt zu haben. >> >> Mit QBASIC konnte man EXE Dateien erstellen?! Das ist mir neu... >> wirklich. > > Ja ging ab MSDOS 6.22 glaub ich, war das also recht Spät erst Nein, das war QuickBASIC 4.5. Damit konnte man *.exe-Dateien und sogar Object-Dateien erstellen, wobei ich nie wusste, wozu man das eigentlich braucht. Das QBASIC, das z.B. auf der Windows-95-CD unter /OLDMSDOS ausgeliefert wurde, konnte so einen Schweinkram nicht.
TrollHunter schrieb: > QuickBASIC 4.5. Du hast vollkommen recht! Es war QuickBasic, man ist das schon lange her... Gruß Daniel
Meine erste Programmiersprache war das Basic vom C64 - schnell abgelöst durch Assembler.
Rene K. schrieb: > Tja... da hätte nen STRG-X ja eigentlich gereicht :-D Ja, aber das wussten sie ja nicht... Man muss ja die Sicherheitslücken nicht preisgeben, oder ;)
Tja, manche fangen mit QuickBASIC 4.5 an, andere hören in hohem Alter mit QuickBASIC 4.5 auf ;-) (nach Anfängen auf einer IBM 650).
:
Bearbeitet durch User
Daniel V. schrieb: > Als Kind hatte ich eine große VHS-Videofilmsammlung. Diese habe ich > Nummern zugeordnet und in QBASIC (meine erste Programmiersprache gelernt > auf einen 286er mit bernsteinfarbiger Hercules Monocromgrafik) ein > Programm geschrieben welche mir die Nummer zeigt wo welcher Film > gespeichert wurde (und umgekehrt natürlich). Genau so eine Videokassettenverwaltung war auch mein erstes "Projekt", aber noch auf dem oben erwähnten Homecomputer (Schneider CPC mit Grünmonitor) in BASIC.
Hallo ich hab meine Erfahrungen ja schon Kund getan. Mich würde es, genau wie den TO Joachim, aber auch interessieren wo ihr Probleme habt oder hattet oder eventuell sogar aufgegeben habt. Ich kann irgendwie nicht glauben das hier alle außer ich "so einfach durchgesegelt" sind und nach ein wenig lernen "mal so eben" ein Programm erstellen können, also nicht nur ein Vorlage abändern oder aus Beispielen zusammensetzen, sondern von Grund auf 100% auf sich alleine gestellt. Jemand
Voteilhaft bei ZX81 BASIC und QBASIC ff. fand ich, dass es ein Schritt-für-Schritt-Tutorial gab, und eine Dokumentation für jeden Befehl mit exakter Synax und oft sogar kleinen Beispielprogrammen. Hatte ich mir dann sogar mit nem Nadeldrucker auf Endlospapier ausgedruckt. Bei Assembler hatte ich das Mikrocontroller-Kochbuch von Roth. War auch super, weil jeder Befehl exakt beschrieben wurde. Bei C wurde es dann schon kryptischer: Wieso argc, argv? Manche schreiben printf, andere fprint und welche fprintf. Ja, was denn nu? Hatte mich ganz kurz an C++ und Objektorierntierer Programmierung oder was das da sein sollte versucht, habe es aber gefrustet aufgegeben wegen solcher Konstrukte:
1 | vordempunkt.stehtwas.weil.nachdempunkt.stehtneklammer(ganz, viele, argumente) |
Und es einem kein Schwanz erklären wollte oder konnte, woher diese ganzen Befehle kommen und was sie sollen und woher man überhaupt wissen solle, dass es sie überhaupt gibt :-(
Jemand schrieb: > Hallo > > ich hab meine Erfahrungen ja schon Kund getan. > Mich würde es, genau wie den TO Joachim, aber auch interessieren wo ihr > Probleme habt oder hattet oder eventuell sogar aufgegeben habt. > > Ich kann irgendwie nicht glauben das hier alle außer ich "so einfach > durchgesegelt" sind und nach ein wenig lernen "mal so eben" ein Programm > erstellen können, also nicht nur ein Vorlage abändern oder aus > Beispielen zusammensetzen, sondern von Grund auf 100% auf sich alleine > gestellt. > > Jemand Programmieren ist etwas, das kann man sich nicht zwingen beizubringen. Die Sprache an sich ist da erstmal völlig nebensächlich - das ist nur ein "Werkzeug" - man muss verstehen was man da macht, wohin man will und wie man das am besten umsetzt. Damals, als die alle angefangen haben zu Programmieren, gab es kein Internet wo man mal eben schnell was nachlesen konnte oder eine Vorlage hatte. Da gab es nur das "Try and Error" Prinzip um es zu lernen. Ich gehe davon aus das hier fast alle "von Grund auf 100% auf sich alleine gestellt" waren. Das größte Problem ist, finde ich, das man sich heutzutage viel zu wenig Gedanken darüber macht, auch bei kleinen Dingen, wie es funktioniert. Man hat ein Ziel, sucht in Google danach, findet ein Beispiel und übernimmt es - das WIE es funktinioniert, hinterleuchten viel zu wenig. Sondern nehmen es hin: "Es funktioniert, super!"
Jemand schrieb: > Mich würde es, genau wie den TO Joachim, aber auch interessieren wo ihr > Probleme habt oder hattet oder eventuell sogar aufgegeben habt. Meine ersten Schritte waren ja wie oben schon angedeutet Maschinensprache, Anlegen der Bits mit Laborleitungen und Takterzeugung mit einem Taster. Dann kam natürlich irgendwann Basic, Pascal, Assembler, C und letztlich C++. Wobei ich ehrlich gesagt eher C in einer C++ Umgebung sagen sollte. Das ganze mit dem Objektorientiert und so liegt mir nicht sonderlich ;-) Kommt vermutlich von meiner Sichtweise von Unten her also der Hardware... Probleme gab es eigentlich nie aber sobald keine Notwendigkeit besteht genau eine bestimmte Sache zu erlernen, bleibt einfach keine Motivation mehr. Darum wohl auch C in einem C++ Framework wie Qt. Ich sah in meinen Programmen von bescheidenem Umfang einfach noch nie die Notwendigkeit für Vererbung, Ableitung... Wozu also so was lernen? Als Aufgeben würde ich es aber nicht bezeichnen.
Jemand schrieb: > Ich kann irgendwie nicht glauben das hier alle außer ich "so einfach > durchgesegelt" sind und nach ein wenig lernen "mal so eben" ein Programm > erstellen können, also nicht nur ein Vorlage abändern oder aus > Beispielen zusammensetzen, sondern von Grund auf 100% auf sich alleine > gestellt. Doch mit Basic geht das wenn man ein paar brocken englisch kann. Die schererein mit nicht gefundenen iclude pfad, falsch gesetztere Umgebungsvariable etc gab es damals dank datasette und 4k Speicher noch nicht. Und jedem Computer (ausser den selbsgebauten) lag ein brauchbares Manual und Monitorprogramm bei. Bspw. http://www.z1013.mrboot.de/DE/handbuch_2a.html Und wenn man nicht weiterkam, fragte man auf dem Schulhof oder Computerclub nach und hatte natürlich die 64'iger abonniert (oder am Kiosk im stehen gelesen ;-) http://www.64er-online.de/download/1984/index.html
TrollHunter schrieb: > Und es einem kein Schwanz erklären wollte oder konnte, woher diese > ganzen Befehle kommen und was sie sollen und woher man überhaupt wissen > solle, dass es sie überhaupt gibt :-( Oh weh, wars denn so schwierig ein Buch dazu aufzutreiben? Das hast du bei Assembler doch auch geschafft. Vermutlich konnten deine Kollegen keine zufriedenstellende Antworten geben, weil du schon zu viele Dinge missverstanden hast und keine guten Fragen formulieren konntest. Zumindest ist das der Eindruck den du hinterlässt. TrollHunter schrieb: > Bei C wurde es dann schon kryptischer: Wieso argc, argv? Manche > schreiben printf, andere fprint und welche fprintf. Ja, was denn nu? argc und argv sind Bezeichner für die main Funktion (Einstiegspunkt), damit dir das OS die Kommandozeilenargumente geben kann. Die Bezeichner kannst du wählen wie du willst. arg = argument, argc = argument count, argv = argument vector. Ein bisschen kurz aber nachvollziehbar. fprint gibts nicht. printf (print format) und fprintf (file print format) sind zwei unterschiedliche Funktionen. printf bezieht sich auf die Standard Ausgabe (stdout, Terminal) und fprintf auf einen filestream. fprintf(STDOUT, ...) ist das gleiche wie printf. Die Namensgebung ist suboptimal, aber ist das so schwer? TrollHunter schrieb: > Hatte mich ganz kurz an C++ und Objektorierntierer Programmierung oder > was das da sein sollte versucht, habe es aber gefrustet aufgegeben wegen > solcher Konstrukte: > vordempunkt.stehtwas.weil.nachdempunkt.stehtneklammer(ganz, viele, > argumente) > > Und es einem kein Schwanz erklären wollte oder konnte, woher diese > ganzen Befehle kommen und was sie sollen und woher man überhaupt wissen > solle, dass es sie überhaupt gibt :-( Das sind keine "Befehle". Sondern Methoden, Objekte bzw. Instanzen etc.. In diesem Fall ist es ein Methodenaufruf auf einer Instanz, die erst noch von anderen Objekten "herausgeholt" werden muss. Bei komplexen/komplizierten Problemen sind diese zum Teil auch nötig. Ein Buch würde dir da auf die Sprünge helfen, da kann auch C/C++ nichts dafür. Und BASIC ist halt BASIC, nichts mit dem man heutzutage was sinnvolles anstellen will, zumindest meiner Meinung nach.
TrollHunter schrieb: > Und es einem kein Schwanz erklären wollte oder konnte, woher diese > ganzen Befehle kommen und was sie sollen und woher man überhaupt wissen > solle, dass es sie überhaupt gibt :-( Manchmal hilft es ein gutes Buch zu lesen. Von Anfang bis zum Ende, und nicht nur versuchen ohne Grundlagen zu wurschteln und mal ne halbe Seite nachzulesen.
Jemand schrieb: > Hallo > > ich hab meine Erfahrungen ja schon Kund getan. > Mich würde es, genau wie den TO Joachim, aber auch interessieren wo ihr > Probleme habt oder hattet oder eventuell sogar aufgegeben habt. > > Ich kann irgendwie nicht glauben das hier alle außer ich "so einfach > durchgesegelt" sind und nach ein wenig lernen "mal so eben" ein Programm > erstellen können, also nicht nur ein Vorlage abändern oder aus > Beispielen zusammensetzen, sondern von Grund auf 100% auf sich alleine > gestellt. > > Jemand Man hat sie gleich mitgekauft, auf dem Bild das Linke war mein erstes das hat damals 10DM beim Big C (1983) gekostet, das rechte hab ich irgend wann mal geschenkt bekommen, ohne solche Bücher ist man damals nicht weit gekommen, du hast den Rechner angemacht und hast nur die "Oberfläche" vom GW-Basic gesehen. Allerdings war ich da erst 1. (1983) ich bin da einfach rein gewachsen wenn man mit ~6j. sieht was da möglich ist dann wird man automatisch neugierig damals war das anders heute muss es Funktionieren mehr nicht, da interessiert es nicht mehr wie, mein Vater ist da schuld dran ;) der hat damals Verstärker gebaut und sich immer die neusten "PCs" geholt ich hab dann immer die Alten bekommen, und dann will man halt auch so coole Sachen machen, BTX/Modem ... gab es bei uns auch immer also so lange ich denken kann.
Hier ist meine Story. Angefangen hat es vermutlich so um 12, weiss ich nichtmehr so genau. Ich wollte ein Programm schreiben. Als ich in der Schulbibliothek gesucht habe, gab es genau ein Buch, wo auf der letzten Seite rund 10 HTML-Tags wie <b>Bold</b> <i>italic</i>, etc. aufgelistet waren. Natürlich keine Angaben zur Verwendung, kein HTML Grundgerüst oder sonstige Infos dazu... Das hat mir aber gereicht, um eine Webseite zu erstellen. So habe ich auch gelernt zu googlen. So habe ich zuerst etwas HTML, CSS und dann JS gelernt. Jedoch wollte ich ja eigentlich ein richtiges Programm schreiben. Also habe ich mir vorgenommen ein 3D Game zu schreiben. Ich hatte mich für C(++) und OpenGL entschieden, und einfach drauflosgeschrieben. Dazu hatte ich Dev-C++ als IDE verwendet, mit dem OpenGL 2D Dreieck beispiel. Dan habe ich das Ausgebaut, bis ich ein 3D Game mit 2 Spielcharactern, Fullscreen und Window mode, einem Leveleditor, Multiplayer mode über Netzwerk, etc. hatte. Hat einen Sommer gedauert. Parallel habe ich kleine Simulationen und geschrieben. Dabei habe ich gelernt mit Pointern umzugehen. Dann habe ich mit PHP ne neue Homepage geschrieben. Anschliessend habe ich angefangen Webserver zu schreiben. Das 3D Game entwickelte ich nichtmehr weiter, weil mir klar wurde, wie Grauenhaft das Softwaredesign dort war (Alles im main loop, OpenGL 1 etc.). Zu dem Zeitpunkt konnte ich das meiste von C++98. Dann habe ich C(99) entdeckt, und anschliessend C11. Parallel kahmen weitere eigene Webseiten, wodurch ich JavaScript ES5, HTML4, und CSS vollständig zu beherrschen lernte. Dann kam HTML5, und JavaScript ES6, und 2 weitere Webserver, und C++11. Bei den Webservern hatte einer ne Race-Condition und der andere ein Designfehler... Wärend der zeit hatte ich mich mit den Netzwerkprotokollen HTTP/1.1 und WebSocket beschäftigt. Irgendwo dazwischen habe ich meine Server auf Linux umgestellt, und wenig später nurnoch linux verwendet. Dabei habe ich Bash gelernt. Dann habe ich mich mit Routing und weiteren Netzwerkprotokollen befasst. Irgendwo davor hatte ich noch einen Flugsimulator geschrieben und GLSL gelernt. Danach kam/ist die Lehre zum Informatizer Applikationsentwicklung + Berufsfachschule mit begleitender Berufsmaturität. Dabei musste ich Java lernen... Es gab Word als Unterrichtsfach, und in WebDesign hatten 66% der lehrer keine Ahnung von JavaScript (ES5), einige nichteinmal von HTML und CSS!!! Es war immernoch sinnvoller als die BM. In der Lehre habe ich Python und Fortran gelernt, und mir verschiedenste Design Patterns beigebracht. Jetzt bin ich 20 und im letzten Lehrjahr. Zusammenfassend kann ich sagen, das ich nie das Problem hatte, nicht zu wissen, wie ich etwas umsetzen will, oder Informationen zu finden. Ich habe anfangs viele Fehler gemacht, und das war auch gut so. Einen Fehler macht man genau 1mal, und dann weiss man es besser. Natürlich habe ich niemals code Kopiert, und immer alles auf Englisch recherchiert.
m.n. schrieb: > Kopf-Assembler mit Befehlstabelle, Bleistift, Papier, Schaltern und > LEDs. OK - Man merkt, daß es so langsam Freitag geworden ist. Also ist mal wieder Wühlen in der Vergangenheit angesagt. Ich hatte zu allererst mit Fortran und Algol zu tun, dann Prozeßrechner in Assembler - jahrelang. Soll mir bloß keiner sagen, daß man in Assembler keine wirklich großen Systeme schreiben kann. Allerdings sehe ich, daß heutzutage die Smartphone-Kinder sowas nicht mehr fertigbringen. Später kam dann Basic mit dem ZX-Spectrum und Assembler für den Z80, noch später Pascal für den Z80. Reicht das für freitags? W.S.
@Daniel Abrecht Das mit dem Googeln ist ein guter Punkt jedenfalls seit dem es Google gibt, selbst damals war es mit die einzige Möglichkeit an Infos zu kommen wenn man niemanden kante der auch Programmiert, vorher war es ehr das was nicht im Buch steht gibt es nicht. Wenn ich überlege mein erstes eigenes Internet war per AOL was eigentlich ehr ein Intranet war, aber selbst damals gab es Tricks aus der AOL Umgebung auszubrechen, irgend wann mit den Flats wurde es weit besser um ~1996 hab mir damals mein erstes eignendes Modem gekauft mit der berühmten "Erotic Flat" welches ich nur Nachts nutzen konte wenn meine Eltern Gepennt haben weil die immer recht ungehalten waren wenn das Telefon nicht ging, aber immerhin hab ich damit meine Eltern dazu gebracht ISDN anzuschaffen und hatte einen Kanal für mich und Nachts zwei ;) Edit: das Bild was oben fehlt
Bei AOL fällt mir der Internet-Werbespot mit Boris Becker ein: "bin ich schon drin? - das war ja einfach" Meine ersten Anwendungen für den AIM65 waren bereits Amateurfunkprogramme in Assembler (schon symbolisch mit Labels, nicht als Hexzahlen eingetippt). Morsedecoder und Funkfernschreiben im Baudot-5-bit-Code. Da wurde auch sofort die Bedeutung von EMV-Massnahmen bewusst, auf Kurzwelle störte der offene Rechner sehr den Empfang. Mit Basic wurden später im DARC-Ortsverband die "QTH-Kenner" in Entfernungen umgerechnet.
Angefangen habe ich mit Basic auf einem C16 Danach: - QBasic - Pascal - Assembler für 8085 - VB.Net - C#
Christoph K. schrieb: > Da wurde auch sofort die Bedeutung von EMV-Massnahmen bewusst, auf > Kurzwelle störte der offene Rechner sehr den Empfang. Man konnte im Radio hören, ob er in der Warteschleife lief, oder Arbeit hatte.
Locomotive Basic auf dem Schneider CPC6128 Dann Turbo Pascal 7.0 bis heute nutze ich überwiegend Pascal auch für AVR und ARM Testweise derzeit C, auch wenn ich irgendwie nicht so richtig die notwendigkeit für den Umstieg sehe..
> Damals, als die alle angefangen haben zu Programmieren, gab es kein > Internet wo man mal eben schnell was nachlesen konnte oder eine Vorlage > hatte. Da gab es nur das "Try and Error" Prinzip um es zu lernen. Ich > gehe davon aus das hier fast alle "von Grund auf 100% auf sich alleine > gestellt" waren. Ja genau. Wer damals einen Heimcomputer kaufte, oder eine Programmiersprache für den PC, bekam dabei auch dicke Referenzhandbücher dazu. Mit denen habe ich es gelernt. Internet gabe es damals nicht. Aber Fido-Netz, das konnte ich mir jedoch erst zum Ende der Ausbildung leisten. Dafür musste man ein 500 Mark teures Modem kaufen (das war damals für Azubis ein komplettes Monatsgehalt), sowie 20-100 Mark Telefongebühren pro Monat.
> Soll mir bloß keiner sagen, daß man in > Assembler keine wirklich großen Systeme schreiben kann. > Allerdings sehe ich, daß heutzutage die Smartphone-Kinder > sowas nicht mehr fertigbringen. Nicht groß aber cool: Ich hatte einen MS-DOS Gerätetreiber für Diskettenlaufwerke geschrieben, der die Zugriffsgeschwindigkeit fast verdoppelt hat (die Hardware wurde damals schneller flinker, als die Betriebsysteme dem angepasst wurden). Kennt noch jemand das Programm Vgacopy? Ich glaube der Author hiess Thomas Mönkemeier oder so ähnlich. Ich hatte dazu die Sound-Routinen und Floppy-Treiber entwickelt. Danach war es eine Zeit lang das schnellste Disketten-Kopierprogramm.
C64? Habe ich nie gehabt, wollte ich aber gerne. Viele meiner Mitschülder hatten einem, um den ich sie beneidet habe, aber sie zockten damit nur. Hätte ich einen C64-er gehabt, hätte ich erst ein Packprogramm geschrieben, dann ein Online-Bezahlsystem entwickelt und hätte heute mein eigenes Raumfahrt-Unternehmen und würde Elektro-Autos bauen... schwärm
K. J. schrieb: > vorher war es ehr > das was nicht im Buch steht gibt es nicht. Nein, so war es nicht. Es gab mehr als ein Buch, es gab andere Bücher :). Irgendwann gab es Zeitschriften. Die Beste und unerreichte war ab Mitte der 70er "Dr. Dobb’s Journal of Computer Calisthenics and Orthodontia". Am Anfang war es schwer aber nicht unmöglich sie in Deutschland zu bekommen. Die meisten Heimcomputer-Magazine, die es in den 80ern in Deutschland gab, waren dagegen ziemlich schlecht. Wenn man sonst nichts hatte konnte man trotzdem noch was aus denen lernen. Dann gab es die c't. Die war nicht immer das Festplatten-Test- und Windows-Werbemagazin zu dem es heute verkommen ist. Recht gut, aber selten aufzutreiben waren auch englische Heimcomputer-Magazine. Viel wichtiger aber, es gab noch was ganz scharfes, nämlich das "dann packen wir mal den Debugger/Disassembler aus und sehen uns an was im Programm, ROM und, in meinem Fall, im CP/M OS wirklich passiert." Bei mir zuerst mit dem DDT, dann DDTZ, dann mit dem Z8E. Letzterer mit animierter Darstellung der Z80 Befehlsausführung. Es war eben nicht so, wie es heute mit Google ist. Heute glauben viele was Google nicht findet gibt es nicht. Wir haben statt dessen mal im Maschinenraum nachgesehen.
Na sowas, alles alte Säcke hier (fast). Dann werde ich mich auch mal outen :-) Start etwa 1977 TI 58 HP11C U808 Assembler auf selbstgebauter Hardware U880 Assembler auf selbstgebauter Hardware Basic auf selbstgebautem ZX Spectrum Z8 Assembler PL/1 Fortran Turbo Pascal unter CP/M Turbo Pascal unter DOS Prolog unter DOS 8051 Assembler Delphi AVR Assembler AVR GCC
Stefan U. schrieb: > Wer damals einen Heimcomputer kaufte, oder eine > Programmiersprache für den PC, bekam dabei auch dicke Referenzhandbücher > dazu. Mit denen habe ich es gelernt. So ist es, die beiden dicken Bücher zu Turbo Pascal 4 waren nach einigen Jahren komplett zerfleddert. Die Bücher zu Turbo C 3.x genauso, und bei Borland C 3.0 war der Buchstapel über 30cm hoch. Bei den Unixen hat man die Doku in Meter gemessen. Stefan U. schrieb: > Kennt noch jemand das Programm Vgacopy? Ich meine das hätten wir auch gehabt. Stefan U. schrieb: > Ich hatte dazu die Sound-Routinen und > Floppy-Treiber entwickelt. cool :-)
Auch bei mir fing es mit programmierbaren Taschenrechnern an. Ich hatte zwar selber keinen, dafür aber einen gut ausgestatteten Bekanntenkreis ;-) Die erste "richtige" Programmiersprache war BASIC auf einem Kienzle- Computer (vermutlich aus der 9000er-Serie, genau weiß ich es aber nicht mehr). Das war so eine Art mehrtägiger Schnupperkurs, der durch einen engagierten Mathelehrer unserer Schule organisiert wurde. Einige Zeit später kam etwas Eigenes in Form eines Apple II ins Haus, auf dem ich BASIC noch einmal richtig lernte und danach auch Maschinensprache (in Form von Hexcodes), Assembler und Pascal. Das alles fand in meiner Jugend (so zwischen 14 und 17 Jahren) statt. Nachdem ich erst einmal Zucker geleckt hatte, kamen so nach und nach noch ein paar weitere Programmiersprachen hinzu. Joachim S. schrieb: > - Was sind eurer Meinung nach vorteilhafte/nachteilige Eigenschaften für > die "allererste Programmiersprache", um programmieren zu lernen? Dass ich mit so einem "gruseligen" BASIC-Dialekt mit Zeilennummern und Gotos angefangen habe, empfinde ich auch im Nachhinein nicht als Nachteil. Die Zeilenummern mussten eben sein, weil es für die klassischen BASICs keinen richtigen Editor (wie man ihn heute kennt) gab. Die Reihenfolge der einzelnen Programmzeilen wurde deswegen über die Zeilenummern festgelegt, die zusätzlich als Sprungziele fungierten. Und die Nachteile von Gotos versteht man nicht dadurch, dass man immer wieder gesagt bekommt: "Gotos sind böse und führen zu Spaghetticode". Um überhaupt erst einmal den Begriff "Spaghetticode" zu verstehen, muss man selber welchen produziert haben. Dass dieser unübersichtlich ist, merkt man auch erst mit der Zeit, wenn die Programme etwas größer werden. Dann (und erst dann) wird man Kontrollstrukturen wie If-Else, While-Do, DO-Until usw. mit Freude anwenden. Zu diesem Zeitpunkt hat man aber das blutige Anfängertum schon längst hinter sich. Davor ist IMHO Goto völlig in Ordnung. Noch einen Vorteil hat das klassische BASIC: Es repräsentiert das Paradigma der imperativen Programmierung – wie kaum eine andere imperative Sprache – in nahezu Reinstform:
1 | eine Codezeile |
2 | = ein Befehl |
3 | = eine in sich abgeschlossene Aktion |
Diese Aktion ist in wenigen Worten klar formulierbar und – u.a. auch wegen des Verzichts auf lokale Variablen – weitgehend unabhängig vom Kontext oder der Ablaufhistorie des Programms. Das erleichtert bspw. das schrittweise Durchgehen des Programmcodes (egal ob im Debugger oder mit dem Zeigefinger auf dem ausgedruckten Quellcode). Gerade Kinder, die zwar technisches Interesse zeigen, aber deren Abstraktionsfähigkeiten noch nicht so ausgebildet sind, können den Computer anschaulich als eine mechanische Maschine betrachten, die ein langes Stück Papier mit dem Quellcode des Programms Zeile für Zeile in sich hineinzieht und bei jeder Zeile irgendetwas tut. Bei Sprungbefehlen wird das Papier im Schnelldurchlauf ein Stück vor- bzw. zurückgespult. Noch ausgeprägter als in BASIC ist diese Eigenschaft eigentlich nur bei programmierbaren Taschenrechnern und in der Assemblerprogrammierung. In Pascal, C, C++, Java und Konsorten, die zwar ebenfalls imperativ sind, sind gefühlt nur etwa zwei Drittel der (nichtleeren) Codezeilen ausführbar, der Rest sind Deklarationen oder Programmstruktur, die für einen absoluten Programmieranfänger eher verwirrend als nützlich sind. Als ich das erste Mal ein Pascal-Programm zu Gesicht bekam, wunderten mich die vielen BEGINs und ENDs. Ich fragte mich, was diese "Befehle" wohl tun. So oft, wie da ein END vorkam, konnte das Programm doch gar nicht beendet werden. Und begonnen wird ein Programm doch in Zeile 1 und nicht an zig verschiedenen Stellen gleichzeitig ;-) Natürlich habe ich sehr bald verstanden, dass diese Schlüsselwörter keine Befehle sind und dass mit ihnen auch keine Aktion verbunden ist, sondern dass sie lediglich der Gruppierung von Anweisungen dienen. Sie sind also – vom logischen Standpunkt betrachtet – nichts anderes als Klammern¹. In klassischem BASIC entfällt diese Gruppierung von Anweisungen. Ebenso entfallen Variablendeklarationen. Die ersten Anfängerprogramme führen ja meist nur einfache Berechnungen durch, wofür man – wie auch bei einem Taschenrechner – nur einen einzigen Datentyp, nämlich "Zahl" braucht. Warum sollte man sich also gleich von Anfang an mit Deklarationen herumschlagen? Auch in vielen anderen Punkten beschränkte sich BASIC auf das absolut Nötigste, weswegen man schon nach kurzer Lernphase das komplette für die Computerprogrammiererei erforderliche Rüstzeug beisammen hatte. Entsprechend schnell stellten sich die Erfolgserlebnisse ein. Eine Sprache komplett zu lernen (und nicht nur eine Teilmenge davon), ist allein schon deswegen wichtig, um Code von anderen verstehen zu können. In dieser Hinsicht ist eine spartanische Sprache wie das frühe BASIC gegenüber Alleskönnern wie C++ oder C# klar im Vorteil. Wer mehr als nur Gelegenheitsprogrammierer ist oder werden möchte, wird natürlich bald auf die Schwächen von BASIC stoßen, nicht nur bei den frühen BASIC-Dialekten, sondern auch bei deren moderneren Nachfolgern. Dann ist der Zeitpunkt gekommen, sich nach einer anderen Sprache umzusehen. Auch dort wird man wieder viele Erfolgserlebnisse verspüren, da man die Probleme, auf deren Lösung die neue Sprache mit spziellen Sprachkonstrukten oder gar neuartigen Paradigmen abzielt, bereits am eigenen Leib gespürt hat. Aber als Anfängersprache macht BASIC (auch ohne Zeilennummern ;-)) IHMO mmer noch aber einen sehr guten Job. Es bekommt diesbezüglich aber immer mehr Konkurrenz durch andere dynamische Sprachen wie bspw. Python und Lua. ——————————————— ¹) In vielen anderen Sprachen, wie bspw. C & Nachfahren, werden deswegen sogar echte Klammersymbole verwendet :)
> cool :-)
Ja, hat Spaß gemacht. Heute würde ich das als Pillepalle bezeichnen,
aber damals war das wirklich coll.
Ein Diskettenkopierer mit Grafik und Soundausgabe - völlig sinnfrei,
musste man trotzdem haben :-)
Der wahre Grund, das Programm zu kaufen, war natürlich, dass man damit
einige Varianten von Kopierschutz umgehen konnte.
Stefan U. schrieb: > Kennt noch jemand das Programm Vgacopy? Ich glaube der Author hiess > Thomas Mönkemeier oder so ähnlich. Ich hatte dazu die Sound-Routinen und > Floppy-Treiber entwickelt. Danach war es eine Zeit lang das schnellste > Disketten-Kopierprogramm. In der Dos-Welt vielleicht, das Vorbild/Original heisst XCopy und wurde für den Amiga gecodet. https://retromaster.files.wordpress.com/2010/05/ufe-xcopy-multiple-drives.jpg Damals hieß die Freundin noch Computer ;-)
Stefan U. schrieb: > Kennt noch jemand das Programm Vgacopy? Ich glaube der Author hiess > Thomas Mönkemeier oder so ähnlich. Ich hatte dazu die Sound-Routinen und > Floppy-Treiber entwickelt. Danach war es eine Zeit lang das schnellste > Disketten-Kopierprogramm. Ja natürlich kennt man das noch :-D Hach herrlich sind wir schon alt schwelg
hex-Programmierung auf nem LC80, mit 13 in einer Spezial-Arbeitsgemeinschaft dann Basic auf KC85/3 und KC87 auch mit 13 dann Basic auf C64 mit 14 im Abi als Hobby TurboPascal (6.0, später Delphi) an der Uni im C-Kurs nur bömische Dörfer verstanden autodidaktisch dann später c, c++, c#, vb, vb.net, Prolog, Fortran
Fortran IV Algol Pascal Pl I Assembler Simula Prolog Ada Perl Java C-( Fortran brauchte man als Physiker. Pl I war etwas eleganter. Pascal schön, klar aber für komplexe Berechnungen :-( Simula und Prolog eröffneten eine andere Sicht auf Programmierung. Für "mach mal eben" ist bei mir Perl angesagt. Ada war DIE Sprache für riesige, hoch zuverlässige Projekte mit Möglichkeiten von denen ich zuvor nicht einmal geträumt hatte. Programmieren im Großen mit Softwarearchitekturen, Modularisierung, Kapselung, Vererbung, Schablonen und das alles auf Paket-Ebenen war auf einmal in der Sprache möglich. Programmieren in der Mitte: Compilierbare Spezifikationen gegen die Anwender bereits compilieren können. Technische Größen werden ebenso abstrakt formuliert wie auch deren Verknüpfung. Anfänger aus C und Pascal staunen: Ich kann wie ein Ingenieur arbeiten, die meiste Zeit brauche ich, um etwas zu beschreiben, der Code ist dann einfach und schnell erstellt. Programmieren im Kleinen mit klaren Wertebereichen von Typen führte dazu, dass mir zunächst der Compiler jede Kleinigkeit um die Ohren haute. Zur Laufzeit gab es dann Fehler wegen Verletzung von Wertebereichen. Wenn dann das Programm nicht lief, war die Ursache ein konzeptioneller. Im ganz Kleinen habe ich Bits in Hardware-nahen Paketen geklemmt, die den Anwendern über abstrakte, komfortable Schnittstelle bereitgestellt wurden. In Wirklichkeit wurden nur ein paar Maschinen-Befehle ausgeführt. Beispiel: In einer Firma fragte mich ein ( C- ) Softwerker, wie man diese tolle Beschreibung einer Hardware-Schnittstelle in Ada programmieren würde. Ich verstand nicht, es war Ada. Alle reden von Multitheading und wissen um die Probleme mit ungeschütztem Adressräumen. Ada macht Multitheading, prüft die Adressräume möglichst zu Compilezeit und baut, falls nötig, Code zur Überprüfung automatisch ein. Eines ist aber auch bei einer restriktiven Sprache wie Ada nötig: Programmier-Regeln, die so hart sind, dass alle Softwerker weinen. Leider muss ich immer wieder feststellen, dass Ada im C-Stil programmiert wird. Jemand der gut mit dem Hammer arbeiten kann, bekommt eine Bohrmaschine und ärgert sich, wie umständlich man damit Nägel einschlagen kann. Nicht Sprachen wie Java, C++ oder auch C bereiten mir Probleme, sondern die Praxis, die auch noch durch Tools unterstützt werden, sich das was man brauchen könnte von überall herzu holen. Wenn ich dann auch noch sehe, wie hendsärmlich Code erstellt wird, bekomme ich Alpträume ob unserer gesellschaftlichen Abhängigkeit von Software. Ich frage Euch, Hardwerker, was Ihr mit einem Kollegen machen würdet, der eine Schaltung mal eben zusammengepfriemelt hat, deren Teile er sich aus der großen Grabbelkiste besorgte und diese dann an die Produktion geben will?
Meine erste Programmiersprache war das Basic vom ZX-81. Meine Lieblingsbefehle waren bald PEEK und POKE, weil man damit am meisten anfangen konnte. So etwa selbstmodifizierende Programme, zB ein Programm, dass mir die Zuordnung von Bytes zu Befehlen aufgelistet hat. Nebenbei hatte mich auch noch Z80-Assembler etwas beschäftigt. Dann kam ein etwas komfortablerer Rechner mit DOS und GW-Basic. Damit hab ich dann erste wirklich brauchbare Programme geschrieben, ein Faktura-Programm für Liefertouren, die meine damalige Lebensgefährtin ausführte. Zugleich wurden damit aber auch die Grenzen und Schwächen von Basic deutlich, die Lahmarschigkeit und Unübersichtlichkeit. Dann habe ich C entdeckt, und es war für mich die totale Befreiung. Es war wie der Umstieg vom Kinderdreirad aufs Fahrrad. Eine Sprache wie für mich geschaffen. Auch wenn ich mit Basic angefangen habe, halte ich es nicht für eine geeignete Sprache für Anfänger. Der einzige Vorteil war, dass es Interpreter waren, mit dem man auch interaktiv arbeiten konnte. Als Compilersprache ist Basic in nichts einfacher als C. Meinem Sohn habe ich die ersten Schritte zum Programmieren in DOS-Batchprogrammen beigebracht. Er hat dann allein weitergemacht mit Clonk-Scripten in C-Syntax, im Prinzip arbeitet da ein C-Interpreter. Inzwischen hat er schon ganze Bibliotheken in C++ geschrieben.
Hier ist ein gutes YT-Video, das auch nochmal ein paar wichtige Begleitumstände zusammenfasst. Titel: Old computers did it better https://www.youtube.com/watch?v=0wDtxYeJdzg In der 80er und 90er Zeit war neben Mofatuning auch Hardwarehacking (Spielekonsolen) und Frisieren (Homecompis) angesagt. Was die Kinder von heute angeht: die aktuellen Zeitumstände geben das meiste vor, was motiviert. Sie leben ihr eigenes Leben mit eigenen Bedürfnissen und eigenen prägenden Erlebnissen. Aber es gibt auch Sachen, die funktionieren immer wieder, z.B. eigene Merkwörter für Morse-Codes finden.
Das übliche Basic-Gestoppel, sehr kurz UCSD-Pascal, dann 6502-Assembler, handassemblierter Code auf LH5801, ein kurzer Ausflug nach Forth, dann Pascal, 6809-Assembler ... Bunte Mischung also. Nichts davon nutze ich noch.
Jobst Q. schrieb: > Meine erste Programmiersprache war das Basic vom ZX-81. Meine > Lieblingsbefehle waren bald PEEK und POKE, weil man damit am meisten > anfangen konnte. So etwa selbstmodifizierende Programme, zB ein > Programm, dass mir die Zuordnung von Bytes zu Befehlen aufgelistet hat. nicht zu vergessen: der Unsterblichkeitspoke für kommerzielle Spiele.
GuestBook schrieb: > Nicht jeder hat die > Zeit dafür, erst die mathematische Korrektheit seiner Software zu > beweisen, bevor er sie ausführt. Ja und genau mit solchen Schlampereien kommt dann Mist heraus, wenn mehrere Module dann zusammen arbeiten müssen. Man sollte schon eine gewisse Sorgfalt bei der programmerstellung walten lassen. Zeno
- 8085 Assembler mit Papier, Bleistift und Mnemonic Liste - ZX81 Basic - Assembler für Z80 auf Schneider CPC464 - Turbo Pascal 2 auf Schneider CPC6128 - GW-Basic auf Schneider PC1512 (MS-DOS 3.2) - Turbo Pascal 3.02 - 6.0 - TASM - Turbo C dann Borland C++ - (selbstgeschriebenen) Assembler für MCS-48 dann MCS-51 - SDCC für MCS-51 - Delphi - Visual Studio Express C++ - Java Script (für Webseiten) - GCC - AVR-GCC und ARM-NONE-EABI-GCC - SDCC für STM8 - Lazarus / Freepascal (einen C64 oder überhaupt einen Commodore-Rechner hatte ich nie)
- Assembler auf ner selbstbelichteten/geätzen/gelöteten Elektor Platine Funzte eher spärlich bis Elektor das "Errata" brachte - 6502 Assembler auf nem selbstgelöteten Apple II clone - Pascal unter CP/M - Rocky Mountain Basic (HP-Basic) auf ner HP 9000 Series 300 (später dann HT-Basoc) - ZX 81 Basic - HP 85 Assembler - Qbasic auf nem DOS Rechner - Pascal dito - Autolisp (Autocad Lisp) dito - HC11 Assembler auf nem Motorola EVB mit DOS-Crosscompiler - Diverse C compiler unter Windows - Mikroe Pic C (16/18/32er) - Microchip C (MPLAB) - Php etc
1979 habe ich für meine 1. Studienarbeit ein größeres Programm in Fortran-IV geschrieben. Die COMMON-Blöcke sind mir bis heute im Gedächtnis geblieben. Heutzutage würde man das globale Variablen nennen.
BASIC auf eine Z1013 ...und danach gleich Z80-Assembler, damit die Kiste Fraktale schneller berechnen konnte :-)
Assembler auf dem U880 (Z80, der bessere I8080). Übrigens nutzten wir den U8000 (16bit) unter WEGA (DDR-Unix) zur Softwareerstellung und Programmierung. Bei meinem ersten Besuch in der BRD wollten die Verwandten mir was gutes tun und einen Computer kaufen. Ich glaub es war ein Gerät mit irgendwie 520 im Namen. Das ging nicht, weil ein 16-bitter und man keine HighTech an DDR-Bürger verkauften durfte. Zu Hause arbeitete ich aber mit einem Entwicklungssystem auf 16bit, genannt P8000. Na ja, Politiker waren schon immer leicht behämmert Für die damalige Roboterprogrammierung war Assembler unbedingt erforderlich, weil die langsamen (2,5MHz) Prozessoren durch Hochsprachen einfach keine vernünftigen Reaktionszeiten brachten. Ja selbst Drehgeber waren ohne TTL-Logik nicht zu bewältigen.
- 1972 Algol(?) auf einem D4A(?)mit Lochstreifen - 1985 Assembler per Hand, Zettel und Gehirn auf LC-80 Z-80 - 1987 Assembler und Basic auf Z-1013 mit Bildschirm - 1990 GW-Basic auf PC - 1997 CAD-Ausbildung auf SUN und Win. C-Grundkurs für SUN - und LISP für ACAD. Danach gescheiterte C-Programmierung unter Neu-LINUX. - 1998 AVR- Assembler und AVR-Basic (das gab es damals wirklich). - 2000 AVR- Bascom Ordentliche c-Compiler waren da viel zu teuer. - Seitdem bin ich zu faul, eine neue Sprache zu erlernen. Übrigens, BASCOM hat mit dem alten Basic kaum was zu tun. Übrigens, STANDARD BASIC hat auch mit dem Anfänger-Basic nichts zu tun. Man sollte sich mal schlau machen, was es alles kann. Übrigens, es ist egal, wie man bestimmte Sachen programmiert. Die Grundlagen wie Sortierung, Datenverwaltung usw. habe ich mit BASIC gelernt. Aus Heften oder Rundfunkbeiträgen. Übrigens, wer und wann mit Programmierung anfängt, ist von der Verfügbarkeit von Programmen abhängig.
1. Basic auf dem ZX81 mit 14 2. Assembler auf dem ZX81 mit 15 3. mit 15: erster selbst entwickelter Computer mit Z80, Assembler 4. Basic Apple2 5. 6502 Assembler 6. Basic Attari ST 7. 68000 Assembler 8. 8051 Assembler 9. PASCAL 10. FORTH 11. C 12: 56000 DSP Assembler 13: TMS320c50 Assembler 14: Matlab 15: Labview 16: Java 17: C++ 19: Parallax Propeller Assembler 20: Python 21: GMC4 Assembler ;-) 22: ARDUINO API :-P
Helmut S. schrieb: > 1979 habe ich für meine 1. Studienarbeit ein größeres Programm in > Fortran-IV geschrieben. Die COMMON-Blöcke sind mir bis heute im > Gedächtnis geblieben. Heutzutage würde man das globale Variablen nennen. Nun, Fortran IV hatte ja weder Pointer noch Referenzvariable. Immerhin gab es aber "named COMMON", vage vergleichbar den Modulattributen (vulgo auf das jeweilige module beschränkte globale Variable) in Python, die auch dem Linker bekannt waren.
michael_ schrieb: > - 2000 AVR- Bascom Ordentliche c-Compiler waren da viel zu teuer. Der GCC hat auch damals nichts gekostet. ;-) Seine Codegenerierung für AVR war durchaus schon „ordentlich“. OK, die avr-libc steckte noch sehr in den Anfängen. Gab es da nicht auch bereits CodeVision AVR? Ich finde bei denen auf der Webseite kein Datum für alte Versionen.
:
Bearbeitet durch Moderator
Christoph K. schrieb: > (ca 1971 der Kosmos Spielcomputer Logikus, 10 Schiebeschalter und > Glühlämpchen) Hah, der steht hier auch noch irgendwo rum! Wie kommt der Bauer mit Wolf, Ziege und Salat über den Fluß? Der erste eigene war dann ein "NDR"-Computer, Z80, 8-stellige Siebensegment-Anzeige, Tastatur von 0-F + Funktionstasten. https://de.wikipedia.org/wiki/NDR-Klein-Computer Programmiert wurde natürlich direkt in Maschinensprache, kein neumodischer Weichei-Assembler :) Später dann ausgebaut mit Grafikkarte+Bernstein-Monitor, "Tondband-Modem", Disketten-Laufwerk, usw. Dann lief auch CP/M mit MS-Basic drauf, vorher auch GOSI (sozusagen LOGO auf Deutsch :), Pascal...
Planlos schrieb: > Programmiert wurde natürlich direkt in Maschinensprache, kein > neumodischer Weichei-Assembler :) Mein Vater hatte damals einen Computer (war wohl ein Demosystem für irgendeinen Prozessor) mit Hex-Tastatur zum experimentieren. Ich erinnere mich noch dunkel, dass ich da bestimmt eine Stunde lang Zahlenkolonnen aus einer Zeitschrift eingetippt habe, um dann eine Ampel darauf laufen lassen zu können. Nach dem Ausschalten war natürlich alles wieder weg, da es keinen Massenspeicher gab.
Christoph K. schrieb: > (ca 1971 der Kosmos Spielcomputer Logikus, 10 Schiebeschalter und > Glühlämpchen) Da fällt mir gerade ein: das DDR-Pendant dazu habe ich auch gehabt (PIKOdat). Würde ich aber noch nicht gerade „programmieren“ nennen. ;-)
Ich bin wohl ein Methusalem, was das Programmieren angeht. 1967 hab ich an der Uni Münster das Programmieren im Forten IV auf dem Watfor Compiler gelernt. PL1 war die nächste Sprache, die ich mir beigebracht habe. 1979 war ich an der FH Münster beschäftigt. Damals wurden Examensarbeiten in Ökotrophologie mit bis zu 80 Seiten Tabellen mit dem Taschenrechner erstellt. Ich habe damals ein Nährwertprogramm geschrieben, das den Fachbereich in das Computerzeitalter katapultiert hat. Ab den 80ger Jahren war ich dann im Hauptschulbereich tätig. Ich habe meine Schule mit 10 Commodore Rechnern ausgestattet. Vor der Anschaffung von Festplatten wurde seitens der Regierung gewarnt. Mit den Schülern habe ich in Comal Progämmchen geschrieben. Jetzt zeichnet sich die 70 als Silberstreif am Horizont ab. Ich hab das Programmieren drangegeben.
bear_de schrieb: > Vor der Anschaffung von Festplatten wurde seitens der Regierung gewarnt. Aus welchem Grund?
>Jetzt zeichnet sich die 70 als Silberstreif am Horizont ab. Ich hab das >Programmieren drangegeben. Es mag sprachlich regional bedingt sein, aber ich verstehe die Aussage des Satzes nicht .
Meine erste waren Hexcodes auf einem selbstgebastelten 8080. Eingabe RAM-Adresse und Daten per Kippschalter. Nach 3 Mon war das ein riesen Drahtverhau aber 3 LED konnte ich gezielt blinken lassen ;) Dann VC20, C64 Assembler und der erste selbstgebaute Rechner: 6502 CPU, 8 KB SRAM und 32 KB EPROM für eine elektronische Tippse. Immerhin knapp 1000 St verkauft. Dann dBASE, dann C (einige Ausflüge in andere Assembler und Pascal). Mittlerweile HTML/CSS und lauter Webzeugs Mangels etwas besserem immer noch C. Das aber sattelfest ...
Markus schrieb: >>Jetzt zeichnet sich die 70 als Silberstreif am Horizont ab. Ich hab das >>Programmieren drangegeben. > > Es mag sprachlich regional bedingt sein, aber ich verstehe die Aussage > des Satzes nicht . Er hat die Programmierung hingeschmissen, an den Nagel gehängt, sich in die Haare geschmiert, über Bord geworfen und danach zu Grabe getragen, die Flinte ins Korn und das Handtuch einfach so geworfen, die Fahne gestrichen, den alten Zopf abgeschnitten.
:
Bearbeitet durch User
Rolf M. schrieb: > bear_de schrieb: >> Vor der Anschaffung von Festplatten wurde seitens der Regierung gewarnt. > > Aus welchem Grund? Das Konfiszieren der evtl. illegalen "Daten" könnte angeblich durch Entfernen der Datenträger aus den Laufwerken (360kB 5,25 Zoll) und deren Entmagnetisierung mit Hufeisenmagnet wesentlich einfacher gestaltet werden als die Formatierung einer evtl. vorhandenen MFM (5 MB, nicht GB, schon garnicht TB!). Start: type c:500 then run DEBUG from Floppy Disk A:> hatte noch kein BIOS, Festplatten-"Einsprungadresse" musste erst eingegeben werden......das nur nebenbei..... Lief aber auch ohne MFM Floppy Disk A:> DOS 3.1 (Betriebssystem) Floppy Disk B:> Textprogramm oder sonst was (für Texteingabe etc.) ciao gustav
:
Bearbeitet durch User
Start: 1984 U880 (Z80) Maschinencode (Kopfassembler) später zusätzlich: ESER (Großrechner) Assembler, Z80-Macro-Assembler, 8086-Assembler, Clipper, Pascal (inkl. Delphi), C++, Perl, C, C# Heute: Perl, C, C#
Hallo zusammen. > Jetzt zeichnet sich die 70 als Silberstreif am Horizont ab. Ich hab das > Programmieren drangegeben. > Opa schmeißt die Krücken hin ;-) Es gibt immer Geschichten hinter der Geschichte. Dazu meine Geschichte: Wenn ma keine ZWINGENDE! Anwendung hat, warum soll man überhaupt programmieren oder sich mit neuen, anderen, besseren? Programmiersprachen auseinander setzten? Niemand hat C, Pascal, Basic oder was auch immer nur 'Just for Fun' gelernt, weil das lustig war. Die zwingende (interessante) Anwendung stand dahinter. Man musste! es lernen (aus welchen Gründen auch immer), man hat sich es selber beigebracht oder es ist einem gelehrt worden. Bei mir ist übrigens der Silberstreif am Horizont auch schon zu erkennen. Meine Geschichte: 1998 HP97 (läuft bis heute noch, Magnetkartenleser leider hin) Scheiss viel Mathe, ich musste mich damit auseinander setzen, Netzwerkanalyse. Einmal UPN immer UPN!!! 1992 Sharp PC 1245( ca.1400 BASIC-Bytes! free) Ein bisschen später habe ich ihn auf 3k+ aufbohren lassen. Mit diesem Teil habe ich damals HF-Netzwerkanalyse gemacht. 1984 C-64 U. a. Zwingende Anwendung: Programm zum Drucken von Banküberweisungen auf Nadeldrucker. Mit selbstgeschriebener Datenbank und allem Schnick und Schnack. 1986 der 1. PC, 286er mit 20MB! Platte WWAAHHSSIINNNN! Überweisungprogramm umgeschrieben auf GW-Basic. Im Laufe der Jahre änderten sich die Belege, mehrmals angepasst. Ca. 1994 (Zur Info: ich bin Apotheker) Es stand an: Computer für die Apotheke, die Rezepte mussten! bedruckt werden. Den üblichen Unternehmen für Apothekensoftware wollte ich mich nicht ausliefern. Also selbermachen. Die Rohdaten konnte man kaufen, aber der Rest..?? Es stand an: Turbo-Pascal oder dBase/Clipper. Ich habe mich damals für Clipper entschieden, weil man dann das ganze Datenbankgerödel nicht auch noch selbst schreiben musste. Mit diesem Programm (ca. 250k Quellcode) ist 7 Jahre Geld verdient worden. Für einen Amateur nicht schlecht, oder..? Nun stehe ich im Jahr 2016. Eine Windows Anwendung kann ich immer noch nicht programmieren. Zwingende Anwendung? Ich habe keine. Darum wurschtele ich mich so dadurch. Manchmal bedauere ich es, aber meistens klappt es. Was andere mit Exel machen, mache ich mit dBase; naja dann habe ich eben keine Möglichkeit, eine Graphik zu erstellen. Ich kann damit leben. Zu den (ewig) Gestrigen möchte ich nicht gezählt werden. Das Programmieren eines AVR habe ich durchaus gelernt. 73 Wilhelm
Also bei mir fing es 1972 in der FH an mit Focal dann Fortran In meinem ersten Job ASM80, PL/M-80 und Fortran, privat PL/I und später C In meinem 2. Job ASM86 PL/M-86 später C
Visual Basic (Berufsschule, nur angekratzt. Objekte zeichnen und bewegen etc.) Perl (Spontan ein Buch am Bahnhofskiosk gekauft) C (Studium) C++ (Studium) VHDL (Studium) Java (Studium) Bash, C (Job) Zuhause fühle ich mich in C/C++ und Bash. Wobei ich mich in keiner Sprache als Profi bezeichnen würde.
1987/88 Basic, Asm, Pascal und etwas Forth auf KC85 und SCP/CPM (Z80/U880) 1988 µC (UB883/884) in Asm 1989 C auf Atari und Amiga 1990 Smalltalk und Asm auf x86 1991 S5 und andere SPSen 1992 C++ und (Turbo-)Pascal auf x86 Ich muss sagen das mir Basic den Weg geebnet hat. Besonders ein Programmierkurs bei Prof. Völz. Heutzutage würde ich aber trotzdem zum Einstieg C empfehlen da man gezwungen ist "ordentlich" zu programmieren (Ausnahmen bestätigen die Regel). Seit >2 1/2 Dekaden ist C meine Lieblingsprogrammiersprache, alles schön auf Fußpilzebene. Ansonsten bin ich heute in der µC-Welt, besonders ARM, zu hause. Anwendungsprogrammierung à la Klicki-Bunti ist nicht mehr mein Ding und wird nur noch im Notfall gemacht. Gruß Nico DM5SN
Zu C bin ich freiwillig gekommen. Mich hatten "sie" ja vom Studium weg abgeheuert und ich sollte eine Art Compiler für Bestückprogramme neu machen. Das hatte ein Ing in GWBASIC geschrieben und kein Mensch hat mehr durch den (fehlerhaften) Spaghetticode durch geblickt. Ich habe mich dann 2 Wochen in C eingewühlt und das Teil lief. (Fast) ohne Macken aber um den Faktor 2000 (!) schneller ;) Die Firma hat mir dann auch den Compiler bezahlt ...
Wilhelm S. schrieb: > Niemand hat C, Pascal, Basic oder was auch immer nur 'Just for Fun' > gelernt, weil das lustig war. Die zwingende (interessante) > Anwendung stand dahinter. Man musste! es lernen (aus welchen > Gründen auch immer), man hat sich es selber beigebracht > oder es ist einem gelehrt worden. Das kann ich nicht bestätigen, in dieser pauschalen Form ist das falsch. Wie ich schon mal schrieb, Fortran IV habe ich mir 1970 selber beigebracht, just for fun. Dahinter stand keine "zwingend notwendige Anwendung", wer braucht schon die ersten paar tausend Primzahlen auf Papier, und auch sonst keine irgend wie von außen kommende Motivation. Auch heute lerne ich gerne mal die eine oder andere neue Programmiersprache, wenngleich ich zugeben muß, daß die Abstände größer werden und inzwischen praktisch immer eine äußere Motivation den Auslöser darstellt. Angefangen aber habe ich "just for fun", da lege ich Wert drauf. Oder, wenn man es etwas hochgestochener ausdrücken will, aus reinem Erkennntnisinteresse. :-)
Wolfgang S. schrieb: > Wilhelm S. schrieb: >> Niemand hat C, Pascal, Basic oder was auch immer nur 'Just for Fun' >> gelernt, weil das lustig war. Die zwingende (interessante) >> Anwendung stand dahinter. Man musste! es lernen (aus welchen >> Gründen auch immer), man hat sich es selber beigebracht >> oder es ist einem gelehrt worden. > Das kann ich nicht bestätigen, .... > und inzwischen praktisch immer eine äußere Motivation den > Auslöser darstellt. Damit bestätigst Du es letztlich doch ;-) An der Uni war die Programmiersprache durch den Fachbereich 'vorgegeben'. Die Physiker verwendeten Fortran und die Mathematiker Algol. Mit Fortran war es dann möglich, die Meßwerte aus den Versuchen als geschönte Kurven (mit dem richtigen Stapel Lochkarten) auszudrucken. Das war die Motivation an der Uni. Bei der Hardware war die Motivation, von diesen völlig steifen Lötaufbauten mit diskreter Logik wegzukommen. Der Aufwand an Hardware für den Einstieg war zwar hoch CPU, RAM, EPROM, aber dafür war man anschließend ungeahnt flexibel bei Änderungen der Funktion. Das Programmieren zu lernen war seinerzeit ohnehin relativ leicht: Alles war Neuland und abends nach der Kneipe hatte man noch die ganze Nacht genug Zeit. Für mich war immer ein konkretes Ziel die Motivation für die Technik bzw. Programmiererei. Andernfalls hätte man ja auch dieses langweilige Schach spielen können ;-)
Wolfgang S. schrieb: > Wilhelm S. schrieb: >> Niemand hat C, Pascal, Basic oder was auch immer nur 'Just for Fun' >> gelernt, weil das lustig war. Die zwingende (interessante) >> Anwendung stand dahinter. Man musste! es lernen (aus welchen >> Gründen auch immer), man hat sich es selber beigebracht >> oder es ist einem gelehrt worden. > > Das kann ich nicht bestätigen, in dieser pauschalen Form ist das falsch. Sehe ich auch so. Bei mir stand damals der Homecomputer eben so rum, also musste man ja mal ausprobieren, was man damit so machen kann. Bei mir war es eigentlich meistens so, dass ich Dinge gelernt oder Gadgets gekauft hab, weil die mich selbst interessiert haben. Das Problem war eher, eine sinnvolle Anwendung dafür zu finden. Die letzte Sprache, bei der das so war, ist OpenCL. Hab ich mir mal im Urlaub beigebracht und damit ein Apfelmännchen auf der Grafikkarte gerendet - nicht weil ich unbedingt ein Apfelmännchen wollte, sondern weil ich irgendwas gebraucht habe, das ich programmieren kann. Seither hab ich OpenCL nicht wieder verwendet, mangels Anwendungen, für die ich's brauchen könnte.
Fortran, COBOL und Assembler (IBM 360/30) 1965. Weil die Tabelliermaschinenzeit endete und noch einige Jahre RV vor mir standen.
MOS 6510 - Assembler auf dem Papier und Hexeditor. Das war extrem lehrreich. Dann diverse Motorola mit Makroassembler und später C/Pascal später C++ (mit den "Borland Turbos").
Wolfgang S. schrieb: > Wilhelm S. schrieb: >> Niemand hat C, Pascal, Basic oder was auch immer nur 'Just for Fun' >> gelernt, weil das lustig war. Die zwingende > > Das kann ich nicht bestätigen, in dieser pauschalen Form ist das falsch. Beides gibt es: -Programmieren lernen aus eigenen Antrieb oder -Programmieren lernen weil es auf dem Karriere/Lehr-plan steht. In der Heimcomputerära überwog IMHO ersters, mal wollte einfach "das Ding programmieren", sich "damit beschäftigen". Das war auch interessant weil es eben die ganzen Lehrer/Streber an der Schule nicht konnten. Wäre es Lehrstoff gewesen wäre es schon wieder langweilig, Homecomputer statt Hausaufgaben hatte auch was Rebellisches. >Was betrachtet ihr, mit eurer heutigen Erfahrung etc., als "didaktische >Erfolgs-/Misserfolgs-faktoren", wenn es um's Programmieren lernen geht? Knapp formuliert ziehe ich aus dieser Diskussion den Schluß: "Keine Didaktik ist auch eine Didaktik - und nicht mal die Schlechteste." Es bedarf also keiner externer Lern-, Motivationshilfe, wenn man denn im Vordergrund das "Programmieren/Computerjobs" und nicht das "Lernen" stellt. Vielleicht ist das auch der Grund das ich es mir mit der heutigen Computerliteratur die fast ausschließlich "Lehr/Lektions-bücher" sind schwerer als mit Nachschlagwerken wie "PC intern" oder dem "Kieser/Meder". Und ich glaube nicht, das man beispielsweise Compiler-Optionen besser lernt, indem man die Haken in der IDE/GUI nach Bildschirmfoto im "Lehrbuch" setzt. Wühlen in den Manuals dauert zwar länger, try and error auch, aber letztlich versteht man es nur auf diese Weise. Nach Lehrbuch gerät es doch oft nur zu einem Nach-Machen ohne Verstehen und damit ohne das das Repertoire an praktischen Fähigkeiten wirklich wächst. Schöne Grüße,
In der Schule (so 1985) Basic auf dem PC. Ich glaube mit Qbasic oder so unter irgendeinem DOS. Nur wenig aber. Hat wenig gebracht. In der Lehre (so um 1990) irgendein Assembler für 8051 glaube ich, davon habe ich damals gar nichts verstanden. Im Studium C, das war das erste mal, wo ich wirklich etwas gelernt habe. Wir hatten einen guten Prof. Hab das dann aber Jahrelang nicht gebraucht. Im Beruf VHDL (zählt das? Irgenwie nicht so...) das war das erste, was ich wirklich relativ viel verwendet habe. Das war 2007. Und jetzt hobbymässig C auf µC. Da haben sich die C-Stunden und das Skript aus dem Studium dann so richtig bezahlt gemacht, dadurch ging des Einstieg sehr flott. Und sogar das VHDL ist nützlich - das ist eine gute Übung für die Programmierung von Statemachines und parallel laufenden Sachen. Manchmal denke ich, ich sollte mir auch etwas PC-Programmierung aneignen. Das wäre oft schon nützlich, meine Projekte haben ja fast imer USB CDC. Habe zwar einige Programme in C geschriben, aber praktisch ist das nicht. Was ist da sinnvoll? Java? C#?
Gästchen schrieb: > Was ist da sinnvoll? Ich würde lieber mit einer Scriptsprache anfangen. Python ist „hypig“, gut brauchbar, es gibt viele Bibliotheken, und es ist (einigermaßen) portabel zwischen Windows, Unix und OSX. Perl glänzt für meine Begriffe da, wo man viel Textverarbeitung mit regulären Ausdrücken machen muss. Sowas finde ich in Python nerviger, aber nicht jeder mag die Perl-Syntax. :) OK, andererseits mag auch nicht jeder den Einrückungszwang in Python. ;-) Java oder C#? Naja, mit C# bist du doch weitgehend auf Windows festgenagelt (ja, es gibt Mono, aber funktioniert am Ende doch eher schlecht als recht), eine relativ große Lernkurve wirst du bei beiden haben, weil es dort vor allem darauf ankommt, nicht nur die Syntax der Sprache, sondern auch alle interessante Klassenbibliotheken zu kennen. Ich kenne sie aber auch selbst nicht. :) C++ könnte man noch im Zusammenhang mit Qt ins Rennen schicken: Qt abstrahiert nicht nur die GUI-Elemente, sondern auch vieles vom darunterliegenden System und was man sonst noch so braucht (bswp. Listen), sodass man damit auch recht gut plattformübergreifend programmieren kann.
Angefangen habe ich irgendwann mal mit QBasic. Dann folgten Visual Basic, C/C++ (PC), C (Microcontroller) und noch Assembler (PIC). Heute wird am PC alles in C/C++ gemacht. Und Microcontroller in Mixedcode C+ASM für maximale Performance. C-Code ist einfacher zuwarten und übersichtlicher in großen Projekten dafür in Vergleich zu Assembler Verhältnismäßig lahm. Assembler ist aufwendiger zu warten, besonders wenn man mit den Programmierstil des Urhebers nicht vertraut ist. Dafür kann man das Maximum am Schnelligkeit und Effizienz rausholen.
1968 Maschine auf dem Logikus gilt das? 1979 Basic auf dem PET2001
Wilhelm S. schrieb: > Niemand hat C, Pascal, Basic oder was auch immer nur 'Just for Fun' > gelernt, weil das lustig war. Ich habe mich mit etlichen Sprachen (und Systemen) just for fun beschäftigt, ohne eine konkrete Anwendung dahinter. Das fing sehr früh mit Pascal an, von dem ich einige Zeit nur den Jensen/Wirth Schmöker hatte, aber nichts, wo ich das hätte nutzen können. Später wurden Sprachen wie Smalltalk oder Prolog interessant, die nicht dem ziemlich ähnlichen prozeduralen Schema von z.B. C, Pascal oder Basic entsprachen. Neugierde.
:
Bearbeitet durch User
um 1990 rum BASIC (c64), dann auch Assembler TurboPascal (Schule, Informatik) Assembler (z80) Assembler (AVR), später C C++/C#/Java (Studium) heute hauptsächlich nur noch C und C#
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.