Би (язык программирования)

Материал из Википедии ? свободной энциклопедии
Перейти к навигации Перейти к поиску
B
Класс языка процедурный
Тип исполнения интерпретируемый
Появился в 1969
Автор Кен Томпсон , Денис Ритчи : Bell Labs
Система типов статическая
Диалекты внутренний стандарт
Испытал влияние BCPL
Повлиял на C

Би (вторая буква английского алфавита ? B ) ? интерпретируемый язык программирования, разработанный в AT&T Bell Telephone Laboratories . Является потомком языка BCPL и непосредственным предшественником Си . Би был в основном произведением Кена Томпсона при содействии Денниса Ритчи и был опубликован в 1969 году .

На язык B сильно повлиял BCPL, и его название, скорее всего, является сокращением от BCPL. Возможно также, что его название происходят от языка Bon , более раннего, но не связанного с B и весьма несхожего, языка программирования, который Томпсон разработал для использования в Multics . Название последнего, в свою очередь, происходит от имени жены Томпсона Bonnie либо от названия старотибетской религии бон [1] .

Язык B был разработан для рекурсивных , нечисловых, машинно-независимых приложений, таких как программное обеспечение операционных систем и языков программирования . [2] Это был бестиповый язык, с единственным типом данных, который представлял собой естественный формат слова памяти базовой машины, каким бы он ни был. В зависимости от контекста слово обрабатывалось как целое число или адрес памяти .

Поскольку машины с обработкой ASCII -символов были уже обычным явлением, в частности DEC PDP-11 , полученные фирмой Bell, стала важна поддержка символьных данных , помещённых в слова памяти. Бестиповая природа языка B была отмечена как недостаток, который заставил Томпсона и Ритчи разработать расширенную версию языка, поддерживающую новые внутренние и определяемые пользователем типы данных , которая стала языком программирования C (Си) .

  main
()
 
  {

     auto
 a
,
 b
,
 c
,
 sum
;

     a
 =
 1
;
 b
 =
 2
;
 c
 =
 3
;

     sum
 =
 a
+
b
+
c
;

     putnumb
(
sum
);
 
  }

Следующий пример взят из книги ≪ Users' Reference to B ≫ Кена Томпсона:

/* The following function will print a non-negative number, n, to

   the base b, where 2<=b<=10.  This routine uses the fact that

   in the ASCII character set, the digits 0 to 9 have sequential

   code values.  */


printn
(
n
,
 b
)
 {

        extrn
 putchar
;

        auto
 a
;


        if
 (
a
 =
 n
 /
 b
)
        /* assignment, not test for equality */

                printn
(
a
,
 b
);
 /* recursive */

        putchar
(
n
 %
 b
 +
 '0'
);

}

Примечания

[ править | править код ]
  1. Ritchie, Dennis M. The Development of the C Language  // ACM SIGPLAN Notices. ? 1993. ? Март ( т. 28 , № 3 ). ? С. 201?208 . ? doi : 10.1145/155360.155580 . Архивировано 28 марта 2015 года. . ? ≪Its name most probably represents a contraction of BCPL, though an alternate theory holds that it derives from Bon [Thompson 69], an unrelated language created by Thompson during the Multics days. Bon in turn was named either after his wife Bonnie, or (according to an encyclopedia quotation in its manual), after a religion whose rituals involve the murmuring of magic formulas.≫.
  2. Thompson, Ken Users' Reference to B . Bell Laboratories (7 января 1972). Дата обращения: 21 марта 2014. Архивировано 17 марта 2015 года.