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

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