Kontent qismiga oʻtish

BASIC

Vikipediya, erkin ensiklopediya
(Beysikdan yoʻnaltirildi)
Atari BASIC (1979)

BASIC (talaffuzi: Beysik; toʻliq nomi Beginners' All-purpose Symbolic Instruction Code[1] – „boshlovchilar uchun universal ramziy oʻquv kod“) – ishlatish oson boʻlgan universal yuqori darajali dasturlash tillari oilasi. Original versiyasi Jon G.Kemeni va Tomas E.Kurtz tomonidan Dartmont kollejida 1964-yilda yaratilgan. Ularning maqsadi ilm-fan yoʻnalishida oʻqimayotgan studentlarga ham kompyuter ishlata olish imkoniyatini yaratib berish edi. Oʻsha paytda deyarli barcha kompyuterlar faqat olimlar va matematiklar oʻrganishga moyil boʻlgan maxsus dasturiy taʼminotni yozishni talab qilar edi.

Dastur tiliga qoʻshimcha ravishda Kemeny va Kurts Dartmut vaqtini almashish tizimini (DTSS) ishlab chiqdilar, bu bir nechta foydalanuvchilarga bir vaqtning oʻzida BASIC dasturlarini masofaviy terminallarda tahrirlash va boshqarish imkonini berdi. Ushbu umumiy model 1960-yillarning oxiri va 1970-yillarning boshlarida PDP-11 va Data General Nova kabi mini-kompyuter tizimlarida juda mashhur boʻldi. Hewlett-Packard 1960-yillarning oxirida HP2000 seriyasini taqdim etgan va 1980-yillarda sotuvni davom ettirib, ushbu operatsiya usuli uchun butun kompyuter liniyasini ishlab chiqardi. Koʻpgina dastlabki video oʻyinlar oʻz tarixini BASIC ning ushbu versiyalaridan biriga olib boradi.


1970-yillarning oʻrtalarida mikrokompyuterlarning paydo boʻlishi bir nechta BASIC dialektlarining, jumladan, 1975-yilda Microsoft BASIC-ning rivojlanishiga olib keldi. Ushbu mashinalarda mavjud boʻlgan kichik asosiy xotira tufayli, koʻpincha 4 KB, Tiny BASIC dialektlarining xilma-xilligi ham yaratilgan. BASIC oʻsha davrning deyarli har qanday tizimi uchun mavjud edi va 1970-yillarning oxirida paydo boʻlgan uy kompyuterlari tizimlari uchun de-fakto dasturlash tiliga aylandi. Ushbu shaxsiy kompyuterlarda deyarli har doim sukut boʻyicha BASIC tarjimoni oʻrnatilgan boʻlib, koʻpincha mashinaning dasturiy taʼminotida yoki baʼzan ROM kartridjida.

1990-yillarda BASIC mashhurligi pasaydi, chunki bozorga yanada kuchli mikrokompyuterlar paydo boʻldi va ilgʻor funksiyalarga ega dasturlash tillari (masalan, Paskal va C) bunday kompyuterlarda foydalanish mumkin boʻldi. 1991 yilda Microsoft Visual Basic-ni chiqardi, u BASIC-ning yangilangan versiyasini vizual shakllar yaratuvchisi bilan birlashtirdi. Ushbu til va „VB“ dan qaytadan foydalanish VBA va VB.NET shakllarida asosiy dasturlash tili boʻlib qolmoqda [iqtibos keltirish kerak].

Birinchi misol (Microsoft QuickBASICda):

REM QuickBASIC misol

REM Forward declaration – allows the main code to call a
REM subroutine that is defined later in the source code
DECLARE SUB PrintSomeStars (StarCount!)

REM Main program follows
INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
   INPUT "How many stars do you want: ", NumStars
   CALL PrintSomeStars(NumStars)
   DO
      INPUT "Do you want more stars? ", Answer$
   LOOP UNTIL Answer$ <> ""
   Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$
END

REM subroutine definition
SUB PrintSomeStars (StarCount)
   REM This procedure uses a local variable called Stars$
   Stars$ = STRING$(StarCount, "*")
   PRINT Stars$
END SUB


Ikkinchi misol (Visual Basic .NETda):

Public Module StarsProgram
   Private Function Ask(prompt As String) As String
      Console.Write(prompt)
      Return Console.ReadLine()
   End Function

   Public Sub Main()
      Dim userName = Ask("What is your name: ")
      Console.WriteLine("Hello {0}", userName)

      Dim answer As String

      Do
         Dim numStars = CInt(Ask("How many stars do you want: "))
         Dim stars As New String("*"c, numStars)
         Console.WriteLine(stars)

         Do
            answer = Ask("Do you want more stars? ")
         Loop Until answer <> ""
      Loop While answer.StartsWith("Y", StringComparison.OrdinalIgnoreCase)

      Console.WriteLine("Goodbye {0}", userName)
   End Sub
End Module
  1. Kemeny, John G.; Kurtz, Thomas E.. Basic: a manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System, birinchi (inglizcha), Hanover, N.H.: Dartmouth College Computation Center, 1964.