Overleg:BASIC

Laatste reactie: 10 jaar geleden door Bever in het onderwerp Oorsprong

Sinds wanneer maakt BASIC gebruik van byte-code? En ik bedoel deze vraag letterlijk :-) Vroeger (VIC-20 enzo) werd de taal puur geïnterpreteerd en was er VZIW geen sprake van bytecode. Ik neem aan dat alle moderne basicen wel een of andere vorm van tussentaal toepassen ja. Wie weet meer over de geschiedenis te vertellen? Rene Pijlman 5 mei 2003 13:46 (CEST)Reageren

Op de Tandy TRS-80, en ik dacht ook op de IBM PC, werden BASIC programma's opgeslagen in een binaire code waar elke BASIC instructie slechts 1 byte in beslag nam. Toen bestond de term nog niet, maar nu zouden we dat wel degelijk byte-code noemen! Bij het intypen van een nieuwe regel waarin een fout in een instructie stond, werd onmiddellijk een syntax-error gegeven, niet pas bij uitvoeren. Tegenwoordig is alles anders.... Rob Hooft 5 mei 2003 15:03 (CEST)Reageren
Hmmm ja daar zit wat in. Mijn Microprofessor I had ook bytecode. Maar geen renumber-functie en die heb ik nog zelf in Z80-machinecode geprogrammeerd :-) Rene Pijlman 5 mei 2003 15:32 (CEST)Reageren
Ook op de Commodore 64 en VIC-20 werd alles wat als BASIC-keyword werd herkend na het invoeren van een regel naar bytecode vertaald. Alles wat niet werd herkend (zoals REMarks, variabelen, literals etc.), werd als ASCII-tekst opgeslagen. Ze noemden het toen nog geen bytecode, maar 'tokens'. Als ik het me goed herinner werd er tussen tokens en ASCII-tekst onderscheid gemaakt door bit 7 aan of uit te zetten. Die goeie ouwe tijd toen er nog efficiënt met geheugen werd omgesprongen... :-) MrMidi



Het zou aardig zijn iets te vertellen over typische BASIC-folklore, als regelnummers, GOSUB zonder parameters, en de GOTO-instructie (link naar Edsger Dijkstra). Rene Pijlman 5 mei 2003 13:46 (CEST)Reageren


Die byte-code bewerken

Ik heb er net wat bijgetikt over de vroege geschiedenis van BASIC. Daarbij heb ik een compromis-zinnetje gemaakt van het stuk over die byte-code (want bijvoorbeeld GWBasic produceerde GEEN byte-code en ook BASIC timesharing systemen waren byte-codeloos). Kan iedereen hiermee leven? Ben Tels 3 januari 2004 20:19 CET


Zelfs GWBASIC maakt gebruik van bytecode; bestanden die vanuit GWBASIC worden opgeslagen worden standaard ook met deze bytecode codering opgeslagen, waardoor ze niet uit te lezen zijn in bijvoorbeeld QBASIC(!!) In de broncode van Microsoft word overigens ook naar bytecode van zowel BASICA(GWBASIC) als van de VIC verwezen; beiden moeten dus mijns inziens wel degelijk met bytecode werken...


Origineel en hedendaags Basic bewerken

Ik heb een programma in Origineel en hedendaags Basic toegevoegd. Hopelijk maakt dat iets duidelijk. Omdat hedendaags Basic meer op Algol-60 dan op origineel Basic lijkt heb ik het stukje over de bezwaren ook maar naar de geschiedenis verplaatst. --Casimir 25 jul 2006 15:43 (CEST)Reageren

Business Basic bewerken

Misschien is het een idee iets over alle Business Basic varianten als MAI Basic Four Business Basic/MAI Open Basic (Mai was ooit een bedrijf, bijna als IBM dat MAI mini computers en Business Basic leverde), Data General Business Basic, Wang Business Basic en de nieuwere varianten als Providex, BBx en Thouroughbred Basic toe te voegen? In de Engelse wiki is een dergelijk artikel reeds aanwezig Quovadis 2 aug 2006 20:33 (CEST)Reageren

