Помните, когда компьютер занимал целую комнату и для его включения требовалась учёная степень? Пристегнитесь, мы отправляемся в дикое путешествие по истории вычислений, которое заставит вас по-новому взглянуть на смартфон в вашем кармане – устройство, которое, кстати, обладает большей вычислительной мощностью, чем машины, отправившие человека на Луну. Давайте окунёмся в увлекательный путь от монстров с мигающими лампочками до сегодняшних изящных кремниевых волшебников.

Рассвет персональных компьютеров: когда гиганты стали настольными

История персональных компьютеров началась не с громкого баха – она началась с комплекта в коробке, который заставлял взрослых инженеров плакать от разочарования и радости. Altair 8800, выпущенный в 1975 году, был по сути дедом всех ПК, хотя называть его «персональным» было всё равно что называть танк Tiger «компактным транспортным средством». Этот зверь поставлялся в виде комплекта за 439 долларов (около 2400 долларов в сегодняшних деньгах – ой!), и если вам удавалось собрать его, не получив удара током, поздравляем! Теперь у вас был компьютер, который мог… ну, мигать лампочками в определённом порядке. Программирование его означало переключение тумблеров в двоичном коде, что было примерно так же удобно, как делать операцию в кухонных перчатках.

; Пример раннего ассемблерного кода для Altair 8800
; Эта простая программа заставляла мигать светодиодные лампочки
START:  MVI A, 0FFH    ; Загрузить аккумулятор единицами
        OUT 0          ; Вывод на порт 0 (LED)
        CALL DELAY     ; Вызов подпрограммы задержки
        MVI A, 000H    ; Загрузить аккумулятор нулями
        OUT 0          ; Вывод на порт 0 (LED)
        CALL DELAY     ; Вызов подпрограммы задержки
        JMP START      ; Перейти к началу
DELAY:  MVI B, 0FFH    ; Загрузить регистр B значением задержки
LOOP:   DCR B          ; Уменьшить B
        JNZ LOOP       ; Если не ноль, цикл
        RET            ; Возврат к вызывающей подпрограмме

Но вот где становится интересно – из этого скромного ящика выросла целая индустрия. Микропроцессорная революция 1970-х началась, и вдруг компьютеры перестали быть уделом только правительств и мегакорпораций.

Святая Троица 1977 года: когда вычисления стали реальными

Если 1975 год был зачатием, то 1977 год определённо стал годом рождения практичных персональных компьютеров. В том году появились три машины, позже названные «Троицей» журналом Byte: Apple II, Commodore PET 2001 и Radio Shack TRS-80.

timeline title Хронология эволюции ПК 1975 : Комплект Altair 8800 : Переключатели : Мигающие лампочки 1977 : Apple II : Commodore PET : TRS-80 1981 : IBM PC 5150 : MS-DOS : Промышленный стандарт 1985 : Windows 1.0 : Революция GUI 1990s : Портативные компьютеры : Мультимедийные ПК : Эра интернета 2000s : Многоядерные процессоры : Гигабайты ОЗУ : Стандарт WiFi

Apple II: Переломный момент

Стив Возняк, стоящий за кулисами (пока Джобс занимался маркетинговой магией), создал нечто революционное с Apple II. В отличие от своих предшественников, это был не просто компьютер – это была полная система, которую можно было реально использовать без инженерного образования. Вот что делало его особенным:

  • Цветная графика (революция для домашних компьютеров)
  • Встроенный интерпретатор BASIC в ПЗУ
  • Слоты для расширения под дополнительные карты
  • Продуманный пластиковый корпус (больше никаких открытых печатных плат) Успех Apple II взлетел в 1979 году, когда VisiCalc, первая революционная программа для электронных таблиц, была выпущена эксклюзивно для этой платформы. Внезапно у бизнеса появилась причина покупать эти «игрушечные компьютеры». К 1985 году было продано более 2,1 миллиона Apple II, и платформа продолжала существовать до 1993 года.
10 REM Пример программы на Apple II BASIC
20 PRINT "ДОБРО ПОЖАЛОВАТЬ В БУДУЩЕЕ ВЫЧИСЛЕНИЙ!"
30 FOR I = 1 TO 10
40 PRINT "СЧЕТЧИК: "; I
50 NEXT I
60 INPUT "КАК ВАШЕ ИМЯ? "; N$
70 PRINT "ПРИВЕТ, "; N$; "!"
80 END

Революция IBM: когда Big Blue изменила всё

Затем наступил 1981 год, и IBM выпустила бомбу, которая изменила всю индустрию. IBM Personal Computer Model 5150 был не просто ещё одним компьютером – это был компьютер, который сделал «ПК» общеупотребительным термином. Работая на процессоре Intel 8088 с тактовой частотой 4,77 МГц и операционной системе Microsoft MS-DOS, IBM PC установил стандарт, который будут клонировать бесчисленные производители. Это было не случайно; открытая архитектура IBM означала, что другие компании могли создавать совместимые машины, создавая экосистему, которую мы знаем сегодня.

Настройка вашего IBM PC: опыт 1981 года

Если вам посчастливилось приобрести IBM PC в 1981 году (стартовая цена 1565 долларов – около 5200 долларов сегодня), вот как выглядел бы процесс настройки:

  1. Распакуйте свою массивную бежевую башню (и я имею в виду массивную – эти штуки были как танки)
  2. Подключите монохромный монитор (зелёный текст на чёрном фоне был верхом изысканности)
  3. Вставьте дискету с MS-DOS (да, всего одна дискета содержала всю операционную систему)
  4. *Запустите и поражайтесь приглашению C:*
C:\>DIR
Том в диске C не имеет метки
Каталог C:\
COMMAND  COM      25307  03-08-83  12:00p
CONFIG   SYS        128  03-08-83  12:00p
        2 Файла(ов)   1234567 байт свободно
C:\>

Влияние IBM PC было глубоким. Он превратил вычисления из «скрытой тайны для большинства» в нечто полезное и практичное для всех.

Революция графического интерфейса: Windows меняет правила игры

Вычисления совершили ещё один огромный скачок вперёд в 1985 году, когда Microsoft выпустила Windows 1.0. Больше никаких загадочных командных строк – ну, в основном. Графический пользовательский интерфейс (GUI) сделал компьютеры доступными для людей, которые не хотели запоминать команды DOS. Windows 95, выпущенная в 1995 году, стала настоящим переломным моментом. Она представила меню «Пуск» и панель задач – функции настолько интуитивно понятные, что они до сих пор являются основой для ПК с Windows. Внезапно ваша бабушка могла пользоваться компьютером, не звоня вам каждые пять минут.

Программирование для ранних версий Windows

Раннее программирование для Windows было… давайте назовём это «строительством характера». Вот упрощённый пример того, что требовалось всего лишь для создания базового окна:

#include <windows.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                   LPSTR lpCmdLine, int nCmdShow) {
    const char* CLASS_NAME = "Sample Window Class";
    WNDCLASS wc = {};
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    RegisterClass(&wc);
    HWND hwnd = CreateWindowEx(0, CLASS_NAME, "Моё первое окно",
                               WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
                               640, 480, NULL, NULL, hInstance, NULL);
    if (hwnd == NULL) return 0;
    ShowWindow(hwnd, nCmdShow);
    MSG msg = {};
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
    switch (uMsg) {
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
        case WM_PAINT:
            {
                PAINTSTRUCT