Элементы античности

Когда начинаешь копать причины привычек или убеждений, нередко докапываешься до чего-нибудь устаревшего. Вот как бокалами чокаться — делаем, пусть даже яды давно не подсыпаем друг другу. Есть такое и в разработке / компьютерах. Совмещу в одном эссе то, что разбросано по блогу, ну и подбавлю.

Расширение файла в три символа. В 1974 году в свет вышла операционная система CP/M, в которой имя файла могло состоять из восьми символов, точки и трёх символов. Потом пришёл MS-DOS, взявший то же ограничение (как и дисководы A: и B:, кстати). Так и повелось.
80-символьные строки. Самое бесячье, когда начинают впаривать как аксиому. У нас тут давно широкие мониторы и шрифт меняется кеглем, но раз в 1928 году IBM выпустили перфокарты с 80 колонками, давайте продолжать.
QWERTY и ЙЦУКЕН. В 1870-х базовая раскладка латиницы завоевала мир с помощью печатных машинок Ремингтона. Ну а наш ЙЦУКЕН, видимо, «появился» в начале XX века. Если у вас были какие-нибудь фантазии на тему исследований частотности символов, органичности и т.п., то нет, ничего такого. Просто так получилось. А даже если и было, то за почти 150 лет человечество немножко изменилось. Но не раскладки клавиатур.
Байты и биты. Ребёнком меня это здорово удивило и удивление не прошло. До 1964 года в мире был бардак. Количество битов в байте колбасило в зависимости от фантазии производителя конкретного железа. Но тут IBM выкатили IBM System/360 с его 8-битным байтом. Казалось бы, ещё одна машина, и шо? Да, ещё одна. Только ставшая мегапопулярной, завалившая собою рынок, вышедшая на государственные уровни. Потому у нас 8 бит в байте, привет. Будь компьютер менее удачным, могло быть 4 или 16 (думаю, от степени двойки не удрали бы).
Итая, житая, катая. Вы же привыкли для целочисленных переменных использовать имена i, j и k? Так вот, история мутная. В 1954 году появился первый мануал по FORTRAN’у и сказано там буквально следующее:

fortran

Думаю, это и есть то, что повлияло на разработку. А вот на сам FORTRAN, похоже, повлияли обычаи математиков, которые в какой-то мере сформировал Рене Декарт работой La géometrie 1637 года (тут детальнее).

Алголоподобность. Если вам нужен строго один язык, повлиявший на весь мир и приучивший к определённым конструкциям, вам нужен ALGOL. Пусть к концу 50-х далеко не все его элементы были чем-то новым, но вот их совокупность выстрелила далеко и надолго.

algol

Почти все языки, что приходят вам на ум в первую минуту, отнаследованы в итоге от ALGOL. Также лет на 20..30 этот язык стал стандартом de facto для описания алгоритмов в научной литературе (вон на скрине почти всё должно быть вам понятно, а ведь почти 60 лет). Как мне нравится думать, почти всё в программировании придумали в 50..60-х, а мы наблюдаем за волнами разных реализаций одного и того же.

Против goto. Кто не сталкивался, тому повезло, но с 1968 года поднялась волна против goto (заодно и switch достаётся), да такая, что название эссе стало нарицательным в программировании: Considered harmful. Возможно, не будь этого эссе, современные языки (и современные программисты) выглядели бы иначе. А так… круги по воде до сих пор идут. Напоследок напомню, Дейкстра допускал использование goto в машинных кодах [читай “на низком уровне”]:

Later I discovered why the use of the go to statement has such disastrous effects and did I become convinced that the go to statement should be abolished from all «higher level» programming languages (i.e. everything except —perhaps— plain machine code).

Это несколько отличается от привычного у фанатиков полного неприятия, согласитесь.


Во всём этом занятно, как один человек или одна частная контора могут на столетия вбить свой частный выбор. У Петрова зелёный гвоздик, у Иванова красный гвоздик. Петров успел выйти на рынок раньше. Теперь все гвоздики зелёные. И вовсе не обязательно потому, что это особенно удобно и цвет победил в эволюционной борьбе.

Элементы античности: 2 комментария

  1. В пользу короткой строки, ведь её легко окинуть взглядом, без потери информации.

    Относительно ЙЦУКЕН Артемий Лебедев на своём сайте ( http://www.artlebedev.ru/kovodstvo/paragraphs/105/ ) высказывает альтернативную теорию возникновения раскладки QWERTY: она создавалась не для того, чтобы уменьшить частоту залипания литер, а адаптировалась под распространённый в то время ДВУХпальцевый метод набора. Сам же Шоулз (создатель раскладки) никаких заметок на этот счёт, судя по всему, не оставил, поэтому описанная здесь история про литеры может быть только одной из гипотез.

    А так да много пережитков, которые никто не может объяснить кроме – “так принято”.

  2. В копилку элементов античности: имена скрытых файлов в UNIX-подобных системах начинаются с точки. Почему? Потому что программа ls на заре времён отображала вместе со всеми файлами ещё и родительский каталог(..). Томпсону и Ритчи это было неудобно, поэтому они сделали «багофичу», которая в обычном режиме работы программы не отображает в списке файлы, имена которых начинаются с точки. Так появились «дотфайлы».

Добавить комментарий