BASIC-dialecten bewerken

Ik heb eerst geprobeerd om bij alle BASIC-dialecten de categorie Programmeertalen weg te halen, omdat het er bij de meeste niet bij stond en ik dus dacht dat dialecten geen zelfstandige programmeertalen zijn. Vervolgens keek ik naar de Lijst van programmeertalen en daar stonden de meeste weer wel bij. Kan iemand besluiten of dialecten zelfstandig moeten zijn, of is hierover al een discussie gevoerd? Mvangeest 10 jun 2007 18:11 (CEST)Reageren

Programmavoorbeeld zal ten minste in sommige dialecten foutmelding geven (?) bewerken

In ten minste sommige dialecten is het verboden in- of uit een lus te springen:

10 BEGIN
20 REM Deze constructie mag niet
100 FOR A=1 TO 10
110 IF A>5 GOTO 20
120 NEXT A
900 END

Ik kan mij herinneren dat sommige dialecten deze fout herkennen en vrij snel een fout geven en dat andere een tijdje doorlopen om vervolgens een overflow-error af te geven. Het voorbeeld programma zou als volgt aangepast kunnen worden:

100 REM PRIEMGETALLEN
110 INPUT "START=",A1
120 INPUT "END=",A2
130 FOR I= A1 TO A2
140  GOSUB 170
150 NEXT I
160 END
170 REM TEST PRIEM
175 P=0
180 FOR J=2 TO SQR(I)
190  IF I/J<>INT(I/J)THEN 200
195  P=1
196  J=I
200 NEXT J
205 IF P=0 THEN 220
210 PRINT I;
220 RETURN


Ik weet niet zeker of 196 in alle dialecten geldig is, voor zover ik ze ken mag het. Hiermee zorg je dat de lus beindigd wordt. Ik besef dat het voorbeeldprogramma nu een stuk lastiger te begrijpen is. Als in alle dialecten na THEN een willekeurig statement mag staan, kan het volgende voorbeeld dienen:

100 REM PRIEMGETALLEN
110 INPUT "START=",A1
120 INPUT "END=",A2
130 FOR I= A1 TO A2
140  GOSUB 170
150 NEXT I
160 END
170 REM TEST PRIEM
175 P=0
180 FOR J=2 TO SQR(I)
190  IF I/J=INT(I/J)THEN P=1
200 NEXT J
210 IF P=0 THEN PRINT I;
220 RETURN

-- Reinier Suurenbroek

feit: gestructureerd programmeren bewerken

Of iets geschikt is voor onderwijs, lijkt mij af te hangen van het percentage mensen wat iets geleerd heeft. Om te stellen dat BASIC geschikt voor onderwijs in gestructureerd programmeren, lijkt mij een onafhankelijke bron gewenst die vermeldt dat sommige studenten inderdaad gestructureerd programmeren geleerd hebben door het volgen van die cursus. Erik Warmelink 16 mei 2008 22:16 (CEST)Reageren

Oorsprong bewerken

Het historisch overzicht begint nu met: "Alle moderne implementaties van BASIC zijn gebaseerd op de BASIC-implementatie van Mather en Waite uit 1971." Volgens Worldcat verscheen in dat jaar een door hen geredigeerd boek met de vrij basale titel Basic. Maar dit was al de 6e editie van dit boek en uit een bronvermelding in een oud tijdschriftartikel maak ik op dat dit een gewijzigde uitgave was van een oorspronkelijk door Kemeny en Kurtz geschreven boek. Ik heb nu de indruk dat het genoemde boek de eerste beschrijving in boekvorm van de taal was. Dat is volgens mij iets anders dan een implementatie (daaronder versta ik toch eerder een interpreter of compiler). Bever (overleg) 29 sep 2013 00:46 (CEST)Reageren

Terugkeren naar de pagina "BASIC".