Diskussion:BASIC

message: Mit Einführung von objektorientierten Sprachelementen wurde ein weiterer Versuch unternommen, Visual Basic mit anderen objektorientierten Programmiersprachen wie C++ und Java gleichziehen zu lassen.
Ich glaube schon, das man das so stehenlassen kann, da auch vb.net zum Anfang bei den objektorientierten Sprachelementen schwächer als C++, Java und C# war... --2.205.252.151 20:43, 31. Dez. 2011 (CET)
thread_title:  Objektorientierte Sprachelemente 

message: Fehler? In der Einleitung steht 1964, unter Geschichte steht 1963 in nahezu dem selben Satz.. -- 93.128.216.59 15:06, 8. Mai 2009 (CEST)
replies: text: Ich habe folgendes gefunden:
* http://xbasic.sourceforge.net/
* http://lbpp.sourceforge.net/
* http://www.sunbeem.net/quickforward/
-- Paul Ebermann 01:10, 10. Sep 2002 (UTC)
thread_title:  Jahreszahl 

message: Es gibt im Artikel zwei unterschiedliche Jahresangaben zur Entwicklung der Sprache, 1964 in der Einleitung und später 1963. Es wäre schön wenn das mal jemand überprüfen könnte und ggfls korrigieren, oder wenn dies sich so zeigt 1963-1964 einsetzen könnte. 62.180.131.131 21:29, 13. Okt. 2009 (CEST)
thread_title:  Entwicklung der Sprache 

message: Im Listing steht da auf Zeile 80:
80 IF LEN(Q$) = 0 GOTO 70
Ich würde mal sagen, abgesehen von einigen Dialekten wird das vermutlich einen Syntaxfehler liefern.
Es sollte wohl eher
80 IF LEN(Q$) = 0 THEN GOTO 70, also mit "THEN" heissen.
--Wurzlsepp 01:08, 9. Feb. 2010 (CET)
replies: text: Nein! Man kann ENTWEDER das "then" ODER das "goto" weglassen!--TheRealScot 23:48, 31. Aug. 2010 (CEST)
replies: text: Das gilt nur bei den Microsoft-BASIC-Varianten und deren Derivate. Beim Sinclair ZX Spectrum lässt sich der verkürzte Code nicht einmal eingeben. Formal korrekt auf allen Systemen ist die Version mit THEN GOTO. --Rôtkæppchen₆₈ 15:09, 24. Mai 2014 (CEST)
thread_title:  Syntaxfehler? 

