Мова програмування Basic Бейсік

18.07.2015

Мова програмування Basic (Бейсік).

Мова програмування Бейсік — це сімейство мов програмування високого рівня. Спочатку розроблений в якості навчального посібника, він отримав широке поширення на домашніх микрокомпьютерах в 1980-е роки, і залишається популярним і донині в сильно изменном діалекті. Програмування для початківців.

Назва мови програмування BASIC було придумано в класичних традиціях інформатики, що призвело до хорошого скорочення найменування, Beginner’s All-purpose Symbolic Instruction Code (Багатоцільовий код символьних інструкцій для початківців). Назва пов’язана з назвою неопублікованої роботи винахідника мови Томаса Курця. Деякі критики жартівливо називають його Спроба мови Білла захопити контроль над промисловістю у відповідь на політику Microsoft щодо інтерпретатора Бейсика, який включенали у всі поставки з ранніми ПК, сумісних з IBM. Програмування для чайників.

Історія

До появи

До середини 1960-х років, комп’ютери були дуже дорогі інструментами, які використовувалися тільки для завдань спеціального призначення, в той час могли вони виконувати тільки одну «роботу». З середини 1960-х років, однак, комп’ютери почали падати в ціні, аж до того моменту, коли навіть невеликі компанії могли їх собі дозволити, а швидкості виконання інструкцій зросли до такої міри, коли комп’ютери стали простоювати, тому що не було достатньої кількості роботи для них, що згодом розглядалася основи програмування.

Мови програмування тієї епохи, як правило, розроблялися з урахуванням можливостей обчислювальних машин і для конкретних цілей, таких, як наукова обработкая формул. Комп’ютери, які могли виконувати тільки одну «роботу» були дорогими, а самою головною характеристикою була швидкість виконання інструкцій. Загалом, їх використання було важкою справою, і, навіть можна сказати, трохи «потворним».

Саме в цей час концепція поділу часу операційною системою почала ставати популярною. У такій системі основний час обробки комп’ютер «нарізав» на частини, і кожен користувач отримував невелику кількість часу в певній послідовності. Машини були вже досить швидкими, так що більшість користувачів помилялися, думаючи, що вони монопольно використовували цілий комп’ютер. У теорії поділу часу зниження часу обчислення надзвичайно важливо, оскільки на одному комп’ютері можуть працювати сотні користувачів, принаймні теоретично.

Народження та ранні роки

Мова програмування BASIC винайшов в 1964 році Джон Джордж Кемені (1926-93) і Томас Курц Євген (1928 -) в Дартмутського коледжі. В наступні роки, після появи безлічі різновидів Бейсика, було випущено опис оригінального BASIC від Кемені і Курця, яке дало назву справжньому Бейсику «Дартмут Бейсік».

Мова програмування Бейсік був розроблений для того, щоб студенти могли писати програми, використовуючи комп’ютерні термінали в режимі поділу часу. Бейсік призначений для вирішення складних питань, які вирішувало попереднє покоління мов. Розроблений спеціально для нового класу користувача, які прийняли ідею використання поділу часу, тобто для «простого» користувача, який був зацікавлений не стільки в швидкості, скільки в простій можливості використання комп’ютера. Розробники мови також хотіли, щоб мова стала суспільним надбанням, яке допомогло б йому поширюватися.

Вісім принципів побудови BASIC:

  1. Бути легким для новачків
  2. Бути мовою загального призначення
  3. Дозволити розширені можливості додавання власним удосконалень для фахівців (при збереженні мови простим для початківців)
  4. Бути інтерактивним
  5. Розробка чітких і дружніх повідомлень про помилки
  6. Швидко реагувати на невеликі програми
  7. Не потрібно знання комп’ютерних апаратних
  8. захист користувача від операційної системи

Мова був заснований частково на Фортран II і частково на Алгол 60, з доповненнями, щоб зробити його придатним для поділу часу і матрицею арифметики, BASIC був вперше реалізований на манфреймах GE-265, які підтримували кілька терміналів. Всупереч поширеній думці, на момент створення це був компільований мову. Майже відразу ж після його випуску, комп’ютерні фахівці почали висміювати Бейсік як дуже повільний і дуже простий. Так як елітарність мови є постійною темою в комп’ютерній індустрії.

