B
- Русское название:
- Би
- Дата создания:
- 1969
- Создан под влиянием:
- Повлиял на:
- Парадигма:
- Типизация:
- Принятые расширения файлов:
- .b
- Реализации и версии (свернуть все | развернуть все):
B — интерпретируемый язык программирования для мини-компьютеров, прямой потомок BCPL и предшественник C.
Язык B был разработан в AT&T Bell Telephone Laboratories и опубликован в 1969 году. Главным разработчиком языка был Кен Томпсон, содействие разработке оказывал Денис Ритчи. Позднее Стивен Джонсон (Stephen C. Johnson) значительно улучшил авторскую версию языка и добавил библиотеки.
Язык B создан в первую очередь для системного программирования, а не для решения вычислительных задач. Он был проще и удобнее в использовании, чем Assembler, но в то же время генерировал почти столь же эффективный код.
B очень похож на BCPL, сделанный более лаконичным за счет сокращения или удаления всех элементов, которые Кен Томпсон счел лишними или громоздкими. Руководство пользователя языка часто сравнивает его с Fortran, видимо, из-за большей популярности последнего и из-за встроенных возможностей взаимодействия с программами на Fortran.
Единственный тип данных в языке B — слово; большинство операторов трактуют его как целое число, но в некоторых оно используется как адрес ячейки памяти. Также переменные можно трактовать как символы, инициализировать их символьными константами и т.д. Чисел с плавающей точкой в языке нет; важной частью языка являются восьмеричные числа (запись такого числа начинается с 0).
Программы состоят из наборов функций, одна из которых, main
, вызывается при запуске программы; завершение выполнения main
завершает программу. Переменные могут быть объявлены как auto
(локальные в пределах одной функции) и extrn
(глобальные, объявляются и инициализируются за пределами функций). Переменные бывают скалярными и векторными (одномерные массивы постоянного размера). Строки — это векторы символов.
Язык включает в себя небольшой набор библиотек, в том числе C-подобные функции ввода-вывода, работы с файлами, манипуляции со строками, и стоящую особняком функцию callf
, позволяющую вызвать функцию Fortran.
B использовался в ранних Unix-системах, на миникомпьютерах DEC PDP-7 и PDP-11, а также на мейнфреймах Honeywell под управлением операционной системы GCOS. Позднее в Unix-системах его вытеснил C, и в настоящее время интерпретатор языка существует только для ОС GCOS8.
Элементы синтаксиса:
Комментарии, которые не могут быть вложенными | /* ... */ |
---|---|
Регистрозависимость | да (нижний регистр для ключевых слов) |
Присваивание значения переменной | <varname> = <value> |
Объявление переменной | auto <varname> или extrn <varname> |
Объявление переменной с присваиванием значения | <varname> <value> |
Блок | { ... } |
Равенство | == |
Неравенство | != |
Сравнение | < > <= >= |
Определение функции | <name>(<arguments>) <statement> |
Вызов функции | <name>(<arguments>) |
Вызов функции без параметров | <name>() |
Последовательность | ; |
Если - то | if (expression) statement |
Если - то - иначе | if (expression) statement else statement2 |
Бесконечный цикл | while (1) statement |
Цикл с предусловием | while (expression) statement |
Ссылки:
Примеры:
Hello, World!:
Пример для версий H6070 BПример из “A tutorial introduction to the language B”, написанного Керниганом. Демонстрирует использование и инциализацию глобальных переменных.
main( ) {
extrn a, b, c;
putchar(a);
putchar(b);
putchar(c);
putchar('!*n');
}
a 'Hell';
b 'o, W';
c 'orld';
Комментарии
]]>blog comments powered by Disqus
]]>