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

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