БЕЙСІК тим не менш, поширюється на велику кількість машин, і стає досить популярним на нових миникомпьютерах, таких як серія DEC PDP і Data General Nova. В цих випадках мова, як правило, виступає в якості перекладача, а не компілятора, або, навпаки, в залежності від потреб.

Вибухове зростання

Проте лише з появою мікрокомп’ютера Altair 8800 в 1975 році BASIC починає своє масове поширення. Більшість мов програмування були занадто великі, щоб уміститися в невеликій пам’яті комп’ютерів, які більшість користувачів можуть дозволити собі купити, а якщо ще врахувати, що читання відбувалося з повільною паперової стрічки (або в більш пізніх версіях аудіо касети) і відсутні відповідні текстові редактори, то малий вимоги мови BASIC добре відповідали цим вимогам. Одним з перших, що з’явилися на цій машині був Tiny BASIC, проста реалізація BASIC спочатку написана доктором Лі-Ван Чень, а потім перенесена на Альтаїр Деннісом Еллісоном на прохання Боба Альбрехта (який пізніше заснував доктор Dobbs Journal — DDJ). Дизайн Tiny BASIC і повний вихідний код був опублікований в 1976 DDJ.

У 1977 році Microsoft (в той час це були тільки дві людини — Гейтс і Аллен) випустила Altair BASIC. Версії потім почали з’являтися і на інших платформах згідно з ліцензією, і мільйони копій і варіантів незабаром були у використанні, він став одним з стандартних мов на Apple II. До 1979 році Microsoft веде переговори з декількома постачальниками мікрокомп’ютерів, в тому числі IBM, для того, щоб ліцензувати інтерпретатор BASIC для цих комп’ютерів. Версія була зашита в чіпах IBM PC в ПЗУ, а для ПК без дисків, Бейсік став завантажуються автоматично при включенні живлення.

У міру появи нових компаній, багато з них намагалися повторити успіх Альтаїра, наприклад, IMSAI, Полярна зірка, і Apple, і, таким чином відбулася революція домашнього комп’ютера, в якому BASIC став стандартним атрибутом домашніх комп’ютерів того часу. Більшість ішли з інтерпретатором BASIC в ПЗУ ( функція вперше з’явилася на Commodore PET 1977). Незабаром з’явилися багато мільйонів машин, що працюють з BASIC у всьому світі, ймовірно, набагато більше, ніж число всіх користувачів усіх інших мов разом узятих. Багато програм, особливо ті, що на Apple II і IBM PC, стали залежними від інтерпретатора BASIC компанії Microsoft і не працювали без нього. Таким чином, Microsoft використовували авторську ліцензію на транслятори BASIC, щоб отримати важелі тиску на переговорах з постачальниками комп’ютерів.

Зрілість

В цей період часу були створені нові і більш потужні версії BASIC. Microsoft продала кілька версій BASIC для MS-DOS / PCDOS включаючи BASICA, GW-BASIC (BASICA-сумісну версію, яка не вимагала наявності ROM IBM) і Quick Basic. Компанія Borland (розробник Turbo Pascal) опублікувала Turbo Basic 1.0 1985 (наступник цієї версії все ще продається під назвою PowerBASIC іншою компанією). З’являлися різні розширення для домашнього комп’ютера які підтримував Бейсік, наприклад, графіка, звук і DOS команди, а також засоби для структурного програмування. Інші мови програмування використовували широко відомий синтаксис мови Бейсік в якості основи для перенесення на інші операційні системи, у якості прикладу можна згадати GRASS.

Однак у другій половині 1980-х років нові комп’ютери були набагато складнішими і мали безліч можливостей (наприклад, графічні інтерфейси користувача), що робило BASIC все менш і менш підходящим для програмування. У той же час комп’ютери прогресують від інструменту любителів до інструменту професіоналів. Персональні комп’ютери починають використовуватися в основному для виконання додатків, написаних іншими людьми, і програмування в цілому стає менш важливою складовою для швидко зростаючого числа простих користувачів. БЕЙСІК почав зникати, хоча численні версії залишилися доступними.

