Fachbereiche: Geschichte, Sowi, Philosophie; Sprachen; Wirtschaft, Recht; Nawi, Biologie, Technik und Blödsinn.
Dieser Universal-Blog ist aus einer Seite für Geschichte, Politik (und Realienkunde) hervorgegangen, die sich dann in Richtung Humanwissenschaften weiterentwickelt hat.
Sprachen: Englisch, Französisch, Spanisch; Latein, Altgriechisch; Russisch, Japanisch, Chinesisch; Mittelägyptisch etc.
Personen-Link: http://novatlan.blogspot.de/2014/08/personen-pool.html

Sonntag, 5. April 2015

BASIC

BASIC  ist eine imperative Programmiersprache. Der Name ist ein Akronym und steht für "Beginner's All-purpose Symbolic Instruction Code" und bedeutet gleichzeitig "basic", also brundlegend.
BASIC wurde im Jahre 1964 von John G. Kemeny und Thomas E. Kurtz am Dartmouth College entwickelt und verfügte anfangs noch nicht über die Merkmale einer strukturierten Programmierung, sondern arbeitete noch mit Zeilennummern und Sprungbefehlen.
Inzwischen hat sich die BASIC-Familie weiterentwickelt und einige Dialekte beherrschen - wie heute üblich - die Merkmale der höheren Programmiersprachen. Dazu gehört die Objektorientierung.


GESCHICHTE

BASIC wurde wie gesagt 1964 von John G. Kemeny und Thomas E. Kurtz am Dartmouth College entwickelt. Die ersten Programme liefen am 1. Mai gegen 4 Uhr.
Damals herrschten noch Programmiersprachen wie Algol und Fortran vor. Gerade Studenten der Elektrotechnik wollte man so den Einstieg erleichtern. Das Programm verbreitete sich in der Folge aber auch an Schulen. Es war nicht nur einfach, sondern auch kostengünstig.
Das ist auch ein Grund, warum es in der Folgezeit auch in kleineren Firmen eingesetzt wurde, wo man zwar begann, sich auf Computer umzustellen, aber nicht über das nötige Kapital für Großanschaffungen verfügte.
Am Dartmouth College selbst und später an anderen Orten wurde BASIC ständig weiterentwickelt.
Durch die immer weitere Verbreitung von Soft- und Hardware kam in den 70er-Jahren eine provisorische "Bastelcomputer-Szene" auf, die neue Entwicklungen auf dem Computermarkt für Endanwender vorwegnahm. Aufgrund der begrenzten Ressourcen war BASIC auf diesen improvisierten Computern ("Kisten") die Sprache der Wahl.

In den 80er-Jahren kam dann der eigentliche Durchbruch mit den Heimcomputern. Aber auch jetzt waren noch die Ressourcen begrenzt.
Bei den ersten Heimcomputern waren oft BASIC-Interpreter noch für das System notwendig, bei den späteren Modellen wurden sie zumindest mitgeliefert. Die (Heim-)Computer der Zeit waren Commodore C64, Commodore Amiga 500, Atari ST und diverse Apple-Modelle. Die Personalcomputer dieser Zeit (personal = persönlich, nicht Personal-) waren noch sehr teuer und hatten in der ersten Zeit noch keine grafische Benutzeroberfläche (GUI).
Das war auch die Zeit, in der Unix-Entwickler es versäumten, ihr an sich gutes und grundsolides Betriebssystem für den Endanwender und damit für den Massenmarkt anzupassen. Unix war 1969 ff entwickelt worden und dominierte in den Folgejahren, die noch wenige Computer in Privathaushalten (und überhaupt) kannten, den Servermarkt in Behörden, Universitäten und großen Firmen. Als sich dann in den 80er-Jahren die Heim- und dann die Personalcomputer durchsetzten, gucke man in die Röhre. Es fehlten der Unix-Familie die Konzepte, die grafischen Möglichkeiten und es kam in den "Unix-Wars" zu einer Aufsplitterung der ganzen Systemfamilie. Das sollte erst in den 90ern langsam korrigiert werden, v. a. mit Linux und BSD.