message: * Man kann das Handbuch des ersten BASICs von 1964 als PDF-Datei auf der Website Bitsavers.org herunterladen.
* Viele Spiele, die ursprünglich für Grossrechner dieser Zeit geschrieben wurden, wurden für Mikrocomputer in BASIC angepasst. Man kann viele der Listings finden in den Büchern von David H. Ahl: Basic Games, More Basic Games, Big Computer Games.
Die Programme können auch als ZIP-Datei auf der Website http://www.classicbasicgames.org/ heruntergeladen werden.
Microsoft BASIC hatte sich zum de-facto-Standard für das BASIC auf Mikrocomputern entwickelt, aber es gab viele Varianten, die im Dictionary of Basic (Hrsg. PSI, 1984) angesprochen werden (französisch).
In den 1980er Jahren erschienen dann weitere BASICs, wie z.B. das  GFA-Basic auf dem Atari ST. Die Spezialität hierbei war, dass nun Zeilennummern eleminiert wurden und die Programmlistings strukturierter wurden. (signierter Beitrag von Kollo (Diskussion | Beiträge) 10:27, 10. Mär. 2010 (CET)
thread_title:  Erganzende Links und Literatur 

message: Auf Unix-Systemen hatte Basic nie die Popularität, die es auf Kleinst-Computern hatte. Bei UNIX systemen, so auch bei Linux, gab es bereits genug andere Interpreter (sogenannte shells), mit denen man schnell kleinerere Programmieraufgaben erledigen konnte. Allerdings ist die Syntax der meisten Shell-Interpretersprachen viel komplizierter und fuer den Laien ungewohnt. So haben die meisten Linux-Distributionen standardmäßig keinen BASIC-Interpreter vorinstalliert. Dies bedeutet jedoch nicht, daß es keine Interpreter für Linux gibt.
BASIC-Interpreter für Linux im Jahr 2009	BASIC-Interpreter für Linux im Jahr 2009                                           	BASIC-Interpreter für Linux im Jahr 2009	BASIC-Interpreter für Linux im Jahr 2009
Name                                    	Webseite                                                                           	Grafik                                  	Typ
X11-Basic                               	http://x11-basic.sourceforge.net/                                                  	Ja                                      	GFA Basic
Wx-Basic                                	http://wxbasic.sourceforge.net/                                                    	Ja (Open GL)                            	QBasic
XBasic                                  	http://xbasic.sourceforge.nethttp://www.maxreason.com/software/xbasic/xbasic.html  	Ja                                      	QuickBasic
HBasic                                  	http://hbasic.sourceforge.net                                                      	Ja (KDE)                                	Visual Basic
Gambas                                  	http://gambas.sourceforge.net                                                      	Ja (GTK)                                	Visual Basic
Chimpunk Basic                          	http://www.nicholson.com/rhn/basic/                                                	Ja (eingeschränkt)                      	Standard
Blassic                                 	http://blassic.org/                                                                	Ja                                      	Standard
Basic-256                               	http://kidbasic.sourceforge.net/                                                   	Ja                                      	Standard
Vintage Basic                           	http://www.vintage-basic.net/                                                      	Nein                                    	Standard (geschrieben in Haskell)
Decimal Basic                           	http://www.geocities.jp/thinking_math_education/English.htm                        	Ja                                      	standard (ECMA-116)
Bywater Basic                           	http://sourceforge.net/projects/bwbasic/http://www.bwbasic.at/                     	Nein                                    	Standard
Small Basic                             	http://smallbasic.sourceforge.net/                                                 	Nein                                    	Non standard
Brandy                                  	http://jaguar.orpheusweb.co.uk/branpage.htmlhttp://www.bbcbasic.co.uk/bbcbasic.html	Nein                                    	Acorn BBC basic
Bas                                     	http://www.moria.de/~michael/bas/                                                  	Nein                                    	Acorn BBC basic
(Quelle der Information in der Tabelle: http://pagesperso-orange.fr/edmond.orignac/basic.html )
Ein Artikel in der Linux Focus vom Januar 2003 stellt BASIC interpreter unter Linux vor, welche damals verfügbar waren, bzw. sich noch in der Entwicklung befanden: XBasic, SmallBASIC, wxBasic, Yabasic, X11-Basic, HBasic, GNOME Basic, KBasic und der Basic-Compiler GNU/Liberty Basic. Nicht alle dieser BASIC Dialekte wurden zuende entwickelt und manche kamen über das ambitionierte Stadium der Ideenfindung und der beta-Versionen nicht hinaus.
* Die Entwicklung von Gnome Basic wurde 2002 eingestellt.
* Die Weiterentwicklung von YaBasic wurde 2007 eingestellt.
* KBasic gibt es ausschliesslich unter linux und erlaubt nur die Entwicklung von open source programmen.
* Die Entwicklung des GNU/Liberty Basic compilers wurde 2002 eingestellt.
* Es gibt noch einen anderen Compiler, Agora Basic, aber das letzte Lebenszeichen stammt von 2006.
Die Entwicklercommunity blieb aussderdem klein, da es zu viele halbfertige Projekte mit unterschiedlichem Sprach-Standard gab. Im Jahre 2010 haben folgende Projekte überlebt, bzw. erfreuen sich einer einigermassen erfolgreichen Anhaengerschaft: X11-Basic (Erfolgreich auch auf linux-basierten Handhgelds und Navigationsgeraeten), Wx-Basic, XBasic, HBasic, Gambas, Chimpunk Basic, Blassic, Basic-256, Vintage Basic, Decimal Basic, Decimal Basic, Bywater Basic, Small Basic, Brandy und bas. Also eine dennoch recht grosse Auswahl, bei der fuer jeden Geschmack bzw. Dialect etwas dabei sein dürfte. 
Die Basic Interpreter eignen sich insbesondere auch als Ersatz für eine Shell auf den UNIX Systemen, so dass sie auch die WEB Programmierung (.cgi Scripts) für Laien zugänglich machen. Manche Interpreter offerieren auch die Programmierung von grafischen Elementen, was eine zusätzliche Erleichterung darstellt, da es standardmäßig die kommandozeilen-orientierten Shells nicht ermöglichen, und auch die Grafik-Programmmierung in C mit den verschiedensten Bibliotheken unübersichtlich und schwierig ist. Schließlich spielt sich der Vorteil von Basic immernoch (auf Leistiungsschwächeren mobilen Geräten) aus, nämlich recht wenig Speicher zu beanspruchen.
(nicht signierter Beitrag von Kollo (Diskussion | Beiträge) 11:05, 10. Mär 2010 (CET)
thread_title:  Die Programmiersprache BASIC unter Linux 

message: Da es bei Basic ja keinen wirklichen Standart gibt, fände ich es gut, wenn man so ein Entwicklungsschema einfügen würde. Das heist, eine Übersicht, wie sich die Programmierung von Zeilennummerorientierten unstrukturierten Prgrammmen, zu den strukturierten Versionen von heute entwickelt hat. Am Anschaulichsten währe das ganze anhand von Beispielen (die natülich in alle das selbe tuen). --195.246.108.11 13:52, 5. Jan. 2011 (CET)
thread_title:  Entwicklung der Sprache 

message: Wo die Unterprogrammtechnik von BASIC um Funktionen und Prozeduren erweitert wurde, konnte häufig auf die zwingenden Zeilennummern und die Sprunganweisung "GOTO" verzichtet werden. Der viel kritisierte sogenannte Spaghetticode, der zu unübersichtlichen Programmen mit überraschenden Spüngen im Quellcode führte, konnte einer strukturierten und funktionsorientierten Programierung weichen. (nicht signierter Beitrag von 109.43.98.230 (Diskussion) 22:27, 5. Okt. 2011 (CEST)
replies: text: Die ursprünliche kursive Variante mit einer Erklärung: 
Spaghetticode, der zu unübersichtlichen Programmen mit überraschenden Spüngen im Quellcode bezeichnet ist schon brauchbar, da er in Kommas als pptionale Beschreibung (eingefügter Nebensatz) geklammert wurde...
Was draus wurde ist leider jetzt nicht besser...--109.43.98.230 22:27, 5. Okt. 2011 (CEST)
thread_title:  Spaghetticode 

message: Große, ernsthafte Bedeutung bekam Basic durch Time-Sharing. Die ersten kommerziellen Rechner hatten sozusagen als Betriebssystem Basic -- etwa HP-Tischrechner, gewiss. Darüberhinaus gab es Time-Sharing-Anschlüsse. Mit einer monatlichen Gebühr und einem Terminal, typisch einem am. Fernschreiber (Teletype, TTY), war man über Modem mit Rechen- und Datenbankleistung verbunden. Fortschrittliche Abteilungen in Buchhaltung oder Forschung waren angeschlossen und programmierten sich ihren Bedarf in Basic. Auswertungen, Ergebnisausdrucke, alles in Basic am TTY mit 10 Zeichen in der Sekunde. Zentral stand ein Minicomputer von Dec (PDP) oder HP (2116). In Amerika, wo tel. Ortsgespräche gratis waren, ein großer Erfolg, in Europa und insbes. in Deutschland bei Minutentakten auf Ortsgesprächen ein teueres Vergnügen. Dazu kam noch, dass die Bundespost fremde Modems verboten hatte, Akustikmodems erst recht, und dass Deutsche im Gegensatz zu Amerikanern ungern selbst programmierten und lieber auf Ruf-Buchhaltung oder Nixdorf setzten, später auf die Datev. Jedenfalls blieb hier der Basic-Kult aus. So, wie hier früher der seriöse Manager keine Tastatur selbst anfasste, programmierte und programmiert immer noch keiner "tiefer" als Powerpoint oder vielleicht noch Excel. Selbst Organizer waren autonom einfach selbst programmierbar (Psion), wo man sich heute Apps holen muss. Schade. -- Fritz@Joern.De Fritz Jörn 14:50, 15. Jan. 2012 (CET)
thread_title:  Time-Sharing Basic und Selbst-Programmieren 

message: "Ein großer Teil der Anwender nutzte deshalb nun am Computer überwiegend vorhandene Programme wie Textverarbeitungen, Tabellenkalkulationen und Datenbanken anstatt selbst die erforderliche Software mit einer Programmiersprache wie BASIC oder Visual Basic for Applications zu entwickeln."
anstatt selbst zu entwickeln ist für Anwender genauso unhaltbarer POV- Käse wie z.B. anzumerken ein Rennfahrer müsse Kfz entwickeln...--91.34.192.216 16:55, 29. Sep. 2015 (CEST)
replies: text: --RolandIllig (Diskussion) 12:28, 20. Mär. 2016 (CET)
thread_title:  unterschwellige Forderung ist Käse 

message: === Änderung vom 5. Juli 2022, 03:51 Uhr ===
Begründung des Autors: "Mittlerweile ist das falsche Wort für etwas, dass vor allem vor 35 bis 30 Jahren stattfand."
alt: "Mittlerweile gibt es eine Vielzahl verschiedener BASIC-Dialekte, von denen einige der jüngeren alle Elemente höherer Programmiersprachen aufweisen..."
neu: "Ende der 1980er und Anfang der 1990er Jahre entstand eine Vielzahl verschiedener BASIC-Dialekte, von denen einige alle Elemente höherer Programmiersprachen aufweisen..."
kontra: Den Satz würde ich ehrlich gesagt nicht ändern. Es stimmt zwar, dass in den 80er und 90er Jahren viele BASIC-Dialekte entstanden sind, allerdings entstehen auch noch im neuen Millennium (also "Mittlerweile") einige Dialekte (z. B. B4X, XOJO oder VB.NET). Gerade diese Generation beinhaltet Konzepte wie Objektorientierung, Polymorphismus, Try-Catch-Konstrukte etc., während die Dialekte aus den 80er und 90er Jahren noch auf "traditionelle" Konzepte setzte. Beispiel: VB98 nutzte noch On Error Goto statt Try-Catch in VB.NET.
Fazit: "Mittlerweile" passt schon. BASIC ist keinesfalls tot. Im Juli 2022 liegt VB.NET mit 4.97% Marktanteil auf Platz 6 im TIOBE-Index; VB <= 98 mit 1,07% immerhin noch auf Platz 13.
Vorschlag: "Der Großteil der BASIC-Dialekte entstand Ende der 1980er und Anfang der 1990er Jahre. Mittlerweile gibt es eine Vielzahl verschiedener BASIC-Dialekte, von denen einige der jüngeren alle Elemente höherer Programmiersprachen aufweisen..."
=== Änderung vom 5. Juli 2022, 04:04 Uhr ===
Begründung des Autors: "Außerdem gibt es keinen Zeilennummernspeicher, das ist wieder ein Wiki-Märchen, Zeilennummer stehen im Programm-Bytestrom. 2 Byte Zeilennummer, 1 oder 2 Byte Länge, Befehl, Doppelpunkt, Befehl, ..., 00h, nächste Zeile."
alt: "Eine solche Schreibweise hat allerdings kaum Vorteile. Die Verarbeitungsgeschwindigkeit erhöht sich nicht und einzelne Befehle innerhalb einer solchen Zeile haben keine Sprungadresse. Auch die Lesbarkeit von solchem Code ist schlecht. Einzig bei einigen eingeschränkten Systemen mit nur kleinem Zeilennummernspeicher ermöglicht diese Methode größere Programme, die sonst mehr Zeilen benötigen, als das System zur Speicherung zur Verfügung stellt."
neu: "Eine solche Schreibweise hat allerdings Vorteile. Die Verarbeitungsgeschwindigkeit von Sprüngen erhöht sich erheblich (Ausführungszeit ~ Anzahl der Zeilennummern bis zur gewünschten Zeilennummer) und des wird Speicherplatz gespart (5 Byte für jede Zeile vs. 1 Byte für den Doppelpunkt). Auch die Lesbarkeit von solchem Code ist schlecht."
Fazit: In beiden Fällen wäre eine ein Beleg für so eine starke resp. wertende Aussage (Vorteil/Nachteil) nicht verkehrt.
=== Änderung vom 5. Juli 2022, 04:31 Uhr ===
Begründung des Autors: "Ich hätte gern Primärquellen für diesen Abschnitt. Klingt wie eine Dichtung."
Punkt: Erweiterbarkeit der Sprache für Experten
Frage: "Wie soll das gegangen sein?"
Antwort: Das Verfahren nennt sich Bootstrapping. Der Interpreter oder Compiler ist in seiner eigenen Sprache geschrieben. Man spricht auch vom Henne-Ei-Problem. In der Regel findet die Entwicklung in mehrere Iterationen statt. 
Beispiel: BASICO - Programming Language, Self-compiling compiler, Der C++ Compiler GCC
Fazit: Statt von Experten zu reden, könnte man auch gleich entsprechende Verfahren nennen.
----
Punkt: Betriebssystemunabhängigkeit
Feststellung: "BASIC war häufig das Betriebssystem."
Anmerkung: Das geht etwas am Thema vorbei. Der Punkt ist, dass die Rahmenbedingungen eines BASIC-Dialekts unabhängig vom Betriebssystem gelten sollen. Also dass die Datentypen unter unterschiedlichen Systemen gleich groß bleiben; auch die Bit-Reihenfolge; oder auch die Fehler-Konstanten für gleiche Ursachen unter unterschiedlichen Plattformen. Beim klassischen VB sieht man es bezüglich der Datentypen recht gut: so ist der Integer immer 16 Bit gewesen, egal ob 16 Bit OS, 32 Bit OS oder 64 Bit OS (VBA 7). In C ist das nicht so. Dort ist der int Datentyp vom OS abhängig. Für spätere Programmiersprachen bzw. Laufzeitumgebungen (Java oder .NET) werden diese Konventionen durch eine Zwischenschicht (VM) sichergestellt, die das zugrunde liegende Betriebssystem und dessen Eigenheiten abstrahiert. --Siegbert v2 (Diskussion) 18:22, 3. Aug. 2022 (CEST)
thread_title:  Anonyme Änderungen (Benutzer 2003:c3:6727:db00:9566:a788:324f:9118) 

message: Begründung des Autors: "Ich hätte gern Primärquellen für diesen Abschnitt. Klingt wie eine Dichtung."
Punkt: Erweiterbarkeit der Sprache für Experten
Frage: "Wie soll das gegangen sein?"
Antwort: Das Verfahren nennt sich Bootstrapping. Der Interpreter oder Compiler ist in seiner eigenen Sprache geschrieben. Man spricht auch vom Henne-Ei-Problem. In der Regel findet die Entwicklung in mehrere Iterationen statt. 
Beispiel: BASICO - Programming Language, Self-compiling compiler, Der C++ Compiler GCC
Fazit: Statt von Experten zu reden, könnte man auch gleich entsprechende Verfahren nennen.
----
Punkt: Betriebssystemunabhängigkeit
Feststellung: "BASIC war häufig das Betriebssystem."
Anmerkung: Das geht etwas am Thema vorbei. Der Punkt ist, dass die Rahmenbedingungen eines BASIC-Dialekts unabhängig vom Betriebssystem gelten sollen. Also dass die Datentypen unter unterschiedlichen Systemen gleich groß bleiben; auch die Bit-Reihenfolge; oder auch die Fehler-Konstanten für gleiche Ursachen unter unterschiedlichen Plattformen. Beim klassischen VB sieht man es bezüglich der Datentypen recht gut: so ist der Integer immer 16 Bit gewesen, egal ob 16 Bit OS, 32 Bit OS oder 64 Bit OS (VBA 7). In C ist das nicht so. Dort ist der int Datentyp vom OS abhängig. Für spätere Programmiersprachen bzw. Laufzeitumgebungen (Java oder .NET) werden diese Konventionen durch eine Zwischenschicht (VM) sichergestellt, die das zugrunde liegende Betriebssystem und dessen Eigenheiten abstrahiert. --Siegbert v2 (Diskussion) 18:22, 3. Aug. 2022 (CEST)
thread_title:  Änderung vom 5. Juli 2022, 04:31 Uhr 

message: Zum Abschnitt "Programmierbeispiel". Dort steht: "... Dadurch war der Programmierer gezwungen, unstrukturiert zu programmieren ..." Das ist m.E. nicht ganz richtig. Programmiersprachen, die strukturierte Programmierung unterstützen, wie bspw. Python oder Zig, zwingen den Programmierer zur Struktur. Das Ur-BASIC zwang jedoch nicht dazu, unstrukturiert zu programmieren. Strukturiert zu programmieren war natürlich nicht in dem Ausmaß möglich, wie bei einer strukturierten Programmiersprache und auch viel schwieriger, weil alle Struktur vom Programmierer selbst kommen musste und der Zwang zu Zeilennummern jede Änderung an (labellosen) Unterprogrammen zur Qual machte. Unterprogramme waren eben einfach ein Stückchen Code mit einer REM-Zeile als Überschrift. Früher oder später fand man den Weg zur Struktur weil sich ein großes Programm aus Spaghetticode, ebenso wie das Chaos, nur von Genies durchblicken lässt. --Illumany (Diskussion) 19:16, 29. Jul. 2023 (CEST)
replies: text: Auch wenn es seltsam klingt, ich finde das BASIC mit Zeilennummern besser und auch logischer ! !! --Beonura (Diskussion) 02:25, 7. Feb. 2024 (CET)
thread_title:  Strukturierte Programmierung