Многие знают что до языка C++ был язык C, который, в свою очередь, вырос из языка B.
Выглядит он, надо сказать, довольно забавно с точки зрения C++ программера. Почитать про него можно тут на сайте bell labs. Почти все фичи присутствуют в C++, но есть некоторое количество всяких смешных нюансов:
-
типов в нем не было. то есть
auto i; i = 3;
это не C++09, как думают некоторые, это B :) -
конструкции for там тоже не было. Был только while.
-
зато тернарный оператор ?: уже был
-
массив v[10] содержал 11 элементов с индексами от 0 до 10. Видимо эта фича как-то в генетической памяти записана, не знаю как можно иначе объяснить количество ошибок с доступом к одиннадцатому элементу в C++
-
в качестве escape-character использовался *, а не \. То есть "hello world*n" вместо "hello world\n"
-
да, и сама фраза "hello, world" впервые появилась именно в туториале к B (ну то есть стопроцентно, конечно, тут сложно утверждать, но похоже на то)
*барабанная дробь* Исходник:main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar(’!*n’); } a ’hell’; b ’o, w’; c ’orld’;
2 comments:
Весьма занятная статья. А что за ошибки в С++ при попытке доступа к 11 элементу массива?
Ну как.... объявили десять элементов (с нулевого по девятый включительно), а обращаются к одиннадцати (с нулевого по десятый).
Post a Comment