TEMEL

BASIC bir listeden çıkar

BASIC , zorunlu bir programlama dilidir . Bu tarafından 1964 yılında geliştirilen John G. Kemeny , Thomas E. Kurtz ve Mary Kenneth Keller de , Dartmouth Koleji başlangıçta bir şekilde eğitim-yönelimli programlama henüz özelliklerini yoktu, o zaman kendi halinde, dil ve yapısal programlama , ancak satır numaraları ve atlama komutlarıyla ( GOTO ) çalıştı . Artık çok sayıda farklı BASIC lehçesi vardır , daha yeni olanlardan bazıları, nesne yönelimi gibi daha yüksek programlama dillerinin tüm öğelerine sahiptir .

Kısaltması "TEMEL" anlamına gelir " B eginner en A ll amaçlı S ymbolic ben nstruction C gazel" "Yeni başlayanlar için sembolik genel amaçlı programlama dili" olarak çevirir. Kelime olarak görülen kısaltma aynı zamanda "temel" anlamına da gelmektedir. Bu, tasarım hedefini açıkça gösterir: yeni başlayanlar için uygun basit bir programlama dili oluşturmak. Bazı ürün isimleri dışında, "BASIC" kelimesi her zaman büyük harflerle yazılır.

Genel

Dil, sekiz ilkeye göre tasarlanmıştır:

  • Yeni başlayanlar için öğrenmesi kolay
  • Evrensel olarak uygulanabilir
  • Uzmanlar için dilin genişletilebilirliği
  • Etkileşim
  • Hata mesajlarını temizle
  • Kısa yanıt süreleri
  • Donanım bağımsızlığı
  • İşletim sistemi bağımsızlığı

Tarih

BASIC, 1964 yılında Dartmouth College'da John G. Kemeny , Thomas E. Kurtz ve Mary Kenneth Keller tarafından , Algol ve Fortran'a kıyasla elektrik mühendisliği öğrencilerinin programlamaya başlamasını kolaylaştırmak için geliştirildi . 1 Mayıs 1964'te, yerel saatle 16: 00'da, New Hampshire'da, ilk iki BASIC programı , Dartmouth College'ın bodrum katındaki bir General Electric GE-225 bilgisayarında aynı anda çalışıyordu . BASIC, daha sonra bu kolejde giderek daha fazla bilgisayar bilimi öğrencisi tarafından yıllarca daha da geliştirildi ve 1960'ların sonlarından itibaren, Kemeny ve Kurtz, bunu müfredatlarına ilk kez bilgisayar dersleri dahil etmek isteyen bölgedeki birkaç okulda yaydı. . BASIC, o sırada yaygın olan ve genellikle birkaç bin dolara mal olan neredeyse tüm diğer programlama dillerinin aksine, “babalarının” talep ettiği gibi okullar için ücretsizdi. O zamanın büyük bilgisayar üreticilerinin çoğu ( DEC gibi ), dilin öğrenilmesinin kolay olması ve lisans ücreti olmadan kullanılabilmesi nedeniyle kısa süre sonra yeni mini bilgisayarları için BASIC tercümanları teklif etti ; O zamanlar ilk kez çok sayıda bilgisayar satın alan birçok orta ölçekli şirket, BASIC ile temasa geçti.

BASIC'e bu kadar aşina olan bazı öğrenciler, öğrenciler ve orta sınıf programcılar, ticari mikro bilgisayarlardan önce gelen ve BASIC'i orada tanınır hale getiren 1970'lerin ortalarında kısa ömürlü zanaat bilgisayarı sahnesinde bir süre sonra aktif oldular ; O zamanlar yaygın olan başka hiçbir yüksek seviyeli dil, bu ilk mikro bilgisayarların son derece sınırlı depolama alanı için (basitleştirilmiş) BASIC kadar iyi değildi. BASIC, 1970'lerin sonlarında ve 1980'lerin başlarında , neredeyse tamamı bir kullanıcı arayüzü ve programlama ortamı olarak bir BASIC yorumlayıcısına sahip olan zanaat bilgisayarlarından ortaya çıkan ilk ev bilgisayarlarıyla zirveye ulaştı . Öne çıkan örnekler, Sinclair Basic ( ZX80 , ZX81 ve ZX Spectrum ), Acorn BBC Micro , Tandy TRS-80 , Texas Instruments TI-99 / 4A , Schneider / Amstrad CPC , Apple II ile ZX serisinin Sinclair bilgisayarlarıdır. , Atari 8-bit ev bilgisayar ya da tüm zamanların en çok satan ev bilgisayarı, Commodore 64 . Ancak Philips gibi kişisel bilgisayarların öncüleri, yorumlayıcı veya derlenmiş bir şekilde CP / M -BASIC ile çalışabilir . Bu BASIC'lerin büyük çoğunluğu Microsoft'tan geldi . BASIC, şirketin ilk işletim sistemi olan MS-DOS'un piyasaya çıkmasından birkaç yıl önce, Microsoft'un ilk ve en önemli ürünüydü .

