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

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