null

Будущее программирования: четыре смелые идеи из 60-х, которые меняют наш цифровой мир сегодня

В 60-е и 70-е годы прошлого века, когда компьютерная наука только зарождалась, в ней не было правил. Не было стандартов, догм или «единственно верных» подходов. Были только чистые листы и смелые умы, готовые пробовать всё, что приходило в голову. Именно в этом творческом хаосе родились концепции, которые до сих пор определяют траекторию развития программирования.

Когда незнание было преимуществом

Современному разработчику, окружённому фреймворками, паттернами и best practices, трудно представить то время. Не было React, не было Kotlin, не было даже объектно-ориентированного программирования в его нынешнем виде. И именно эта свобода от «как надо» породила самые революционные идеи.

Автор выступления «The Future of Programming» Виктор Брет выделяет четыре такие идеи, каждая из которых казалась фантастикой, но сегодня находит своё воплощение в самых передовых технологиях.

Рисовать, а не кодить: прямая манипуляция структурами данных

1963 год. Айван Сазерленд демонстрирует Sketchpad -- систему, где вы рисуете линии световым пером прямо на экране, а компьютер не просто сохраняет картинку, а понимает её как структуру данных. Вы задаёте две точки -- получаете отрезок. Меняете одну точку -- отрезок перерисовывается автоматически.

Тогда это было чудо. Сегодня -- обыденность. Системы автоматизированного проектирования (CAD) вроде AutoCAD, Figma, инструменты для создания интерфейсов позволяют нам работать не с кодом, а с визуальными объектами. Современный дизайнер или инженер абстрагирован от битов и байтов -- он манипулирует понятными сущностями: кнопками, формами, деталями механизмов.

Суть идеи: замена написания инструкций на прямое взаимодействие с данными.

Говорить «что», а не «как»: цели вместо процедур

Традиционное программирование -- это рецепт. Шаг 1, шаг 2, шаг 3... Но что если вместо алгоритма описывать только желаемый результат и ограничения?

В 60-е это была теория. Сегодня -- это искусственный интеллект и машинное обучение. Мы не пишем код для распознавания лиц -- мы показываем нейросети тысячи изображений и говорим: «научись находить лица». GitHub Copilot не исполняет наш алгоритм -- он, анализируя контекст, генерирует код, который решает поставленную задачу.

Программирование эволюционирует от написания инструкций к формулированию задач. Декларативный подход к написанию кода становится все более и более популярным, а prompt engineering становится новой грамотностью разработчика.

Видеть, а не читать: пространственное представление кода

Текст -- линейный и последовательный. Но многие системы -- нелинейны и многомерны. Почему бы не представлять программу не как список строк, а как схему, граф, диаграмму?

Smalltalk в 70-х предложил мир объектов, которые можно «видеть» и с которыми можно «разговаривать». Сегодня LabVIEW даёт инженерам инструмент, где программа собирается из графических блоков, как конструктор. No-code/low-code платформы позволяют создавать бизнес-логику через перетаскивание элементов.

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

Истинный параллелизм

Архитектура фон Неймана, основа всей современной вычислительной техники, по сути, очередь: одна инструкция за другой. Да, мы научились хитрить -- появились многопоточность, superscalar, GPU, распределённые системы… Но это всё ещё параллелизм, построенный на общей памяти и блокировках.

Однако существуют концепции, в свою очередь подразумевающие принципиально новый уровень параллелизма, где процессы взаимодействуют друг с другом не через общую память, используя потоки и блокировки, а напрямую, и каждый процесс может реагировать на информацию, полученную от другого процесса. Эта концепция может быть представлена моделью акторов. Программы для устройств, использующих такой уровень параллелизма, сильно бы отличалось от тех, которые используют общую память. Но такой подход обладает гораздо большим потенциалом с точки зрения производительности.

За горизонтом: квантовый скачок

К идеям Брета хочется добавить ещё один, принципиально новый рубеж -- квантовые вычисления. Здесь программист должен мыслить не битами (0 или 1), а кубитами, которые могут быть и 0, и 1 одновременно (суперпозиция). Нужно учитывать квантовую запутанность и вероятностную природу результатов.

Это программирование, где разработчик -- ещё и физик. Где отладка -- это искусство, потому что любое измерение меняет состояние системы. Такие компании, как Microsoft, уже создают топологические кубиты для стабильных квантовых систем. Пока это узкоспециализированные инструменты, но они открывают двери в мир, где решаются задачи, невозможные для классических компьютеров.

Самая опасная мысль

Ключевой посыл выступления Виктора Брета удивительно прост и глубок:

Самая опасная мысль для творческого человека -- думать, что ты знаешь, что делаешь.

В 60-е не знали. Поэтому изобретали. Сегодня, погружённые в рутину спринтов, техдолга и бесконечных апдейтов фреймворков, мы рискуем забыть этот дух первооткрывательства.

Будущее программирования рождается не там, где следуют стандартам, а там, где их нарушают. Не там, где оптимизируют существующее, а там, где представляют радикально иное. Возможно, следующая революционная идея уже ждёт своего часа -- не в исследовательском центре гиганта технологий, а в голове того, кто ещё не научился «правильно» мыслить. Кто не боится задать наивный вопрос: «А почему бы не сделать иначе?».

Именно этому духу -- духу 60-х, духу творческого незнания -- нам стоит поучиться. Ведь все сегодняшние «стандарты» когда-то были самыми смелыми идеями на свете.

 

Вперед

Коротко о себе:

Работаю кем-то в компании Tune-it. Занимаюсь какими-то проектами, связанными с чем-то.

Ничего не найдено. n is 0