Тяжке становище БЕЙСИКА змінюється з появою Visual Basic від Microsoft. Хоча вже досить важко розглянути в цій мові класичний BASIC (незважаючи на використання в назві знайомих слів BASIC), але цей новий став одним з найбільш часто використовуваних мов на платформі Windows. Не забудемо згадати, що програми, написані на цій мовою являють собою приблизно 70 до 80% всіх комерційних додатків. Visual Basic для додатків (VBA) був доданий в Microsoft Excel 5.0 в 1993 році і включений у всю лінійку продуктів Microsoft Office в 1997 році. У Windows 98 з’явився транслятор VBScript. Остання версія Visual Basic називається VB.NET. OpenOffice Suite включає в себе варіант BASIC менш потужний, ніж його колега MS.

Мова

Синтаксис

Оператор логічного завершення рядка це переклад на новий рядок, якщо тільки не зустрівся оператор перенесення логічної рядка наступної за допомогою символу продовження рядка. Мінімальний синтаксис Бейсика: LET, PRINT, IF і GOTO команди. Інтерпретатор, який запускає програму з цим мінімальним синтаксисом не потребує стеку, тому що деякі ранні реалізації мікрокомп’ютерів були настільки простими. Якщо додати стек, то можуть бути додані цикли і команди GoSub. Інтерпретатору BASIC для роботи з цими функціями необхідно мати код номери рядків.

Номери рядків були відмітною особливістю класичного BASIC для домашнього комп’ютера. На жаль, використання номерів рядків має великий недолік, який вимагає від програміста чуття на те, скільки рядків у програми, оскільки основними командами був перехід до номера рядка. А у разі внесення змін або доповнень у більш пізніх версіях програми, номери цих рядків починали змінюватися, що призводило до необхідності зміни майже всієї програми. Для вирішення даний проблеми використовувалися хитрі прийоми, які скажімо свідчили, що треба нумерувати рядки з запасом і крок становив +10. Але все одно це не рятувало в разі серйозних модифікацій програми. Щоб вирішити цю проблему з ранніми трансляторами BASIC, досвідчені користувачі скоро написали свої власні утиліти для перенумерації рядків вихідного коду програми. Деякі транслятори БЕЙСИКА, які з’явилися пізніше, мали вбудовану команду зміни нумерації рядків, тим самим усуваючи найбільш актуальну проблему з номерами рядків.

Сучасні діалекти BASIC відмовилися від нумерації рядків, і більшість реалізацій підтримують структурні керуючі оператори, які використовуються у відомих мовах, таких як Сі або Паскаль як відомо і в інших мовах, таких як C, Pascal (хоча і залишаються версії, де поєднано структурне управління та нумерація рядків):

  • do — loop — while — until — exit
  • on x goto / gosub (switch & case)

Останні варіанти, такі як Visual Basic ввели можливість об’єктно-орієнтованого програмування, і навіть спадкування в останній версії. Управління пам’яттю в останній реалізації набагато легше, ніж у багатьох інших процедурних мовах програмування з-за того, що зазвичай включений збирач сміття (який самостійно очищає пам’ять і видаляє непотрібні дані).

Різноманітність варіантів мови показує, що мова має «органічний» характер і що ця мова може розглядатися як субкультура в комп’ютерному світі, а не як фіксований набір синтаксичних правил. Те ж саме відноситься і до інших «старим» мов програмування, таким як COBOL і FORTRAN. Величезна кількість професіоналів в ІТ індустрії, які володіють БЕЙСІКОМ, можна пояснити тим, що основна маса відточувала зуби в програмуванні в 80-х роках, роки популярності Бейсика.

Процедури і управління потоком

Basic не має стандартних зовнішніх бібліотек, як інші мови, такі як Сі. Замість цього транслятор (або інтерпретатор) містить велику вбудовану бібліотеку власних процедур. Ці процедури включають в себе більшість інструментів, з допомогою яких програміст повинен навчитися програмуванню і писати прості програми, включаючи математичні функції, введення та виведення рядків на консоль, графіки і обробка файлів.

Деякі діалекти BASIC не дозволяють програмістам писати свої власні процедури. Програмісти повинні замість цього писати свої програми з великою кількістю GOTO заяв для розгалуження. Це може призвести до дуже заплутаного вихідного коду, який зазвичай називають код спагетті. GoSub оголошує прості види підпрограм без параметрів або локальних змінних. Більшість сучасних версій BASIC, таких як Microsoft QuickBASIC додали підтримку повних підпрограм і функцій. Це ще одна область, в якій ця мова відрізняється від багатьох інших мов програмування. BASIC, як Паскаль, робить відмінність між процедурою, яка не повертає значення (так звані підпрограми) і процедури, які повертають значення (називається функція). Багато інших мов (зокрема, C) не роблять відмінності і називають всі функціями (хоча деякі функції повертають «порожні» значення і є процедурами-подпрограммами).

