Лондонский музей науки представил несколько интересных новых экспонатов в рамках выставки Codebreaker, которые демонстрируют три ключевые идеи в программировании — циклы, условные выражения и переменные.
Все экспонаты были построены Hirsh & Mann, и цель заключалась в том, чтобы создать что-то, связанное с прогрессом в вычислительной технике и духом инженерии и инноваций. Как оказалось, они выбрали три инсталляции, демонстрирующие то, что команда по праву называет ключевыми принципами программирования.
Если вы спросите работающего программиста, каковы три ключевых принципа программирования, вы, вероятно, получите что-то об инкапсуляции, наследовании или о чем-то еще, что было последней тенденцией в области языков высокого уровня. Спросите компьютерного ученого, и он, вероятно, будет болтать о теории рекурсивных функций. Другими словами, сложно получить осмысленный ответ от людей, слишком близких к предмету обсуждения.
Но если вы сосредоточитесь на том, что такое программирование и что отличает его от других предметов, на самом базовом уровне, то идея переменной, цикла и условного оператора являются ключевыми примитивами.
В основе каждого экспоната находилась Arduino — так что здесь нет 74 случайных логических микросхем TTL.
В одном из них есть вращающийся ротор со светодиодами, которые создают постоянство видеосигналов, которыми посетители могут управлять с помощью 20 кнопок.
Условное отображение представляет собой версию клеточного автомата Вольфрама, в которой пользователь может устанавливать правила.
Экспонат о переменных представляет собой механическое дерево с ползунками для изменения углов.
Умная и, возможно, смелая часть в наш век тупых разговоров заключается в том, что на центральном дисплее есть упрощенный псевдокод, который выделяет текущую выполняемую строку.
Если вы не можете попасть на выставку, посмотрите следующее видео, в котором показаны некоторые детали строительства:
Все это очень весело и очень впечатляюще, но я не уверен, что согласен с тем, что они передают основную концепцию невиновному зрителю. Возможно, этого невозможно достичь увлекательным и увлекательным способом? Не могли бы вы придумать что-нибудь получше?