B (мова програмування)
В (Бі) (друга буква лат. алфавіту — B) — інтерпретована мова програмування, розроблена в AT&T Bell Telephone Laboratories. Вона є нащадком мови BCPL та попередником C (Сі). Мова B була розроблена Кеном Томпсоном та Деннісом Рітчі і вперше презентована в 1969 році. На неї сильно вплинула BCPL, і назва цієї мови, ймовірно, є скороченням від BCPL. Також, можливо, що назва походить від мови Bon, більш ранньої, але не зв'язаної з Бі мови, яку Томпсон розробив для використання в Multics. Назва ж Bon походить або від імені дружини Томпсона Bonnie, або від назви старотібетської релігії Бон. ІсторіяКен Томпсон розробив Бі ґрунтуючись головним чином на мові BCPL, яку Томпсон використовував у проекті Multics. По суті, Бі була версією BCPL, позбавленою деяких компонентів, без яких, як вважав Томпсон, можна не виходити за об'єм пам'яті, встановлений на мінікомп'ютерах того часу. Перехід від BCPL до Бі також містив зміни у напрямку зменшення кількості непробільних символів в типовій програмі. Велика частина типового ALGOL-подібного синтаксису BCPL була вагомо змінена протягом цього процесу. Наприклад, оператор Томпсон запозичив арифметичні оператори присвоювання для Бі, використовуючи синтаксис В Бі не існує типів даних, або, точніше, він лише один: комп'ютерне слово. Більшість операторів (наприклад, Початково Бі було розроблено для мінікомп'ютерів DEC PDP-7 та PDP-11, на яких працювали ранні версії Unix. Кен Томпсон написав перший компілятор за допомогою мови програмвання TMG. Оскільки компілятор Бі використовував техніку нитевого коду (аналогічну сучасному байткоду), програми на Бі працювали повільно.[1][2][3] Згодом покращенням швидкості Бі зайнявся Річі.[4] Безтиповий характер Бі був природним на PDP-7 і багатьох інших старих комп'ютерах, які не могли адресувати окремий байт, але на PDP-11 з'являлися проблеми, оскільки було важко отримати доступ до символьних типів даних, які PDP-11 повністю підтримував. Починаючи з 1971 Річі вніс зміни в мову при роботі компілятора та при переведенні у машинний код, в першу чергу, додавши типи даних для змінних. Протягом 1971 і 1972 Бі перетворилася на «New-B» (NB) («Нова-В»), а потім Сі. Бі продовжують використовувати (станом на 2014) на GCOS[en] мейнфреймах[5] і на деяких вбудованих системах, зважаючи на ряд причин, у тому числі через обмежену апаратну частину в невеликих системах; великі бібліотеки, інструменти, питання вартості ліцензій; та просто через достатньо хорошу роботу.[6] Вельми впливова AberMUD[en] була спочатку написана на Бі. Зараз Бі майже зникла через витіснення її наступником — мовою Сі. Приклади// даний приклад рахує суму трьох послідовних цілих чисел
main() {
auto a, b, c, sum;
a = 1; b = 2; c = 3;
sum = a+b+c;
putnumb(sum);
}
Наступний приклад взятий з Users' Reference to B Кена Томпсона:[7] /* наступна функція буде друкувати невід'ємне число n, з
основою b, де 2<=b<=10. Ця процедура використовує той факт, що
в наборі символів ASCII, цифри від 0 до 9 мають послідовні
значення кодів. */
printn(n, b) {
EXTRN putchar;
auto a;
if (a = n/b){ /* призначення, а не тест на рівність */
printn(a, b); /* рекурсія */
putchar(n % b + '0');
}
Примітки
Посилання
Див. також |
Portal di Ensiklopedia Dunia