Типи даних

БЕЙСІК добре відомий своєю відмінною функцією обробки рядків. Вже в перших діалектах було безліч фундаментальних функцій (LEFT$, MID$ і RIGHT$) для простої обробки рядків. Так як рядки часто використовуються в повсякденних додатках, то це було значну перевагу перед іншими мовами в момент появи мови.

Оригінальний Дартмут BASIC підтримує тільки числові і рядкові типи даних. У мові не було цілого типу даних, замість цього передбачалося описувати всі числа з допомогою змінних з плаваючою точкою (весщественный тип). Рядки були динамічної довжини. Підтримувалися масиви, а також матриці (двовимірні масиви).

У кожному сучасному діалекті BASIC принаймні є цілі і рядкові типи даних. Типи даних, як правило, відрізняються наступним: рядкові ідентифікатори містять в кінці $, а цілих немає. У деяких діалектах, змінні повинні бути оголошені до першого використання, в інших діалектах не вимагають цього, але є можливість перевірити його виконання цього правила, для цього використовують директиви, такі як Option Explicit. Багато діалекти також мають підтримку додаткових типів, такі як 16 і 32-розрядних цілих чисел і чисел з плаваючою точкою. Крім того, деякі дозволяють визначати користувальницькі типи даних, схожі на Pascal «записи», або «структури».

Більшість основних діалектів також підтримує масиви цілих чисел або інших типів. У деяких, масиви повинні бути зумовленими, перш ніж вони можуть бути використані з заявою DIM). Підтримка двох і багатовимірних масивів, а також масиви цілих типів, є звичайною справою.

DIM myIntArray (100) AS INTEGER

DIM myNameList (50) AS STRING

В залежності від діалекту BASIC і по використанню Option Base, значення можуть коливатися від myIntArray (0) до myIntArr (100), від myIntArr (1) до myIntArr (100) або з myIntArray (LowInteger) в myIntArray (HighInteger), іншими словами номер першого елемента може починатися з нуля або одиниці.

Реляційні та логічні оператори

= Дорівнюють

<= менше або дорівнює

not логічне заперечення

Не дорівнює

>= більше або дорівнює

and логічне множення

< Менше

or логічне додавання

> Більше

Зверніть увагу, що немає лексичного відмінності між оператором рівності і оператором присвоювання в Бейсіку — це знак «=»)

Доступність і варіанти діалектів

Basic доступний практично для будь-якої платформи мікропроцесорів. Є вільний інтерпретатор мови, сумісний зі стандартами і крос-платформний Байуотер BASIC (bwBASIC). Інтерпретатор написаний на C і поставляється під ліцензією GNU. Він призначений для текстової консолі програми, і як такий не включає інструменти для створення графічного інтерфейсу користувача (GUI). Безкоштовний Бейсік, який не включає GUI Builder, схожий на Visual Basic і працює на Windows і Linux — це Phoenix Object Basic.

найвідоміші версії — це компилируемая версія Microsoft Quick BASIC і QBASIC версія, яка не створює автономні програми. Деякі версії Visual Basic також можуть компілюватися в машинний код. Microsoft зберегла в Visual Basic мінімальну сумісність навіть з ранніми версіями.

Інші версії включають мова програмування PowerBASIC від компанії PowerBASIC, а також True BASIC від компанії True BASIC, які сумісна з останніми офіційними стандартами для BASIC. Компанія True BASIC була заснована одним з творців Дартмут BASIC.

REALbasic це варіант для Apple Macintosh, яка також створює виконувані файли для Microsoft Windows. PureBasic являє варіант з простим синтаксисом, але який виробляє швидкі і крихітні виконувані файли для Windows і Linux. SmallBASIC це діалект, який працює на багатьох платформах (Win32, DOS, Linux і PalmOS) і поставляється під ліцензією GNU (GPL).

Короткий опис статті: мова програмування Мова програмування Basic Бейсік Мова програмування Basic Бейсік для початківців чайників програміст програма

Джерело: Мова програмування Basic Бейсік

Також ви можете прочитати