Stattdessen nutzte die Firma Microsoft die Gelegenheit, sprang in die Lücke und entwickelte für die sich langsam etablierenden PCs Ende der 80er und Anfang der 90er Jahre mit Windows (ursprl. auf DOS-Basis) ein Betriebssystem, das bei aller Kritik für den Endnutzerbereich marktfähig war. Für BASIC bedeutete das, dass sich die Dialekte GW-BASIC und dann QBASIC durchsetzen konnten. Gerade in QBASIC versuchte man, sich wenigstens zum Teil den Anforderungen moderner Programmiersprachen anzupassen. Vor allem durch die Implementierung neuer Unterprogrammtechniken konnte auf die "Zeilennummern" und die GOTO-Sprunganweisung verzichtet werden (verboten waren sie nicht). Durch diese strukturierte und funktionale Programmierung konnte der gefürchtete "Spaghetticode" mit vielen Querverbindungen verhindert werden. 

Die 90er sahen dann den Durchbruch des Internets - der anfangs wiederum von Microsoft verschlafen wurde - und damit große Umwälzungen im Bereich der Programmiersprachen. Die an C und C++ angelehnte Programmiersprache Java setzte sich durch (C war durch Unix schon länger bekannt) und weitere Sprachen setzten zum Sprung an.
BASIC reichte mit seinen Fähigkeiten längst nicht mehr aus. Es wurde von Microsoft aber mit VisualBASIC wenigstens bedingt zukunftsfit gemacht. In der Internetanwendung spielte auch die Script-Sprache VBScript (von VisualBasic abgeleitet) eine Rolle, konnte sich aber  nicht gegen JavaScript durchsetzen. Für Microsoft Office-Programme wurde die Sprache VBA (Visual Basic for Applications) eingeführt.
So konnte sich BASIC zwar in gewissen Bereichen halten, errang aber keine dominierende Stellung mehr. Das änderte sich auch nicht, als in den 2000er-Jahren die Mobilgeräte immer mehr in Mode kamen.
Man kann also sagen, dass BASIC zwar seine Glanzzeiten hinter sich hat, aber noch lange keine tote Sprache ist.



PROGRAMMIERUNG

Im grundlegenden BASIC folgt auf eine Zeilennummer (oft in Zehnerschritten) meist ein Befehl, dem Parameter in eckigen Klammern [] beigeordnet werden können. Parameter sind Werte, die einem Befehl übergeben werden können.
Des weiteren werden Variablen angeführt, die mit anderen Variablen "gleichgesetzt" werden, also z. B. Variable1 = Variable2. Es erfolgt dabei eine Wertzuweisung von V. 2 an V. 1.


Wichtige Befehle:

INPUT [Text], Variable1 ...
Per Eingabe werden der oder den Variablen Werte zugewiesen. Der Text erscheint auf dem Bildschirm.
PRINT [Text]
Der Text wird auf dem Bildschirm ausgegeben.
LOCATE X,Y
Legt die aktuelle Schreibposition des Cursors fest.
PSET X,Y
Zeichnet einen Punkt auf dem Bildschirm.
LET [Aufgabe]
Gibt dem Computer eine Anweisung.
CLS - Löscht den Anzeigebereich, "Clear Screen".


Programmierbeispiel (aus Wikipedia, alter Dialekt):

10 INPUT "Geben Sie bitte Ihren Namen ein"; A$
20 PRINT "Guten Tag, "; A$
30 INPUT "Wie viele Sterne möchten Sie?"; S
35 S$ = ""
40 FOR I = 1 TO S
50  S$ = S$ + "*"
55 NEXT I
60 PRINT S$
70 INPUT "Möchten Sie noch mehr Sterne?"; Q$
80 IF LEN(Q$) = 0 THEN GOTO 70
90 L$ = LEFT$(Q$, 1)
100 IF (L$ = "J") OR (L$ = "j") THEN GOTO 30
110 PRINT "Auf Wiedersehen";
120 FOR I = 1 TO 200
130  PRINT A$; " ";
140 NEXT I
150 PRINT



Keine Kommentare:

Kommentar veröffentlichen