Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.alt.folklore.computer > #44531 > unrolled thread
| Started by | "F. W." <me@home.invalid> |
|---|---|
| First post | 2024-05-06 15:14 +0200 |
| Last post | 2024-05-08 16:31 +0200 |
| Articles | 13 — 7 participants |
Back to article view | Back to de.alt.folklore.computer
60 Jahre BASIC "F. W." <me@home.invalid> - 2024-05-06 15:14 +0200
Re: 60 Jahre BASIC Sebastian Barthel <naitsabes@freenet.de> - 2024-05-08 13:10 +0000
Re: 60 Jahre BASIC "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2024-05-08 21:38 +0200
Re: 60 Jahre BASIC Arno Welzel <usenet@arnowelzel.de> - 2024-05-09 12:32 +0200
Re: 60 Jahre BASIC Sebastian Barthel <naitsabes@freenet.de> - 2024-05-09 13:57 +0000
Re: 60 Jahre BASIC Arno Welzel <usenet@arnowelzel.de> - 2024-05-09 17:45 +0200
Re: 60 Jahre BASIC Sebastian Barthel <naitsabes@freenet.de> - 2024-05-09 18:06 +0000
Re: 60 Jahre BASIC Arno Welzel <usenet@arnowelzel.de> - 2024-05-09 17:46 +0200
Re: 60 Jahre BASIC Wolf gang P u f f e <remail@gmx.com> - 2024-05-09 11:14 +0200
Re: 60 Jahre BASIC Sebastian Barthel <naitsabes@freenet.de> - 2024-05-09 13:55 +0000
Re: 60 Jahre BASIC Sebastian Barthel <naitsabes@freenet.de> - 2024-05-09 18:03 +0000
Re: 60 Jahre BASIC Thomas Koenig <tkoenig@netcologne.de> - 2024-05-09 14:05 +0000
Re: 60 Jahre BASIC Hermann Riemann <nospam.ng@hermann-riemann.de> - 2024-05-08 16:31 +0200
| From | "F. W." <me@home.invalid> |
|---|---|
| Date | 2024-05-06 15:14 +0200 |
| Subject | 60 Jahre BASIC |
| Message-ID | <v1al34$2lav$14@solani.org> |
John Kemeny und Thomas Kurtz starteten am 01.05.1964 das erste BASIC-Programm. Es berechnete irgendeine nicht weiter wichtige Formel. Aber was daraus wurde, damit haben die beiden wohl selbst nicht gerechnet. Mein erster BASIC-Computer war eine ausgewachsene DEC pdp-11/35 mit acht Plätzen. Ich hatte zwar noch keinen Informatikunterricht (die Kurse kamen damals tatsächlich mangels Interesse nie zustande), aber ich wollte eben unbedingt die Knöpfchen drücken und diese merkwürdigen Zeichenhaufen verstehen, die da geheimnisvoll durch den ansonsten dunklen Computerraum leuchteten. MU-BASIC/11 - RT/11. Wir schreiben Dezember 1980. Ich durfte, dank eines sehr liebenswürdigen Lehrers, dann aber doch arbeiten, das heißt, ich bekam ein Benutzerkonto (auch wenn man das damals noch nicht so nannte). Zum Beweis meiner Würdigkeit der geheimnisvollen Maschine sollte ich zwei Programme abliefern. Man wollte wissen, ob ich nicht die Maschine kaputt mache. So eingeschüchtert dachte ich nach und da ich oft und gern in der Schulbibliothek arbeitete, lieh ich mir kurzerhand ein Buch aus "BASIC for Beginners", 1978 geschrieben, also brandneu. Die Programme wurden damals auf Papier geschrieben. Ich nahm einen Bleistift (eine der besten Ideen meines Lebens: Programme mit Bleistift schreiben! Life-Hack!) und schrieb zwei Programme "Planet" und das heute in Einsteigerkursen unvermeidliche "Zahlenraten". "Zahlenraten" muss ich wohl kaum erklären. "Planet" errechnet mein Gewicht auf allen neun Planeten unseres Sonnensystems. Das war schon damals so weird wie es heute noch klingt. Aber niemand schrieb sowas. Lehrer war begeistert (Physik!). Also legte ich los. Problem war natürlich, dass ich nicht in die heiligen Hallen durfte, bis ich ein Programm vorweisen konnte, das dort laufen kann und keinen Unfug treibt. Andererseits musste ich natürlich ein Programm auch irgendwie mal auf einem Computer laufen haben, sollten meine Werke nicht als pubertäre Meisterwerke an der Wand enden. So fristete ich die nächsten Wochenenden als menschlicher Debugger: Variablenbelegung, Ablauf, Sprünge "simulierte" ich allein mit Bleistift und Papier. Der Kopf war der Rechner. Die Programme gab ich im Lehrerzimmer ab und widmete mich dann dem, was man mit 16 halt so tut oder eben nicht tut. Der Lehrer kam dann eines Tages auf mich zu. Auf einem Zettel standen die beiden begehrtesten Wörter meines damaligen Lebens: eine Benutzerkennung und ein Passwort. Die Programme liefen übrigens NICHT auf Anhieb. Ich war wohl eines der ersten Opfer der Inkompatibilität von BASIC-Interpretern. Ich schrieb in Nixdorf Basic (Buch), brauchte aber DEC-Basic (Computer). Aber das verstand man und verzieh es mir. Damit begann eine "Karriere", die bis zu Siemens-Nixdorf und sogar IBM reichte. Programmieren konnte ich in vielen BASIC-Dialekten, Pascal, Modula-2, C und ein bisschen C++, COBOL und dBase/Clipper bis in zu Assemblerroutinen in 6502, Z80 und 8086 - neben vielen längst vergessenen Nischensprachen, die ich einfach mal ausprobierte. Unter anderem COMAL und Paradox-Script. An Rechnern besaß ich sehr viele: Trommeschläger VideoGenie (ein TRS-80-Clone), dann folgten Oric-1, Atari 800 XL, TI-99/4a, C64, C128. Am Schluss ein Apple ][ mit Monitor, später ein Apple //c, bevor ich endlich dem (Commodore) PC anheim fiel. Ich war nie faul und arbeitete ferienmäßig stets in Firmen, bis die Lehre begann. Die anderen hatten dann eben Mofas und Stereoanlagen. Aber ich war diese urige Type, die sich solche "Komputer" kaufte. Bei Frauen kam das übrigens nicht gut an. Da waren die musikalischen Mofafahrer besser dran. Sie kriegten die besten Weiber. Ja, das meiste waren BASIC-Computer (das von Atari fand ich am grottigsten). Auch auf dem PC machte ich allerhand BASIC für Firmen, bis ich mir endlich mal Turbo-Pascal kaufte und mich neu verliebte. Aber BASIC war immer am Start irgendwie. Auch heute habe ich auf meinen Rechnern stets irgendwelche Compiler oder Interpreter unter Windows, DOS, Linux und Android. Sogar einen Basic-Interpreter unter IOS habe ich aufgetan. Und so sage ich D A N K E an John und Tom! Diese einfache Idee des Interpreters, diese vielen Computer, sie haben mein Leben entscheidend geprägt. Man wird mich wohl noch auf dem Sterbebett fragen können, wie man zwei FOR-Schleifen ineinander verschachtelt...HOLD MY BEER... FW
[toc] | [next] | [standalone]
| From | Sebastian Barthel <naitsabes@freenet.de> |
|---|---|
| Date | 2024-05-08 13:10 +0000 |
| Message-ID | <v1ftkc$pc2$1@solani.org> |
| In reply to | #44531 |
Am Mon, 06 May 2024 15:14:12 +0200 schrieb F. W.: > John Kemeny und Thomas Kurtz starteten am 01.05.1964 das erste > BASIC-Programm. Es berechnete irgendeine nicht weiter wichtige Formel. > Aber was daraus wurde, damit haben die beiden wohl selbst nicht > gerechnet. > > Mein erster BASIC-Computer war eine ausgewachsene DEC pdp-11/35 mit acht > Plätzen. Ich hatte zwar noch keinen Informatikunterricht ... aber ich > wollte eben unbedingt die Knöpfchen drücken ... > > MU-BASIC/11 - RT/11. Wir schreiben Dezember 1980. > > Ich durfte, dank eines sehr liebenswürdigen Lehrers, dann aber doch > arbeiten, das heißt, ich bekam ein Benutzerkonto ... sollte ich zwei Programme abliefern. > > Die Programme wurden damals auf Papier geschrieben. Ich nahm einen > Bleistift (eine der besten Ideen meines Lebens: Programme mit Bleistift > schreiben! Life-Hack!) und schrieb zwei Programme "Planet" und das heute > in Einsteigerkursen unvermeidliche "Zahlenraten". > > "Zahlenraten" muss ich wohl kaum erklären. "Planet" errechnet mein > Gewicht auf allen neun Planeten unseres Sonnensystems. Das war schon > damals so weird wie es heute noch klingt. Aber niemand schrieb sowas. > Lehrer war begeistert (Physik!). Also legte ich los. > ... > Damit begann eine "Karriere", die bis zu Siemens-Nixdorf und sogar IBM > reichte. Programmieren konnte ich in vielen BASIC-Dialekten, Pascal, > Modula-2, C und ein bisschen C++, COBOL und dBase/Clipper bis in zu > Assemblerroutinen in 6502, Z80 und 8086 - neben vielen längst > vergessenen Nischensprachen, die ich einfach mal ausprobierte. > > Unter anderem COMAL und Paradox-Script. > > An Rechnern besaß ich sehr viele: Trommeschläger VideoGenie (ein > TRS-80-Clone), dann folgten Oric-1, Atari 800 XL, TI-99/4a, C64, C128. > Am Schluss ein Apple ][ mit Monitor, später ein Apple //c, bevor ich > endlich dem (Commodore) PC anheim fiel. Ich war nie faul und arbeitete > ferienmäßig stets in Firmen, bis die Lehre begann. > ... Auch auf dem PC machte ich allerhand BASIC für Firmen, bis > ich mir endlich mal Turbo-Pascal kaufte und mich neu verliebte. Aber > BASIC war immer am Start irgendwie. Auch heute habe ich auf meinen > Rechnern stets irgendwelche Compiler oder Interpreter unter Windows, > DOS, Linux und Android. Sogar einen Basic-Interpreter unter IOS habe ich > aufgetan. > > Und so sage ich D A N K E an John und Tom! ... ...HOLD MY BEER... Schöne Geschichte. Das mit den Planeten ist doch mittlerweile gar nicht mehr so abwegig, wie es erstmal klingt. Der A.Gerst hat als weitgereister Kosmosfahrer neulich mal in einem Interview erzählt, daß er den Mond als so eine Art 8ten Kontinent begreifen würde. Da will man dann schon auch so ein Programm haben. Eine PDP 11/35 hätte aber 1980 auch schon ganz andere Programme haben können. Es gab da wohl gerade ganz neu was, was mit dem einfachen Namen "C" belegt war. Trotzdem ist BASIC natürlich irgendwie schon ein interessanter Glücksgriff - hier in der Geschichte ebenso wie in der Informatikgeschichte, auch weil es eben so massenhaft auf den Microcomputern vorhanden war und so wahrscheinlich nicht ganz zufällig aber vielleicht ungewollt ein unglaublicher Booster (!) für die weitere Informatikweiterentwicklung geworden ist. Auch wenn es natürlich seine Ecken und Kanten und Undefiniertheiten hat(te). Es wird wohl auch noch eine Weile die für Uneingeweihte am einfachsten entschlüsselbare / lesbare Sprache bleiben, wenn man mal von den POKE Wüsten in einem C64 Basic absieht. Vielleicht wäre es ja auch an der Zeit, das mal zu standardisieren, um es zu einem neuen Revival zu bringen. Das "Beginners All Purpose ..." wird ihm - im positiven Sinne - auf alle Fälle wohl noch lange erhalten bleiben und in den bißchen aufwendigeren Varianten kann es dann ja auch alles das, was Leuten wie Dijkstra und Wirth zu ihrer Zeit so überhaupt nicht daran gefallen hat. Auf alle Fälle eine große "Erfindung", die bestimmt so nicht geplant war. VG, SBn
[toc] | [prev] | [next] | [standalone]
| From | "Peter J. Holzer" <hjp-usenet4@hjp.at> |
|---|---|
| Date | 2024-05-08 21:38 +0200 |
| Message-ID | <slrnv3nl6h.1fdo8.hjp-usenet4@trintignant.hjp.at> |
| In reply to | #44594 |
On 2024-05-08 14:04, Stefan Ram <ram@zedat.fu-berlin.de> wrote:
> Typisch für BASIC sind für mich die bei anderen Sprachen so nicht
> zu findenden Anweisungen "DATA" und "READ". Wie in
[...]
> . Außerdem typisch die MAT-Anweisungen wie in
>
> MAT Z = X * Y
Das ist typisch für BASIC?
Ich glaube nicht, dass einer der BASIC-Dialekte, die ich in den
80er-Jahren verwendet habe, dieses Kommando kannte.
hp
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2024-05-09 12:32 +0200 |
| Message-ID | <la3n18Fek12U4@mid.individual.net> |
| In reply to | #44609 |
Peter J. Holzer, 2024-05-08 21:38:
> On 2024-05-08 14:04, Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>> Typisch für BASIC sind für mich die bei anderen Sprachen so nicht
>> zu findenden Anweisungen "DATA" und "READ". Wie in
> [...]
>> . Außerdem typisch die MAT-Anweisungen wie in
>>
>> MAT Z = X * Y
>
> Das ist typisch für BASIC?
Nein, zumindest nicht im "Original" Dartmouth BASIC.
Siehe auch: <https://www.dartmouth.edu/basicfifty/commands.html>
Hier ist es aber beschrieben, Seite 150 des PDF:
<http://www.bitsavers.org/pdf/phaseOneSystems/oasis/BASIC_Language_Reference_Manual_Mar80.pdf>
Zitat:
1 MAT <array name> = <array name>
2 MAT <array name> = (<expression>)
See also: LET statement
Purpose:
The MAT statement allows you to either copy one array to another or to
assign one value to all of the elements of an array.
Comment:
Format 1 of the MAT statement copies one array to another. Both arrays
must have the same dimensions or a "Subscript Range" error will occur.
Forrmat 2 of the MAT statement sets all elements of the array to a
specific value.
Example: Explanation:
0010 DIM A$(5),B$(5),C(20) Define size of arrays A$, B$, and C
0020 FOR I%=0 TO 5 Set array B$ to initial values
0030 B$(I%) = STR(I%)
0040 NEXT
0050 MAT A$ = B$ Copies B$ into A$ (B$ unchanged)
0060 MAT B$ = ("") Sets all 6 elements in B$ to be empty.
0070 MAT C = (1) Sets all 21 elements of C to be 1.
(Zitat Ende)
> Ich glaube nicht, dass einer der BASIC-Dialekte, die ich in den
> 80er-Jahren verwendet habe, dieses Kommando kannte.
Ich kann mich auch nicht erinnern. Vermutlich wurde das bei vielen
Dialekten einfach weggelassen.
--
Arno Welzel
https://arnowelzel.de
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Barthel <naitsabes@freenet.de> |
|---|---|
| Date | 2024-05-09 13:57 +0000 |
| Message-ID | <v1ikok$2cf0$2@solani.org> |
| In reply to | #44609 |
Am Wed, 08 May 2024 21:38:57 +0200 schrieb Peter J. Holzer: > On 2024-05-08 14:04, Stefan Ram <ram@zedat.fu-berlin.de> wrote: >> Typisch für BASIC sind für mich die bei anderen Sprachen so nicht zu >> findenden Anweisungen "DATA" und "READ". Wie in > [...] >> . Außerdem typisch die MAT-Anweisungen wie in >> >> MAT Z = X * Y > > Das ist typisch für BASIC? > > Ich glaube nicht, dass einer der BASIC-Dialekte, die ich in den > 80er-Jahren verwendet habe, dieses Kommando kannte. Würd ich auch sagen, daß das eher untypisch war. Das BBC Basic konnte aber mit Matrizen umgehen und die "großen" Basic's ala HP und später GfA konnten es ziemlich sicher auch. Ich glaub, ich hab sowas auch noch nie in einem Zeitschriftenlisting gesehen. War da wohl eher unüblich wenn nicht sogar unbekannt.
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2024-05-09 17:45 +0200 |
| Message-ID | <la49daFgv97U2@mid.individual.net> |
| In reply to | #44628 |
Sebastian Barthel, 2024-05-09 15:57: > Am Wed, 08 May 2024 21:38:57 +0200 schrieb Peter J. Holzer: > >> On 2024-05-08 14:04, Stefan Ram <ram@zedat.fu-berlin.de> wrote: >>> Typisch für BASIC sind für mich die bei anderen Sprachen so nicht zu >>> findenden Anweisungen "DATA" und "READ". Wie in >> [...] >>> . Außerdem typisch die MAT-Anweisungen wie in >>> >>> MAT Z = X * Y >> >> Das ist typisch für BASIC? >> >> Ich glaube nicht, dass einer der BASIC-Dialekte, die ich in den >> 80er-Jahren verwendet habe, dieses Kommando kannte. > > Würd ich auch sagen, daß das eher untypisch war. Das BBC Basic konnte > aber mit Matrizen umgehen und die "großen" Basic's ala HP und später GfA > konnten es ziemlich sicher auch. Ja, GfA konnte es ebenso, aber damit habe ich nie ernsthaft was gemacht, auf meinem Atari ST habe ich von Anfang an in C programmiert: <https://info-coach.fr/atari/documents/general/gfabasic.pdf> -- Arno Welzel https://arnowelzel.de
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Barthel <naitsabes@freenet.de> |
|---|---|
| Date | 2024-05-09 18:06 +0000 |
| Message-ID | <v1j3bh$2cf0$4@solani.org> |
| In reply to | #44636 |
Am Thu, 09 May 2024 17:45:47 +0200 schrieb Arno Welzel: > Sebastian Barthel, 2024-05-09 15:57: > >> Am Wed, 08 May 2024 21:38:57 +0200 schrieb Peter J. Holzer: >> >>> On 2024-05-08 14:04, Stefan Ram <ram@zedat.fu-berlin.de> wrote: >>>> Typisch für BASIC sind für mich die bei anderen Sprachen so nicht >>>> zu findenden Anweisungen "DATA" und "READ". Wie in >>> [...] >>>> . Außerdem typisch die MAT-Anweisungen wie in >>>> >>>> MAT Z = X * Y >>> >>> Das ist typisch für BASIC? >>> >>> Ich glaube nicht, dass einer der BASIC-Dialekte, die ich in den >>> 80er-Jahren verwendet habe, dieses Kommando kannte. >> >> Würd ich auch sagen, daß das eher untypisch war. Das BBC Basic konnte >> aber mit Matrizen umgehen und die "großen" Basic's ala HP und später >> GfA konnten es ziemlich sicher auch. > > Ja, GfA konnte es ebenso, aber damit habe ich nie ernsthaft was gemacht, > auf meinem Atari ST habe ich von Anfang an in C programmiert: > > <https://info-coach.fr/atari/documents/general/gfabasic.pdf> Schöne Übersicht. Danke für den Link.
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2024-05-09 17:46 +0200 |
| Message-ID | <la49eiFgv97U3@mid.individual.net> |
| In reply to | #44628 |
Stefan Ram, 2024-05-09 16:39: > Sebastian Barthel <naitsabes@freenet.de> schrieb oder zitierte: >> Am Wed, 08 May 2024 21:38:57 +0200 schrieb Peter J. Holzer: >>> Ich glaube nicht, dass einer der BASIC-Dialekte, die ich in den >>> 80er-Jahren verwendet habe, dieses Kommando kannte. >> Würd ich auch sagen, daß das eher untypisch war. > > |The original Dartmouth Basic was unusual in having a matrix > |keyword, MAT. > Wikipedia BASIC wurde in Dartmouth erfunden. Die erste Version hatte noch keine Matrix-Operationen, das kam erst später dazu. -- Arno Welzel https://arnowelzel.de
[toc] | [prev] | [next] | [standalone]
| From | Wolf gang P u f f e <remail@gmx.com> |
|---|---|
| Date | 2024-05-09 11:14 +0200 |
| Message-ID | <v1i460$iorb$1@dont-email.me> |
| In reply to | #44594 |
Am 08.05.2024 um 16:04 schrieb Stefan Ram: > ram@zedat.fu-berlin.de (Stefan Ram) schrieb oder zitierte: >> Die Eigenschaften der Programmiersprache BASIC waren für mich bei > > Typisch für BASIC sind für mich die bei anderen Sprachen so nicht > zu findenden Anweisungen "DATA" und "READ". Wie in > > DATA 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 ... > . Diese Data-Anweisung kam in meinen Volkshochschulkursen zu BASIC > vor, als es um die Berechnung von Wochentagen aus einem Datum ging. Mitte der 80er habe ich auch an der VHS einige Computer-Kurse belegt. Das mit den Kalendertagen in BASIC Berechnen hatten wir auch. Da wurde ua. eine Formeln aus dem Buch "Ewige Kalender" von Butkewitsch und Selikson in BASIC verwendet. https://www.lehmanns.de/shop/naturwissenschaften/18902535-9783322003935-ewige-kalender 1983 kostete das Buch nur 5,90M (DDR!) Ich hätte mein Geld in Bücher anlegen sollen, bei der Preisentwicklung. ;-)
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Barthel <naitsabes@freenet.de> |
|---|---|
| Date | 2024-05-09 13:55 +0000 |
| Message-ID | <v1ikjn$2cf0$1@solani.org> |
| In reply to | #44615 |
Am Thu, 09 May 2024 11:14:36 +0200 schrieb Wolf gang P u f f e: > Am 08.05.2024 um 16:04 schrieb Stefan Ram: >> ram@zedat.fu-berlin.de (Stefan Ram) schrieb oder zitierte: >>> Die Eigenschaften der Programmiersprache BASIC waren für mich bei >> >> Typisch für BASIC sind für mich die bei anderen Sprachen so nicht zu >> findenden Anweisungen "DATA" und "READ". Wie in >> >> DATA 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 > ... >> . Diese Data-Anweisung kam in meinen Volkshochschulkursen zu BASIC >> vor, als es um die Berechnung von Wochentagen aus einem Datum ging. > > Mitte der 80er habe ich auch an der VHS einige Computer-Kurse belegt. > Das mit den Kalendertagen in BASIC Berechnen hatten wir auch. > Da wurde ua. eine Formeln aus dem Buch "Ewige Kalender" von Butkewitsch > und Selikson in BASIC verwendet. > https://www.lehmanns.de/shop/naturwissenschaften/18902535-9783322003935- ewige-kalender > 1983 kostete das Buch nur 5,90M (DDR!) > Ich hätte mein Geld in Bücher anlegen sollen, bei der Preisentwicklung. Viel besser wären einige der alten Rechner gewesen, auf denen BASIC lief. Ich sag mal Apple 1, C65, Güldene 64er Version, Falcon, A1200 usf. Wobei bei den letzteren die BASIC Story schon ein wenig am Vergehen war - oder je nach Gesichtspunkt ihren totalen Höhepunkt erreicht hat. (Stichwort GfA) Das mit den DATA Zeilen geht prinzipiell aber auch woanders so ähnlich. In C lassen sich Variablen, auch Arrays, direkt vorbelegen. Das ist so von der Benutzung her ziemlich nahe an den BASIC DATA-READ Statements, wie so meistens benutzt worden sind. Was damit nur bedingt geht, ist das umbelegen mit RESTORE.
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Barthel <naitsabes@freenet.de> |
|---|---|
| Date | 2024-05-09 18:03 +0000 |
| Message-ID | <v1j35p$2cf0$3@solani.org> |
| In reply to | #44627 |
Am Thu, 09 May 2024 14:37:19 +0000 schrieb Stefan Ram: > Sebastian Barthel <naitsabes@freenet.de> schrieb oder zitierte: >>Das mit den DATA Zeilen geht prinzipiell aber auch woanders so ähnlich. >>In C lassen sich Variablen, auch Arrays, direkt vorbelegen. Das ist so >>von der Benutzung her ziemlich nahe an den BASIC DATA-READ Statements, >>wie so meistens benutzt worden sind. Was damit nur bedingt geht, ist das >>umbelegen mit RESTORE. > > Allerdings kann man in BASIC verschiedene Datentypen in einer > "DATA"-Anweisung mischen. Selbst in Python kann man nicht alle > Eigenschaften von DATA, READ und RESTORE genau nachbilden, aber hier > ein Versuch, wenigstens einige Eigenschaften nachzubilden: > > main.py > > class OUT_OF_DATA( StopIteration ): > pass > > def INIT(): > global _data_list global _data_pos try: > _data_list > except NameError: > _data_list = [] > try: > _data_pos > except NameError: > _data_pos = iter( _data_list ) > > def RESTORE(): > global _data_pos INIT() > _data_pos = iter( _data_list ) > > def DATA( *args ): > global _data_list INIT() > _data_list += args RESTORE() > > def READ(): > INIT() > try: > return next( _data_pos ) > except StopIteration: > pass > raise OUT_OF_DATA > > DATA( 10, "OK" ) > DATA( 2.5 ) > > print( READ() ) > print( READ() ) > RESTORE() > print( READ() ) > print( READ() ) > print( READ() ) > print( READ() ) > > Ausgabe (Fehlermeldung gekürzt) > > 10 OK 10 OK 2.5 OUT_OF_DATA OK. Das wird potentiell sogar funktionieren, aber es wird wohl niemand so machen. Viele wahrscheinlicher ist doch, daß man dann einfach Files anlegt und halt von da aus "einliest". Das mit den gemischten Datentype in einer DATA Zeile ist aber ein guter Punkt und sicherlich auch öfters benutzt worden. Allerdings ist das dann genau sowas, wo ein BASIC eben ein BASIC ist und bei Undefiniertheiten dann auch mal schnell komische Fehler entstehen, etwa wenn jemand dann in den DATA Zeilen irgendwo mal ein Komma vergißt. Was mir immer nicht so gefallen hat, war das "undefinierte" Ende. Soll heißen, es fehlten irgendwie sowas wie ein DATASTOP als Anweisung, die man mit in die DATA Zeilen schreibt. So muß man immer irgendwie mitzählen oder selbst einen "Endemarker" definieren, der dann auch wieder mal Probleme nach sich zieht. (z.B. -1, -1 oder 9999, 9999)
[toc] | [prev] | [next] | [standalone]
| From | Thomas Koenig <tkoenig@netcologne.de> |
|---|---|
| Date | 2024-05-09 14:05 +0000 |
| Message-ID | <v1il7n$mkfs$1@dont-email.me> |
| In reply to | #44594 |
Stefan Ram <ram@zedat.fu-berlin.de> schrieb: > ram@zedat.fu-berlin.de (Stefan Ram) schrieb oder zitierte: >>Die Eigenschaften der Programmiersprache BASIC waren für mich bei > > Typisch für BASIC sind für mich die bei anderen Sprachen so nicht > zu findenden Anweisungen "DATA" und "READ". Wie in > > DATA 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 Vor allem, um Maschinenprogramme in Computerzeitschriften abzudrucken... Ich erinnere mich noch an eine Atari-ST - Zeitschrift (04/88 oder so), die versprach, mit einer Assembler-Routine die Taktfrequenz von 8 MHz auf 10 MHz hochzuschrauben. Die armen Leute, die das machten, bekamen erst einen Prüfsummenfehler, der sich auch beim sorgfältigsten Kontrollieren nicht auflösen ließ. Und wer die Prüfsumme dann ignorierte und das Programm laufen lies, der orxnz qnaa tnam tebff NCEVY, NCEVY nhs qra Ovyqfpuvez.
[toc] | [prev] | [next] | [standalone]
| From | Hermann Riemann <nospam.ng@hermann-riemann.de> |
|---|---|
| Date | 2024-05-08 16:31 +0200 |
| Message-ID | <la1glhF4o27U1@mid.individual.net> |
| In reply to | #44531 |
Am 06.05.24 um 15:14 schrieb F. W.: > Mein erster BASIC-Computer war eine ausgewachsene DEC pdp-11/35 mit acht > Plätzen. Ich hatte zwar noch keinen Informatikunterricht (die Kurse > kamen damals tatsächlich mangels Interesse nie zustande), Informatikunterricht hatte ich nie. Da hinderte mich nicht daran Programmierer zu werden und eigene mini ( 8 Bit CPU) Betriebssysteme zu entwickeln. > aber ich > wollte eben unbedingt die Knöpfchen drücken und diese merkwürdigen > Zeichenhaufen verstehen, die da geheimnisvoll durch den ansonsten > dunklen Computerraum leuchteten. Der computerraum war nicht dunkel. Selber, wie eine Mischung aus Kapitän und Steuermann, an einem computer sitzen, habe ich an einer Siemens 2002 erlebt. Ich habe da mein Algol60 Programm, was "den Grenzen des Wachstums" entsprach, mal weiter rechnen lassen. Es gab da Schwingungen bei der Bevölkerung. > MU-BASIC/11 - RT/11. Wir schreiben Dezember 1980. > > Ich durfte, dank eines sehr liebenswürdigen Lehrers, dann aber doch > arbeiten, das heißt, ich bekam ein Benutzerkonto (auch wenn man das > damals noch nicht so nannte). Zum Beweis meiner Würdigkeit der > geheimnisvollen Maschine sollte ich zwei Programme abliefern. Man wollte > wissen, ob ich nicht die Maschine kaputt mache. Irgendwann hatte ich keine freie Rechenerlaubnis mehr. Das hat mich zu eigenen computer motiviert. > So eingeschüchtert dachte ich nach und da ich oft und gern in der > Schulbibliothek arbeitete, lieh ich mir kurzerhand ein Buch aus "BASIC > for Beginners", 1978 geschrieben, also brandneu. Basic war ein Mini FORTRAN für 8 und 16 Bit computer. Wie z.B. Atari ST > Die Programme wurden damals auf Papier geschrieben. Ich nahm einen > Bleistift (eine der besten Ideen meines Lebens: Programme mit Bleistift > schreiben! Life-Hack!) und schrieb zwei Programme "Planet" und das heute > in Einsteigerkursen unvermeidliche "Zahlenraten". Während meiner Ausbildung ab es Lochkarten, Im Beruf Bildschirme. > Der Lehrer kam dann eines Tages auf mich zu. Auf einem Zettel standen > die beiden begehrtesten Wörter meines damaligen Lebens: eine > Benutzerkennung und ein Passwort. Bei mainframe war das etwas anders. > Die Programme liefen übrigens NICHT auf Anhieb. Das war wohl kein Lochstreifen. Da musste ( sollte) man fehlerfreie Programme schreiben. Also bei jedem Fehler das ganze Programm neu eintippen. Da lernt man konzentriert fehlerfrei programmieren. > Damit begann eine "Karriere", die bis zu Siemens-Nixdorf und sogar IBM > reichte. Programmieren konnte ich in vielen BASIC-Dialekten, Pascal, > Modula-2, C und ein bisschen C++, COBOL und dBase/Clipper bis in zu > Assemblerroutinen in 6502, Z80 und 8086 - neben vielen längst > vergessenen Nischensprachen, die ich einfach mal ausprobierte. Programmieren konnte ich in vielen Sprachen. Beruflich wurde, abgesehen von einem Assembler nur eine Sprache verwendet. Später zusätzlich kam auch C dazu. Gering Pascal, und am Ende musste ich mich auch mit COBOL beschäftigen. Mehr als 2 kleine COBOL Programme habe ich vermutlich nicht geschrieben. > Unter anderem COMAL und Paradox-Script. > > An Rechnern besaß ich sehr viele: Trommeschläger VideoGenie (ein > TRS-80-Clone), dann folgten Oric-1, Atari 800 XL, TI-99/4a, C64, C128. > Am Schluss ein Apple ][ mit Monitor, später ein Apple //c, bevor ich > endlich dem (Commodore) PC anheim fiel. Ich war nie faul und arbeitete > ferienmäßig stets in Firmen, bis die Lehre begann. 8 bit habe ich nahezu nur hex programmiert. > Die anderen hatten dann eben Mofas und Stereoanlagen. Aber ich war diese > urige Type, die sich solche "Komputer" kaufte. <http://www.hermann-riemann.de/a/mein_Esstisch.jpg> > Bei Frauen kam das übrigens nicht gut an. Deren software war mir überwiegend zu inkompatibel. Nachbarschaft geht gut, gewisse Beziehung nicht. > Ja, das meiste waren BASIC-Computer (das von Atari fand ich am > grottigsten). Auch auf dem PC machte ich allerhand BASIC für Firmen, bis > ich mir endlich mal Turbo-Pascal kaufte und mich neu verliebte. Aber > BASIC war immer am Start irgendwie. Auch heute habe ich auf meinen > Rechnern stets irgendwelche Compiler oder Interpreter unter Windows, > DOS, Linux und Android. Sogar einen Basic-Interpreter unter IOS habe ich > aufgetan. Dann hast Du kein Arduino.. Unter DOS und Android habe ich nie programmiert. Basic ist IMHO wegen Python überholt. Die damalige Systemnähe von Basic wird heute von Python bis auf peek und poke ( Da wird noch C benötigt ) erledigt. -- <http://www.hermann-riemann.de>
[toc] | [prev] | [standalone]
Back to top | Article view | de.alt.folklore.computer
csiph-web