BASIC

Günümüz dünyasında BASIC toplumda giderek daha fazla önem kazanan önemli bir konu haline geldi. Ortaya çıkışından bu yana, birçok insanın ilgisini ve merakını uyandıran kapsamlı tartışmalara ve tartışmalara yol açtı. BASIC gerek günlük hayata olan etkisi, gerek tarihsel önemi, gerekse popüler kültür üzerindeki etkisi nedeniyle toplumun farklı kesimlerinin dikkatini çekmeyi başarmıştır. Bu makalede BASIC'in çeşitli yönlerini kapsamlı bir şekilde inceleyeceğiz, anlamını, zaman içindeki gelişimini ve bugünkü etkisini analiz edeceğiz. Ayrıca, bu heyecan verici konuya geniş ve objektif bir vizyon sunarak BASIC çevresinde var olan farklı bakış açılarını inceleyeceğiz.

BASIC
Paradigmasıyapısal olmayan, sonraları yordamsal, sonraları nesne yönelimli
İlk çıkışı1964
TasarımcıJohn George Kemeny ve Thomas Eugene Kurtz
Tip sistemigüçlü
Önemli uygulamalarıApple BASIC, Atari BASIC, Commodore BASIC, Microsoft BASIC, Liberty BASIC, BBC BASIC, TI-BASIC
EtkilendikleriALGOL 60, FORTRAN II, JOSS
EtkiledikleriCOMAL, Visual Basic, Visual Basic .NET, Realbasic, GRASS

BASIC (İngilizce: Beginner's All-Purpose Symbolic Instruction Code Türkçe: Yeni başlayanların çok amaçlı simgesel öğretim kodu) 1964'te John George Kemeny ve Thomas Eugene Kurtz tarafından New Hampshire, ABD'de icat edilmiş, günümüzde de çeşitli türevleri kullanılmakta olan yüksek düzey bir programlama dili. Farklı türevleri birçok işletim sisteminin parçası olarak sunulmuştur.

BASIC öğrenmesi ve yazılımları kolay olan bir dildir. Genelde amatörce ve hobi uğraşıları için kullanılmıştır. Microsoft daha sonra Kişisel bilgisayarlar için Quick Basic derleyicisi piyasaya sürmüştür. Bununla yazılan BASIC metinlerini makine koduna çevirilebilmiş böylece sürat kazanmıştır. Bugün hâlen geniş bir kullanım alanına sahip olan Visual Basic dili var olup bununla hatta Windows'un belirli bölümleri yazılmıştır. Her Microsoft Office paketinde bir BASIC türevi var olup makro programlamada büyük kolaylıklar getirmektedir. Ayrıca BASIC kodunu C veya C++ koduna çevirip makine kodu derlemesi yapabilen bazı açık kaynak kodlu uygulamalar bulunmaktadır. Bunlardan BaCon Linux, MacOS ve bazı unix tabanlı işletim sistemlerinde HUG kütüphanesi ile pencere, buton, vb. arayüz oluşturmak için kullanılabilirken BCX sadece Windows'ta WinAPI ile arayüz oluşturmak için kullanılabilmektedir. QB64 adlı derleyici ise Windows, MacOS, Linux ve bazı başka işletim sistemlerinde arayüz oluşturmaya imkân sağlamaktadır.

Basic programlama dili algoritma'ya çok yakın bir yapıya sahiptir. Bu yüzden öğrenilmesi ve uygulanması kolaydır.

Değişken isimleri ve kuralları

Değişken isimleri aşağıdaki kurallara uyan her şey olabilirler:

  1. Değişken ismi en fazla 255 karakterden oluşmalıdır.
  2. Değişkenler arasında : ;, . / ' #  ! " $ % ^ & * ( ) { } karakterleri kullanılamaz. Ancak _ kullanılabilir.
  3. Değişken isminin ilk karakteri mutlaka harf olmalıdır. Yani değişkenler rakamla başlamaz.
  4. Değişken isimlerinde büyük küçük harf ayrımı yoktur. "AbCdE" ile "Abcde" veya "ABCDE" aynı değişkenleri belirlerler.
  5. Belirli bir prosedürde aynı değişken birden fazla tanımlanamaz.
  6. En önemlisi de herhangi bir BASIC komutu olamayacaklarıdır.

Değişkenlerin belirtilmesi

Bir değişken "Dim degisken_ismi as tür" seklinde tanımlanır.

  Dim damdaki_kedi as byte
  Dim Burak, gonen, kedi, damdaki as boolean
  Dim İsmail, cerban, temel, egitim as string

Görüldüğü gibi VB'de de değişkenler arası virgül ile ayrılıp birden çok aynı türde değişken aynı anda tanımlanabilir.

Örnek program

Merhaba Dünya çıktısı

  10 PRINT "Merhaba Dünya!"
  Dim str1, str2 as string
  str1=textbox1.text
  str2=textbox2.text
  if str1=" " or str2=" " then
  msgbox("Lütfen Parolanızı Giriniz", msgboxstyle.critical)
  EndIf''
  End Sub

Sunucuya Bağlanma

# Bir siteye bağlanmak ve veri akışı

site$ = "tr.wikipedia.org"
port = 80
NETCONNECT site$, port
print "connected to " + site$ + ":" + port

get$ = "GET http://" + site$ + "/ HTTP/1.0" + chr(13) + chr(10)
get$ = get$ + chr(13) + chr(10)
NETWRITE get$
print "request written"

s$ = ""
do
   chunk$ = netread
   print "chunk  '" + left(chunk$,10) + "..." + right(chunk$,10) + "'" + length(chunk$)
   s$ = s$ + chunk$
   # bekleyin / yavaş bağlantılar için bazı ayarlamalar gerekebilir
   pause .2
until not netdata
NETCLOSE

print "response"
print s$
print length(s$)

Bazı türevleri