Konu Dizisi: Bilişim Tarihi #10: BASIC Programlama Dili
#1
BASIC Nedir?

Bu güne kadar her 8 Bit bilgisayarda BASIC lafı geçmiştir 1 defa, Peki BASIC nedir?

BASIC ilk olarak 1964 yılında John George Kemeny ve Thomas Eugene Kurtz tarafından geliştirilen bir programlama dilidir. Açılımı ise "Begginer's All-purpose Symbolic Instruction Code" ( Yeni Başlayanların her işe yarayan simgelsel öğretim kodu.)'dur. Ev bilgisayarlarının yaygınlaştığı 80'li yıllarda gayet popülerlik kazanmıştır. Hatta öyle ki, 80'li yılların sembollerindendir. Bu gün kullanılan Microsoft Visual Basic'in kökeni BASIC'den gelmektedir.

BASIC'in "Basic" bir Tarihi

BASIC 1 Mayıs 1964'de Almanya'da, Darthmouth Üniversitesinde geliştirilmiştir. Teknik olarak FORTRAN II dilini temel almıştır, fakat ALGOL 60 dilinden de esintiler vardır. BASIC'in saf ve ilk haline Dartmouth BASIC denmektedir, fakat BASIC dilinin yıllar içerisinde tonla varyasyonu çıkmıştır. Bu ilk BASIC hali ile Mainframe (Ana bilgisayar diye tabir edilen dev bilgisayarlar.)'ler için kullanılmıştır. Bir terminal olmadığı için ilk kodlar da çıktı şeklinde alınmıştır hali ile.

70'li yıllara gelindiğinde BASIC yavaştan bilgisayar dünyasına girmeye başlamış, insanlar BASIC'le programlar/oyunlar yazmaya başlamıştır. Fakat asıl patlama 80'li yıllarda, Kişisel bilgisayar devrimi ile yaşanmıştır. Kişisel bilgisayar döneminin başlangıcında yazılan ünlü BASIC'ler Tiny BASIC ve Microsoft'un ilk ürünü olan Altair BASIC'dir. (Altair 8800 için.)

Altair_Basic_Sign.jpg
Altair BASIC

BASIC alanında Microsoft birçok bilgisayarda görülmektedir, bazı ise şunlardır:

Commodore'un bütün 8-Bit bilgisayarlarında Microsoft'un BASIC'i vardır, bu BASIC 1977'de Microsoft'ta bir çalışan tarafından 6502 işlemciler için geliştirilmiştir. Microsoft'ta bunu satmak için Commodore'a gitmiş, MS ürün başına 3$ lisans parası istemesine rağmen Commodore bütün lisansı 25000$'a almıştır ve ömrü boyunca aynı BASIC'i kullanmıştır.

CommodoreBasic.JPG

C64 BASIC V2

MSX bilgisayarlarda ise BASIC görülmesinin sebebi MSX standardının öncüsünün Microsoft olmasındandır.

Msxbasic.png
MSX BASIC

80'li yıllardaki popüler BASIC türlerine örnek vermek gerekirse, Atari BASIC, BBC BASIC, MS BASIC, Commodore BASIC, MSX BASIC, IBM BASIC (MS-DOS için.), CP/M BASIC vs.

bütün BASIC tiplerinin listesi:
https://en.wikipedia.org/wiki/List_of_BASIC_dialects

BASIC program ve kod örnekleri

BASIC'de program yazarken kodlar liste halinde 10'un katlari ile numaralandırılarak yazılır. Örneğin:

Kod:
10 PRINT "Merhaba Dünya"
20 INPUT A$

gibisinden. Ara rakamlar ise düzenleme amaçlı kullanılır.

Kod:
15 PRINT "Ve StrategyTurk"

Bazı örnek komutlar vermek gerekirse:

Kod:
PRINT

En temel BASIC komutudur. Ekrana çıktı verir, tırnak içinde yazılanları olduğu gibi yazar iken, tırnaksız yazılanları matematiksel değer olarak algılar
Örnek:

Kod:
10 PRINT "Merhaba Dünya"
20 END
RUN

Merhaba Dünya
---------------------------
PRINT 3+2
5

Gibi.

Kod:
LIST

Yazılan komutları sıralar.

Kod:
GOTO
-----------
GOTO 130
130 PRINT....
Yukarıda olduğu gibi GOTO komutu numarası verilen koda gider.

Kod:
INPUT
----------------
10 INPUT A$
20 PRINT; A$

Girdi komutudur, girdi girmeyi sağlar.

Kod:
IF ... THEN ... ELSE

Karşılaştırmayı sağlar gibi. Daha çok komut var, ve temel komutlar haricinde her BASIC yorumlayıcısının kendine has komutları da vardır.
Aşağıda Commodore BASIC'den 99 Şişe bira adlı bir örnek var.

Kod:
10 FOR B=99 TO 1 STEP -1
20 GOSUB 100
30 T$=T$+" OF BEER ON THE WALL"
40 PRINT T$;", ";T$
50 PRINT "TAKE ONE DOWN AND PASS IT AROUND, "
60 IF B-1<=0 THEN PRINT "NO MORE BOTTLES OF BEER ON THE WALL":GOTO 80
70 GOSUB 200:PRINT " OF BEER ON THE WALL"
80 PRINT:NEXT
91 PRINT "GO TO THE STORE AND BUY SOME MORE, 99 BOTTLES OF BEER ON THE WALL"
92 END
100 T$=STR$(B)+" BOTTLE":IF B>1 THEN T$=T$+"S"
110 RETURN
200 A=B-1:PRINT STR$(A)+" BOTTLE";
210 IF A>1 THEN PRINT "S";
220 RETURN

Bu da GW BASIC'den bir örnek:

Kod:
10 INPUT "Adın ne?: "; U$
20 PRINT "Merhaba "; U$
30 INPUT "Ne kadar yıldız istersin?: "; N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Daha fazla yıldız ister misin? "; A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Güle Güle "; U$
140 END

Çıktısı:

Adın ne?: Duman
Merhaba Duman
Ne kadar yıldız istersin?: 7
*******
Daha fazla yıldız ister misin? yes
Ne kadar yıldız istersin?: 3
***
Daha fazla yıldız ister misin? no
Güle güle Duman


BASIC dili 90'lı yıllarda da devam etse de popülerliğini yitirmiştir, yerini Popülarite olarak C'ye ve varyasyonlarına bırakmıştır.
[+] 5 üye Ecdad Computer nickli üyenin bu iletisini beğendi.
Ara
Cevapla
#2
Basic dilini gösteren dergiler var. Onları yazabileceğim bir editör bakayım. :)
Blizzard : estriel#1265
Ara
Cevapla
#3
İyiki C'ye bırakmış. VBA bile kanser.
[+] 1 üye fff7 nickli üyenin bu iletisini beğendi.
Ara
Cevapla
 




Konuyu Okuyanlar: 1 Ziyaretçi



Strategyturk Forumları

Strategyturk Forumları tüm Türk stratejiseverler için büyük ve kaliteli bir platform olma amacı güder. Forum içerisinde çok sayıda strateji oyunu için bölüm ve bu bölümlerde haber konuları, rehberler, mod tanıtımları, multiplayer etkinlikleri ve üye paylaşımları için alanlar yer alır.