Çoğu bilgisayar, açıldıklarında BASIC yorumlayıcısını başlattığından, bu da BASIC komutları kullanılarak başka programların yüklenmesine izin verdiğinden, o sırada ev bilgisayarlarının neredeyse tüm sahipleri en azından temel bir BASIC bilgisine sahipti. Macintosh , Amiga ve Atari ST ile grafik kullanıcı arayüzleri 1980'lerin ortasında piyasaya sürüldüğünde bile, bunlarla birlikte BASIC tercümanları da sağlandı. Satılık BASIC lehçelerinin ek versiyonları da vardı. Derleyicileri kullanarak , bazı BASIC lehçelerini doğrudan önemli ölçüde daha hızlı makine programlarına çevirmek veya yorumlayıcıyı atlayarak bunları doğrudan temeldeki yorumlayıcı işlevlerinin çağrı listelerine çevirmek mümkündü. 1981'den beri yaygın olan MS-DOS , aynı zamanda  Almanya'daki birçok okulda bilgisayar bilimleri öğretiminde rol oynayan bir BASIC tercümanı - başlangıçta BASICA veya GW-BASIC , daha sonra QBasic - içeriyordu . Bununla birlikte, şu anda, C gibi diğer yüksek seviyeli dillerin ev bilgisayarları için kullanılabilir hale gelmesi veya ilgili sistemin kaynaklarının, programcıyı aşina olmaya zorlayan sağlanan BASIC yorumlayıcısı tarafından yalnızca yetersiz bir şekilde desteklenmesinden dolayı bir değişiklik ortaya çıktı. ile assembler .

Tercüman dili olarak uygulanması nedeniyle, erken BASIC lehçeleri, diğer çoğu, genellikle derleyici tabanlı yüksek seviyeli dillerden önemli ölçüde daha yavaştı . Bu özellikle zaman açısından kritik uygulamalar için çekici olmayan veya kullanımına yol açmıştır yapılan subroutinler içinde makine diline sıklıkla edildi ana belleğe yazılı olan POKE BASIC talimatları. Bu tür programlar elbette taşınabilir değildi . Bu nedenle ve sayısız lehçeye bölünmesi nedeniyle, BASIC neredeyse taşınabilir olarak kabul edilmiyor.

Bazı BASIC lehçeleri, ör. B. AmigaBASIC , satır numaraları yerine atlama adresleri görevi gören etiketlerle genişletilmiştir . Diğer BASIC lehçeleri daha sonra işlevlerin ve prosedürlerin kullanımında ustalaştı. Sıçrama talimatı GOTOvazgeçilebilir hale geldi ve bugün bile kaşlarını çattı. Çok eleştirilen sözde spagetti kodu (şaşırtıcı atlamalar nedeniyle özellikle anlaşılması zor olan kaynak kodu) yapılandırılmış ve işlev odaklı programlama lehine önlenebilir.

Zamanla, kelime işlemciler, elektronik tablolar ve veritabanları gibi standart uygulamalar yerleşik hale geldi. Sonuç olarak, birçok bilgisayar kullanıcısının bu tür programları kendilerinin geliştirmesi artık gerekli değildi, bu nedenle programlama dillerinin kullanımı genel olarak reddedildi.

Bazı alanlar için, Pascal veya C , öğretimde ilk öğretilen programlama dili oldu .

Nesne yönelimli dil öğelerinin tanıtılmasıyla, Visual Basic'in C ++ gibi diğer nesne yönelimli programlama dillerini yakalamasına izin vermek için başka bir girişimde bulunuldu .

BASIC'in bugün kullanımı

Microsoft kendi geleneğine geri döndü ve 1991'de Windows tabanlı uygulamaların hızlı gelişimi için ticari Visual Basic'i tanıttı . Kod artık çalışma zamanında yorumlanmadı , ancak program geliştirme sırasında bir derleyici tarafından veya daha sonraki sürümlerde yerel makine koduna bile makine düzeyinde bayt koduna çevrildi. Bu önlem, program yürütme hızını ve kararlılığını önemli ölçüde artırmayı mümkün kıldı. Bilgisayarların hızı arttıkça, Visual Basic profesyonel gelişmeler için gittikçe daha ilgi çekici hale geldi.

