BASIC (бейсик[3]; відангл.basic — початковий, елементарний) —мова програмування високого рівня, метою створення якої було отримати просту в користуванні мову для початківців. Мова набула поширення у1980-х, і лишається популярною й досі, маючи чимало діалектів. Мову було створено у1963 професорамиДартмутського коледжуДжоном Кемені іТомасом Курцом.
Назва мови є акронімом від фразиангл.Beginner's All-purpose Symbolic Instruction Code, що означає «універсальний код символьних інструкцій для початківців».
До середини1960-х комп'ютери були надто дорогими машинами, що використовувались лише для особливих задач, і виконували лише одну задачу за раз (так званапакетна обробка). Однак, протягом 1960-х, ціна на комп'ютери стала падати так, що навіть невеликі компанії могли їх собі дозволити. Швидкість комп'ютерів збільшувалась, і настав час, коли вони часто почали простоювати, не розв'язуючи задач.
Мови програмування тієї ери, як і комп'ютери, на яких вони використовувались, були розроблені для специфічних задач, таких як наукові обчислення. Оскільки машини були дорогими і лише одне завдання могло виконуватись за раз, то й машинний час був дорогим — тому швидкість обчислення стояла на першому місці.
У той же час зростала популярність систем із розділенням часу. В таких системах,процесорний час розділявся і всі користувачі почергово отримували короткий відрізок цього часу. Машини були досить швидкими для того, щоб в результаті кожен користувач за терміналом відчував себе так, ніби він працює з системою один. Теоретично, розділення часу радикально знижувало вартість машинного часу, оскільки одна машина могла спільно використовуватись сотнями користувачів.
Оригінальний Бейсик було вигадано у1963 році Джоном Кемені і Томасом Курцом в Дартмутському коледжі, і, під їхнім керівництвом було реалізовано командою студентів коледжу. З часом, коли з'явились інші діалекти, цей «початковий» діалект стали називати Дартмутським Бейсиком (Dartmouth BASIC).
Бейсик було спроектовано так, щоб студенти могли писати програми, використовуючи термінали із розділенням часу. Він створювався, як вирішення проблем, пов'язаних зі складністю старіших мов. Він призначався для користувачів з простішими задачами, не стільки зацікавлених у швидкості обчислень, скільки в можливості використовувати комп'ютер для вирішення своїх задач.
В проектуванні мови використовувались такі вісім принципів: нова мова має
бути простою у використанні для початківців;
бути мовою програмування загального призначення;
надавати можливість розширення функціональності, доступу досвідченим програмістам;
бути інтерактивною;
надавати ясні повідомлення про помилки;
швидко працювати на невеликих програмах;
не вимагати розуміння роботи апаратного забезпечення;
захищати користувача від операційної системи.
Мова частково ґрунтувалась наFORTRAN II і, частково, наALGOL 60, з додатками, які робили мову зручнішою для роботи в режимі розділення часу, і, пізніше, обробки тексту та матричної арифметики. Спершу Бейсик було реалізовано намейнфреймі GE-265 з підтримкою великої кількості терміналів. Всупереч розповсюдженій думці, на момент своєї появи це булакомпіляторна мова. Кількома роками пізніше, дуже поважний спеціаліст у галузі програмуванняЕдсгер Дейкстра висловив думку, що використання оператора GOTO, що існував у багатьох мовах, в тому числі, в Бейсику, сприяло поганій практиці програмування. Дехто також висміював Бейсик за його повільність і простоту.
Автори мови вирішили, що вона має належати громадськості, тому мова швидко набула поширення. Також, чимало часу автори витрачали на популяризацію мови. В результаті, знання мови Бейсик стало досить поширеним, і її було реалізовано численною кількістю виробників. Особливої популярності мова набула на новихмінікомп'ютерах на зразок DEC PDP та Data General Nova. На цих машинах мову було реалізовано якінтерпретатор, а не як компілятор.
Попри те, що мова вже використовувалася на кількох мінікомп'ютерах, її справжнє розповсюдження розпочалось з появи на мікрокомп'ютеріAltair 8800. Більшість мов програмування були надто великими, щоб вміститись у невелику пам'ять, яку користувачі цих машин могли собі дозволити. Для машин з таким повільним носієм, як паперова стрічка (пізніше — аудіо-касета), і відсутністю належного текстового редактора, така невелика мова, як Бейсик, була чудовою знахідкою. BASIC, також, мав ту перевагу, що, завдяки зусиллям Кемені та Курца, він був добре знаний юними програмістами, що цікавились мікрокомп'ютерами в ті часи. Одним з перших для цієї машини був Tiny BASIC, проста реалізація Бейсика, написана докторомЛі-Чен Ванґом і, пізніше, перенесена на AltairДеннісом Еллісоном на проханняБоба Альберта (він пізніше заснував Dr. Dobb's Journal). Повний код Tiny BASIC було опубліковано у1976 у Dr. Dobb's Journal.
У1975Microsoft (тоді, це лише двоє —Білл Гейтс іПол Аллен, за участі Monte Davidoff) випустилиAltair BASIC. Потім його версії з'явились на іншій платформі під ліцензією і незабаром використовувались вже мільйони копій та варіантів; одним з варантів став стандартною мовою наApple II. В1979 Microsoft обговорювала з кількома постачальниками комп'ютерів (включно зIBM) ліцензування інтерпретатора Бейсик на їхніх машинах. Одну з версій було включено до мікросхеми постійної пам'яті IBM PC — комп'ютер міг автоматично завантажуватись в Бейсик.
В той період було створено кілька нових версій Бейсика. Microsoft продавала кілька версій для MS-DOS/PC-DOS, включаючи BASICA, GWBASIC (модифікація BASICA, що не вимагала ПЗП від IBM) і Quick BASIC. Borland, відома своїмTurbo Pascal, в1985 випустилаTurbo BASIC 1.0 (його нащадки пізніше продавались під назвоюPowerBASIC). На домашніх комп'ютерах з'явились різні розширення Бейсика, зазвичай так, що включали засоби для роботи із звуком, графікою, виконанням команд операційної системи, а також, засоби структурного програмування. Деякі інші мови використовували добре відомий синтаксис Бейсика як основу, на якій будувалась зовсім інша система (наприклад, GRASS).
Однак, починаючи з кінця 1980-х, нові комп'ютери були набагато складнішими, і надавали можливості (такі, якграфічний інтерфейс користувача), які робили Бейсик вже не таким зручним для програмування. Бейсик почав здавати свої позиції, попри те, що величезна кількість його версій ще використовувалась і продавалась.
Фортуна знову повернулась до Бейсика з появоюVisual Basic від Microsoft (скорочено MS VB). Хоча і важко погодитись, що ця мова справді є Бейсиком (незважаючи на велику кількість звичних ключових слів), з часом вона стала однією з мов, що використовуються найчастіше на платформі Windows — деякий час вона використовувалась на 70-80% всіх комерційних розробок. Microsoft створила варіант під назвою WordBasic та використовувала його в MS Word до появи Word 97. Microsoft вбудувала Visual Basic for Applications (VBA) в Excel 5.0 в1993 році, потім в Access 95 в1995, а, також, у всі інші інструменти, що входять в пакет Office — в1997. Internet Explorer 3.0 і вище, а також Microsoft Outlook включали інтерпретатор мови VBScript. У повний варіант пакетуOpenOffice також включено інтерпретатор Бейсика.
Вважають, що назва мови утворена з перших букв англійських слівBeginner's All-purpose Symbolic Instruction Code. У вільному перекладі це означає «мова програмування для початківців». Англійське словоBasic перекладають як елементарний, базовий (наприклад, набір знань). Перша версія мови налічувала 14 службових слів.
Плакат у російській школі «Train Basic everyday!»
Мову бейсик розробили співробітникиДармутського коледжу (США) у 1964 р. з метою навчання студентів, і відразу здобула широке визнання. У 80-х роках інтерес до мови зменшився, оскільки її різноманітні версії не задовольняли вимог структурного програмування. Цей недолік було подолано у версіях мови Turbo Basic, Quick Basic та Power Basic. Спрощена версія Швидкого Бейсика (Quick Basic) - Qbasic - увійшла до комплекту програм операційної системиMS-DOS корпораціїMicrosoft.
Мова бейсик постійно розвивається. Вона суттєво оновлюється після створення корпорацією Microsoft програмно середовища Visual Basic (VB), яке дає змогу користувачам засобами візуального програмування складати власні програми для операційної системиWindows.
Для розширення можливостей таких програм, як MS Word, MS Excel, MS Access ті інших корпорація Microsft розробила версію VB під назвою Visual Basic for Applications )VBA).
Наступне удосконалення мови - Visual Basic .NET, що є складовою інтегрованого середовища створення програм Visual Studio .NET.Середовище - це програмний комплекс, що автоматизує процеси створення, налагодження та виконання програм користувача.
Visual Basic .NET дає змогу не лише створювати типові навчальні програми, що можна робити і в середовищі Qbasic, чи типові Windows-проекти, для чого достатньо середовища Visual Basic, але й високопрофесійні програми для роботи в локальній мережі, а також вінтернеті з характерним web-інтерфейсом, що запускаються з сервера, доступ до яких здійснюється за допомогоюбраузера.
розділових символів (крапка, кома, двокрапка, крапка з комою, лапки, круглі дужки, пропуск);
спеціальних символів (!,#,$,%,^,& та інших).
Алфавіти можуть несуттєво відрізнятися в різних версіях мови. За допомогою символів алфавіту будуть елементи мови: службові слова, імена змінних,числа, вирази, імена,функції та інші.
Програми складається з команд. Іноді команди називаютьсяоператорами, вказівками, реченнями. За призначенням команди поділяють на такі групи:
описові команди, які використовують для опису даних, типів змінних, розмірів масивів, нестандартних функцій тощо;
команди введення-виведення даних, які використовують для введення виведенняінформації, зокрема, для організації діалогу користувача з комп'ютером.
команди для обчислень і керування процесами опрацювання інформації: команди надання значення, переходу, розгалуження, циклів тощо;
інші команди, які забезпечують додаткові можливості: команди для роботи з файлами даних, команди для графічних побудов, отримання звукових ефектів тощо.
Команди складаються з неподільних елементів мови (літералів): службових слів, чисел, символів операції тощо.
перехід до рядка (задається номером або, у новіших версіях, міткою з двокрапкою)
GOSUB
виклик процедури; повернення з процедури виконується операторомRETURN
ON ... GOTO/GOSUB
вибір рядка для виконання на основі деякої умови. Інші форми описано уоператор вибору
DEF FN
пара ключових слів, доданих до BASIC у 1960-х роках, і призначена для означення простих однорядкових функцій. Імена функцій були як правило обмежені однією літерою (наприклад,DEF FNA,DEF FNB і т.д.)
трасування: вмикає режим, коли показується кожен виконаний рядок коду (англ.TRace ON)
TROFF
вимикання режиму трасування
ASM
деякі компілятори, такі як Freebasic,[4] Purebasic,[5] і Powerbasic[6] підтримуютьinline assembly[en], дозволяючи програмістові змішувати асемблерний і BASIC-код
Kemeny, John G.; Kurtz, Thomas E. (1985).Back To BASIC: The History, Corruption, and Future of the Language. Addison-Wesley. с. 141 pp.ISBN0-201-13433-0.(англ.)