Я тут как-то недавно упоминал о программируемых калькуляторах и их вычислительных возможностях…

Последнее время возникает стойкое ощущение, что компьютерный мир движется в каком-то неправильном направлении. Программы, функционал которых не так уж и значительно вырос со времен Windows 95, а то и DOS, отъедают львиную долю ресурсов наших компьютеров. А они таковы, что пару-тройку десятков лет назад они могли бы обеспечить вычислительной мощностью крупный НИИ. Ещё и программистам в Тетрис бы осталось поиграть.

Поневоле возникает вопрос, куда всё катится? Понятно, что производители «железа» идут в одной упряжке с производителями ПО – новая операционная система непременно требует увеличения памяти, жесткого диска, скорости и разрядности процессора, а новые игрушки работают только с шейдерами, поддерживаемыми самой последней версией чипов для видеокарт. «Это бизнес, детка!» (с)

Однако не стоит всё валить на злых и жадных дядей. Давайте посмотрим на себя. Если ранее программирование считалось высоким искусством, то сейчас всякий, кто может создать в Дельфи форму с парой кнопок уже мнит себя серьёзным специалистом. Так и возникают приложения, в которых вся бизнес-логика выполняется в обработчике события нажатия на кнопку или вот такие перлы . Кнут с его искусством программирования тихо сходит с ума и сжигает ненаписанный четвертый том, в то время когда люди «изобретают» такое.

Тем не менее, высокое искусство осталось. Оно по-прежнему процветает там, где ресурсы ограничены, а время как никогда реально. Это программирование микроконтроллеров. Там иначе просто не выжить. Я сейчас с трудом могу представить человека, пишущего коммерческое ПО для Windows на ассемблере (специфические случаи я не беру), а в случае с микроконтроллерами – это самый естественный путь. Вот, кстати, отличное эссе на эту тему .

Давайте поностальгируем, как оно было раньше.

Одними из самых интересных и сложных вычислительных задач, решаемых при помощи ЭВМ были высадка американцев на Луну и автоматическая посадка нашего корабля Буран. Можно ещё упомянуть расчёты при создании (термо)ядерного оружия и прочих смертоносных штук, но они порыты мраком тайны, и мы не будем о них, космос гораздо интереснее.

Итак, посадка на Луну. Процедура, как вы понимаете, достаточно сложная. Параметры компьютера, которым оснащались корабли «Аполлон»:

  • ОЗУ – около 4 Кбайт (ферритовое ОЗУ на 2 048 15-битных слов)
  • ПЗУ – ферритовое на 36 864 15-битных слов
  • собран на 5000 микросхемах
  • вес 30 кг
  • стоимость 150 тысяч долларов

Лунный компьютер

Управляющая программа поддерживала многозадачность с установкой приоритетов.

Справедливости ради следует сказать, что самые сложные вычисления, требующие большого времени уже были проделаны на Земле на больших ЭВМ и загружены в ПЗУ. Тем не менее, не знаю, как вам, а мне всё это внушает уважение.

Теперь вернемся в восточное полушарие нашей планеты. Что такое посадка тяжелого аппарата, неспособного в случае ошибки уйти на второй заход, я надеюсь, вы представляете. Дабы мне не заниматься копированием, предлагаю сходить на сайт buran.ru и самим ознакомиться с характеристиками вычислительного комплекса.

Вот какие ресурсы необходимы и достаточны для решения реальных задач. А мы тут всё окошки рисуем…

Далее был длинный, полный нравоучений вывод, но потом я подумал, а зачем? Статья не для того, чтобы учить программировать – для этого есть другие ресурсы. Это просто ещё один повод остановиться и подумать: «А правильным ли путем идём?».