О тостере и инженере-электрикеПерев...

О тостере и инженере-электрике
Перевод из Анонимуса
Давным-давно, в тридевятом царстве, в тридесятом государстве король вызвал к себе двух своих мудрецов-советников и задал им хитрую задачку.
Он показал им блестящую железную коробочку с двумя прорезями сверху, переключателем-ручкой и рычагом и спросил: «Что это?»
Один из мудрецов, инженер-электрик, ответил первым: «Это тостер».
Король спросил: «Как к нему приделать компьютер?»
Мудрец ответил: «С помощью четырехбитного микроконтроллера я напишу простенькую программу, которая будет считывать данные с ручки, устанавливающей 16 степеней зажарки: от белого-пребелого до угольно черного. В программе будет простая табличка, сопоставляющая требуемый уровень зажарки тостов и длительность работы таймера. Она будет включать тостер и запускать таймер в соответствии с выбранной степенью зажарки.
По окончании она будет выключать тостер и выбрасывать готовые тосты.
Через неделю будет готов работающий прототип».
Второй мудрец, программист, немедленно увидел опасность такого недалекого подхода к решению задачи. Он сказал: «Тостеры не только превращают хлеб в тосты, но и разогревают замороженные вафли. На самом деле перед вами прибор для приготовления завтраков. По мере того как, ваше величество, ваши подданные будут становиться всё более и более утонченными, они будут требовать все больше новых возможностей. Им нужен будет прибор для приготовления завтраков, который также сможет пожарить им колбасу, бекон и яичницу. Тостеры, которые умеют поджаривать только тосты, выйдут из употребления. Если сейчас не задуматься о будущем, через несколько лет нам нужно будет разрабатывать новый тостер! Если мы взглянем на проблему под таким углом, то мы сможем найти более разумный подход к решению этой задачи. Начнем с создания класса продуктов для завтрака. Разобьем его на подклассы зерновых, мясные и птицу. Далее для каждого подкласса повторим процесс деления на подуровни: в зерновые войдут тосты, кексы, блины, вафли; мясные разделятся на сосиски, колбасу, бекон, а птица будет включать в себя яйца вкрутую, в мешочек, всмятку, яичницу-глазунью и целую подгруппу омлетов. Надо также будет предусмотреть специальные подгруппы рубленой ветчины и сырного омлета, так как они будут пересекаться с разными подгруппами. Таким образом, поставленная задача не может быть решена без множественного наследования. Во время своей работы программа должна создать верный объект и выполнить для него директиву «готовься». Семантика такой директивы, конечно же, зависит от объекта. «Готовься» по отношению к тосту и крутому яйцу будут значить абсолютно разные вещи. Рассмотрев процесс на этой фазе, мы понимаем, что базовое оборудование должно иметь возможность готовить любой вид завтрака. Переходя непосредственно к дизайну мы обнаруживаем наличие производных требований, а именно разработки объектно-ориентированного языка со множественным наследованием. Конечно же, пользователи не захотят, чтобы их яичница остыла к тому моменту, как поджарится бекон, отсюда появляется требование многозадачности. Нельзя забывать и о пользовательском интерфейсе: рычагу, опускающему продукт к нагревательным элементам, не хватает универсальности, а ручка, устанавливающая степень зажарки, недостаточно информативна. Пользователь не будет пользоваться продуктом без привлекательного графического интерфейса. При включении агрегата для готовки завтрака на экране должна появляться анимация, щелчок на которую будет демонстрировать надпись «загрузка Windows XX» (к тому моменту, когда продукт будет готов к выходу на рынок, выйдет и Windows XX).
Посредством ниспадающих меню пользователи смогут выбирать тип готовящихся продуктов. Приняв эти важнейшие решения о разработке программного обеспечения, мы должны перейти к выбору адекватного аппаратного обеспечения на фазе реализации проекта. Компьютер с процессором Интел Пентиум, с 2-мя гигабайтами оперативной памяти, жестким диском в 120 гигабайт и SVGA монитор вполне подойдут для наших целей. Как только мы выберем многозадачный объектно-ориентированный язык, поддерживающий множественное наследование, в который будет встроен графический интерфейс, написание такой программы не займет много времени».
Король мудро обезглавил программиста, и все стали жить-поживать да добра наживать.
Максимум 4 файла.
Ограничение 2 МБ.
Допустимые типы: png gif jpg jpeg.
Изображения должны быть больше 100x100 пикселей. Изображения превышающие 1920x1080 пикселей будут уменьшены.
Может быть интересно
Разработчики WinRAR дали пожизненный запас пива единственному пользователю купившему их программу.
Добавить комментарий
Тост расказанный ГАИшником:
— Давайте выпьем за первого сотрудника ГАИ!
— За кого?
— За соловья-разбойника!
— А причём здесь ГАИ?
— Ну он же сидел на перекрестке трех дорог, свистел и грабил!
Добавить комментарий
Два выпускника политеха подали заявление на одну и ту же работу.
Опыт и навыки, судя по бумажкам, у них были одинаковые, и начальник решил дать им тест. По окончании теста, через некоторое время начальник зовет в кабинет первого кандидата и говорит:
— Ну что же, вы оба правильно ответили на девять вопросов из десяти.
Но я решил, что приму на работу другого кандидата.
— Но ведь это не честно! Раз и он, и я дали одинаковое количество верных ответов...
— Видите ли, — перебивает шеф, — я принял решение не из-за правильных ответов, а из-за неправильных.
— И как это один неправильный ответ может быть лучше другого?
— Очень просто. На десятый вопрос ваш соперник ответил: "Не знаю."
А вы ответили: "Я тоже не знаю."
Добавить комментарий
Идут две подруги. Одна другой говорит:
– Надо в магазин зайти, а то у меня в холодильнике мышь повесилась.
– Так у меня тоже продукты закончились, – поддерживает ее вторая, правильно поняв поговорку.
– Да нет, мне не в продуктовый.
– А что тебе надо?
– Гробик, веночек и ленточку.
Добавить комментарий
Советы медиков. Питайтесь однообразно! Чем больше на вашем столе будет продуктов, тем труднее потом установить диагноз отравления.
Добавить комментарий
В доме новая няня. Отправляясь вечером в театр, хозяйка дает указания: — Когда собака поест, вы ей дайте воды. Если она будет царапаться в дверь буфета, дайте ей сухарь, если она сядет возле холодильника, это значит, что она хочет холодного молока, а когда она уляжется на свой коврик, надо будет осторожно укрыть ее одеялом. — А как насчет детей? — спрашивает няня. — В котором часу уложить их спать? — Детей? — удивляется мать. — А зачем их укладывать? Они и так всегда засыпают, как только заканчивается телевизионная программа.
Добавить комментарий
Ведущая программы "Спокойной ночи, малыши" Оксана Федорова научилась сильно, точно и не глядя бить ногами под столом.
Добавить комментарий
Голландия разрабатывает свою космическую программу, призванную превзойти космические достижения великих держав.
"Мы вполне способны осуществлять успешные космические запуски", - заявил глава Голландского космического агентства, - "Главное - это как следует раскумарить ракету на старте".
Добавить комментарий
4 мая в Голландии - День скорби по павшим от фашистов голландцам.
5 мая - День победы над фашизмом.
И вот сидит компания голландцев 4 мая, выпивает, поминает павших голландцев. Поднимают тосты за светлую память... Проходящий мимо немец замечает:
- Господа! А почему вы вспоминаете только погибших голландцев7
Да, немцы были агрессорами, но ведь это тоже люди! Надо и о них вспомнить!
На что голландец отвечает немцу:
- Сегодня мы вспоминаем погибших голландцев. За смерть немцев мы выпьем завтра...
Добавить комментарий