Бизнес-контекст
романтическая эпоха хакеров закончилась, когда стоимость поддержки кода превысила стоимость его написания, а IBM научила мир продавать воздух (софт) отдельно от железа.
МОДУЛЬ 2. Битва за дисциплину и Эра Мейнфреймов (1960s — 1980s)
Слоган: «От искусства к индустрии: Как деньги заставили код подчиняться».
2.1. UNIX и C: Экономия на сложности
Как провал многомиллионного проекта научил нас делать маленькие и простые вещи.
А. Бизнес-крючок: Крах «Звезды Смерти» (Multics)
- Проблема (Overengineering): Середина 60-х. Bell Labs, GE и MIT объединяют бюджеты, чтобы создать идеальную ОС — Multics. Это классический «долгострой». Проект пожирает ресурсы, тонет в бюрократии и сложности, не выдавая результата.
- Решение (MVP): Кен Томпсон и Деннис Ритчи, оставшись без бюджета и мощных компьютеров, находят старый PDP-7. Они пишут UNIX — систему, которая делает минимум, но работает быстро.
- Наследие (Микросервисы): Вместо монолитов они придумывают Пайпы (Pipes). Экономически выгоднее соединить три дешевые программы (
cat | grep | sort), чем писать одну дорогую и сложную.
Б. Язык C: Борьба с CapEx (Капитальными расходами)
- Проблема (Vendor Lock-in): Раньше софт писали на Ассемблере. Это намертво привязывало компанию к «железу». Купили новый компьютер? Выбрасывайте весь код и пишите заново. Это колоссальные убытки при обновлении парка машин.
- Решение (Портативность): Деннис Ритчи создает язык C.
- Экономический эффект: «Write once, compile anywhere». Код стал активом, который можно переносить с машины на машину. Это снизило стоимость разработки софта в разы и сделало UNIX стандартом де-факто.
2.2. Интерлюдия «Цена ошибки»: Apollo vs Shuttle
Два подхода к управлению рисками: «Бюджет не важен» против «Оптимизации костов».
А. Apollo 11: Асинхронность ради выживания
- Проблема (Политика/Риск): Холодная война. Цена провала миссии — национальный позор США. Бюджет неограничен. Главная цель — не прервать миссию.
- Решение (Resilience): Маргарет Гамильтон проектирует софт с приоритетами. Когда радар стыковки (из-за аппаратного сбоя) завалил процессор мусором, система убила процесс радара, чтобы спасти процесс посадки.
- Наследие: Принципы Cloud Native (устойчивость к сбоям) родились здесь.
Б. Space Shuttle: Золотой код IBM
- Проблема (Безопасность vs Стоимость): Шаттл — это пилотируемый кирпич. Ошибка в коде гарантированно убивает экипаж и уничтожает корабль за $2 млрд.
- Решение (Cleanroom Engineering): Харлан Миллс (IBM) внедряет метод «Чистой комнаты». Код пишут как математическое доказательство. Тестирование (запуск) запрещено до финала.
- Цена прогресса (Реальность): Стоимость строки кода достигла $1,000 (в ценах 80-х!).
- Вывод: Бизнес (Microsoft, стартапы) отверг этот путь. Это слишком дорого. Индустрия выбрала путь «Быстро и дешево» (Time-to-market), согласившись на баги и патчи.
2.3. Алгоритмический фундамент: Время — Деньги
Как математики спасали бюджеты корпораций.
А. Эдсгер Дейкстра: Война со спагетти-кодом
- Проблема (Стоимость поддержки): Программисты 60-х писали с помощью
GOTO(прыжки по коду). Получалась «лапша». Когда автор кода увольнялся, компании приходилось выбрасывать код, потому что новый сотрудник не мог в нем разобраться. OpEx на поддержку зашкаливал. - Решение (Структура): Дейкстра объявляет войну хаосу («GOTO considered harmful»). Внедрение циклов и функций.
- Экономический эффект: Код стал инженерной конструкцией. Его стало возможно поддерживать и масштабировать силами дешевых джуниоров.
Б. Дональд Кнут: Бюджетирование ресурсов
- Проблема: Машинное время мейнфрейма стоило $500 в час. Если программист выбирал плохой алгоритм сортировки, программа работала всю ночь, сжигая бюджет отдела.
- Решение: Кнут вводит Big O Notation
- Результат: Программирование превратилось из магии в экономику ресурсов.
2.4. Империя IBM: Рождение рынка софта
Как антимонопольный суд случайно создал индустрию ПО.
А. System/360: Ставка на $5 миллиардов
- Проблема (Фрагментация): До 1964 года каждая модель компьютера была уникальной. Клиенты боялись покупать новые машины, так как старый софт на них не работал. Продажи буксовали.
- Инвестиция (Риск): Томас Уотсон-младший тратит $5 млрд (больше Манхэттенского проекта) на создание семейства совместимых компьютеров.
- Результат: Vendor Lock-in. Клиент, купивший IBM однажды, остается с ней навсегда, так как весь его софт привязан к платформе 360.
Б. Unbundling (Великое разделение 1969 года)
- Ситуация: IBM продавала компьютеры за $1 млн, а софт давала «в нагрузку» бесплатно. Конкуренты жаловались в антимонопольный комитет.
- Решение: Чтобы избежать суда, IBM разделяет ценники. Железо — отдельно, Софт — отдельно.
- Бизнес-рождение: В этот момент родилась индустрия ПО. Стало возможным создать компанию (как позже Microsoft или Oracle), которая не производит ничего физического, но стоит миллиарды.
Стратегия FUD
- Вопрос: Почему технически совершенные конкуренты проигрывали IBM?
- Ответ (Психология продаж): IBM придумала FUD (Fear, Uncertainty, Doubt).
- Продавцы IBM не говорили: «Наш компьютер быстрее».
- Они говорили директору завода: «А вы уверены, что этот дешевый конкурент не обанкротится через год? Вы готовы рискнуть своей карьерой ради экономии бюджета компании?»
- Вывод: В корпоративном сегменте (Enterprise) надежность и бренд важнее, чем инновации и скорость работы. Фраза «Никого еще не уволили за покупку IBM» определила развитие IT на 20 лет.