Ancak Microsoft, yalnızca Visual Basic sürüm 5 veya üzeri ile işlem hızı açısından önemli başarılar elde etti, ancak daha önce kaybettiği zemini geri kazanamadı.

Özellikle Avrupa'da, Visual Basic, geliştirici topluluğunda yalnızca sınırlı bir ölçüde kendini gösterebilmiştir. Windows'a diğer programlama dillerinden daha iyi ve çok daha kolay bir bağlantı sundu, ancak daha yavaştı. Sadece .NET sistemi içinde Visual Basic'in uygulanmasıyla BASIC'in bazı yapısal zayıflıklarının üstesinden gelmek mümkündü. Bununla birlikte, aynı zamanda, bu adım, bağımsız bir programlama dili olarak Visual Basic'in sonu anlamına geliyordu . .NET sistemi içinde, Visual Basic .NET, diğerleri arasında yalnızca bir dil uygulamasıdır. JIT derleyicisinin ve .NET'in tüm Microsoft dillerinin temeli olarak sunulmasıyla birlikte, BASIC'in işlem hızı ile .NET altındaki diğer programlama dilleri arasında artık büyük bir fark kalmadı.

BASIC, Microsoft'un birçok Microsoft Office ürününde ve ayrıca bazı diğer uygulamalarda dahili makro programlama için VBA olarak başarıyla kullanılmaktadır . Birçok yazılım üreticisi, ürünlerinin dahili makro programlaması için BASIC tabanlı programlama dilleri de sunmaktadır.

Bir hedefi platformdan bağımsız programlama dili hiçbir zaman ulaşılamamıştır. İyi standartlaştırılmış C'nin aksine , BASIC, belirli temel benzerlikler dışında tümü birbiriyle uyumsuz olan yüzlerce lehçe yarattı. Benzerlikler saf veri işlemeyle sınırlıdır ve her üretici, hızlı donanım geliştirme sürecinde ilgili donanıma göre uyarlanmış kendi girdi ve çıktı komutlarını uygular. Kaynak kodundaki iyi yapılandırılmış BASIC programları çoğu zaman kolaylıkla ve hızlı bir şekilde çok çeşitli sistemlere aktarılabilir.

Programlama dili

BASIC programlamanın başlangıcında, komutlar şu şekilde yapılandırıldı:

1. Zeilennummer Befehl [Parameter1, Parameter2 ...]
2. Zeilennummer Variable1=Variable2

Satır numarası: i. d. Genellikle 10'luk adımlarla artar, böylece satırlar (komutlarla) daha sonra eklenebilir ve aralarına sayılar verilir. Komut RENUMBER, tüm atlama komutlarını dikkate alarak bir programı yeniden numaralandırmak için kullanılabilir. Bağımsız komutları doğrudan yorumlayıcıda yürütmek için, herhangi bir satır numarası belirtilemez, aksi takdirde satır, program belleğinde belirtilen satır numarası altında saklanacaktır.

Komut: gibi herhangi bir komut INPUT.

Parametre : Bir komuta aktarılabilen bir veya daha fazla değer.

Değerlerin atanması aşağıdaki Örnek 2'de gösterilmektedir. Bir değerin atanacağı değişken eşittir işaretinden önce gelir; bunu, değeri değişkene atanacak ifade izler. Değişkenler yalnızca dizi iseler tanımlanmalıdır. Değişkenin türü, adın sonundaki özel bir karakterden kaynaklanır, örn. B. $ Dize için (A $, B $, ...), Tamsayı için% (A%, B%) ve Uzun için (A &, B &, ...). % Atlanabilir.

Yaygın komutlara örnekler:

INPUT [Text], Variable1 [,Variable2,...] - Per Eingabe werden der/den Variablen Werte zugewiesen, auf dem Bildschirm steht: Text
PRINT [Text] - auf dem Bildschirm wird ein Text ausgegeben
LOCATE X,Y - Legt die aktuelle Schreibposition des Cursors fest.
PSET X,Y - Zeichnet einen Punkt auf dem Bildschirm
CLS - Löscht den Anzeigebereich
LET [Variable] = [Ausdruck] - weist einer Variablen einen Wert zu

Aynı program satırında birkaç komut ve talimat da belirtilebilir. Aşağıdakileri ayırmak için iki nokta üst üste kullanılır:

10 LET A$="Hallo":LET B$="Welt!":PRINT A$;:PRINT " ";:PRINT B$

