День программиста
11 сентября 2009 года был подписан Указ, который установил новый праздник – «День программиста». Официально этот день выпадает на 256-й день в году. В високосный год – это 12-е сентября, в невисокосный – 13-е сентября. 2026 год не попадает ни под какие исключения, поэтому в этом году программисты отмечают свой профессиональный праздник 13-го сентября.
Для тех, кто не в курсе, объясняю.
Современные компьютеры в качестве самого минимального объёма хранимой информации используют бит – ячейку, в которой может храниться один из двух вариантов: 0 или 1.
Во времена моего обучения на кафедре Системного программирования ВМК МГУ один из наших преподавателей – Александр Николаевич Томилин рассказывал нам, что он принимал участие в создании экспериментального компьютера, работающего на троичной логике:
- Если в ячейке хранилось значение равное «1», то считалось, что это «истина» (в терминах булевой алгебры);
- Если в ячейке было значение «-1», то это «ложь»;
- Если же в ячейке был записан «0», то считалось, что значение не определено.
Александр Николаевич шутил, что этот компьютер был построен на основе «женской логики», которая оперирует значениями «да», «нет» и «не важно».
Но вернёмся к двоичной логике. Традиционно биты объединяются в ряды. Были разные варианты объединения, но стандартом де-факто стало объединение по 8 бит – сначала такой набор назывался октетом, но потом его стали называть байтом. Есть несколько объяснений, почему выиграло объединение именно по 8 бит в байте. Во-первых, это красиво: 8 – это степень двойки, поскольку 8=222=2^3. Во-вторых, 8 бит могут хранить 256 (2 в 8-ой степени) различных значений – от 00000000 до 11111111. Такого количества комбинаций достаточно для того, чтобы можно было записать любой ASCII символ, а также использовать старший бит для контроля чётности.
Впоследствии байты стали объединять: два байта – основа для 16-битной архитектуры, четыре – для 32-битной, восемь – для 64-битной.
Помню, как в детстве в одном из подписных журналов того времени я прочитал рассказ про удивительное путешествие Пети внутрь компьютера: там он познакомился с его устройством. Тогда мне в память врезалась иллюстрация, как 8 бит всегда шагают рядами по 8 штук, образуя собой байт. Тогда я подумал, что было бы неплохо во всём этом разбираться. Разбираюсь до сих пор, поскольку компьютеры и программное обеспечение к ним стали моей первой профессией.
Так что 256 – это магическое число: количество различных комбинаций, которые могут быть записаны в одном байте.
Всех программистов с нашим профессиональным праздником!!!
P.S. К сожалению, именно той иллюстрации из журнала, на которой биты шагают рядами, я найти не смог, поэтому к посту прикрепил картинку из статьи в журнале той же эпохи.