Bununla birlikte, böyle bir gösterimin neredeyse hiç avantajı yoktur. İşlem hızı artmaz ve böyle bir satırdaki tek tek komutların bir atlama adresi yoktur. Bu tür bir kod da zayıf bir şekilde okunabilir. Yalnızca küçük bir satır numarası belleğine sahip bazı kısıtlanmış sistemlerde bu yöntem, aksi takdirde sistemin depolama için sunduğundan daha fazla satır gerektiren daha büyük programları etkinleştirir.

Genellikle ilk ifade, satır numarasından ayrılmış tek bir boşlukla otomatik olarak girintilendirilir. Bununla birlikte, özellikle iç içe geçmiş program döngüleri söz konusu olduğunda, işlerin izini kaybetmek kolaydır. Bu nedenle iki nokta üst üste işareti genellikle girintili kodu temsil etmek için kullanılır:

10 FOR A=100 TO 200 STEP 10
20 :FOR B=1 TO 10
30 ::PRINT A + B
40 :NEXT B
50 NEXT A

Daha sonraki bazı lehçeler, ör. B. AmigaBASIC, sıçrama hedefi olarak sözde etiketleri kullanabilir. Etiketler iki nokta üst üste ile biter ve bu şekilde işaretlenir. Etiketlerle hedefler satır numarasından bağımsız olarak adreslenebilir. Programlar, bu seçenek hala mevcut olsa bile, satır numaraları olmadan da yapabilir. Bir örnek:

Hauptprogramm:
FOR A=1 TO 10
  GOSUB Farbwechsel
  PRINT "Hallo Welt!"
NEXT A
END
Farbwechsel:
COLOR A,0
RETURN

Programlama örneği

Aşağıdaki örnek, tipik bir BASIC kodunu gösterir. Daha yeni dillerde ve daha yeni BASIC lehçelerinde yerleşik hale gelen birçok komut, örnekte kullanılan BASIC'de henüz mevcut değildir. Bu, programcıyı yapılandırılmamış bir şekilde programlamaya zorladı . Bununla birlikte, eski BASIC lehçelerinin bir avantajı, karakter dizilerini kolayca işleyebilmeleriydi (örnek programda 70-90. Satırlara bakın).

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

Normlar ve standartlar

  • ANSI . Minimal BASIC için ISO Standardı (ISO / IEC 6373: 1984 Veri İşleme - Programlama Dilleri - Minimal Temel )
  • ANSI standardı. Tam temel için ISO standardı (ISO / IEC 10279: 1991 Bilgi Teknolojisi - Programlama Dilleri - Tam Temel )
  • ANSI Addendum Defining Modules (X3.113 Interpretations-1992 Basic Technical Information Bulletin # 1 ANSI 03.113-1987 Yorumlamaları )
  • ISO Eki Tanımlama Modülleri (ISO / IEC 10279: 1991 / Amd 1: 1994 Modülleri ve Tek Karakterli Giriş Geliştirme )

Çoğu yorumlayıcı ve derleyici bu yönergelere yalnızca kısmen uymaktadır.

TEMEL lehçeler

Standart komutlara ek olarak, hemen hemen tüm tercümanlar, ilgili platformu eksiksiz ve daha etkili bir şekilde kullanmak için ek işlevlere ve dil uzantılarına sahiptir . Bu şekilde genişletilmiş bir komut setine BASIC lehçesi denir , BASIC lehçelerinin listesine bakın .

Edebiyat

  • Hans-Joachim Sacht: BASIC lehçeleri . Humboldt-Taschenbuchverlag, Münih 1985, ISBN 3-581-66524-7 .
  • Rüdeger Baumann: BASIC - Programlamaya giriş. Klett Verlag, Stuttgart 1980, ISBN 3-12-717700-3
  • Hans-Joachim Sacht: BASIC programlama dili - adım adım. Humboldt-Taschenbuchverlag, Münih 1983, ISBN 3-581-66456-9

İnternet linkleri

Vikisözlük: TEMEL  - anlamların açıklamaları, kelime kökenleri, eşanlamlılar, çeviriler
Commons : BASIC  - resimler, videolar ve ses dosyaları koleksiyonu

Bireysel kanıt

  1. a b A Temel Kılavuzu (1964). 1 Ekim 1964, 1 Mayıs 2020'de erişildi .
  2. ^ Eğitim: Hannover'de Yüksek Matematik . Giriş: Zaman . 23 Şubat 1959, ISSN  0040-781X ( time.com [1 Mayıs 2020'de erişildi]).
  3. ^ A b c Elli Yıllık BASIC, Bilgisayarları Kişisel Yapan Programlama Dili. 1 Mayıs 2020'de erişildi .