3 мар. 2011 г.

Как решить невозможную задачу?

В моей практике бывали такие случаи: попросишь программиста сделать какую-нибудь фичу, а он отвечает: «Сделать её невозможно». Я спрашиваю: «Почему?», а он в ответ: «Я прочитал такую-то документацию, посмотрел такой-то пример, попробовал вот этим способом и вон тем способом, и понял, что сделать её невозможно». А иногда говорят: «Ну ты бы ещё попросил слетать на Луну и вернуться» намекая на то, что я прошу невозможного.

Я заметил такую особенность с решением задач. Вот есть задача. Если её кто-то решил, то это является доказательством того, что эта задача разрешима за конечное время. Но обратное утверждение «никто не решил, значит задачу невозможно решить» — неверно. Зачастую, поручив решение «невозможной» задачи более способному исполнителю, оказывалось, что он её успешно решал. Конструктивный же подход — это разбить задачу на более простые и указать, где ты запнулся.

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

Кочерга со свистом рассекла воздух...

4 комментария:

  1. Если рассматривать сферическую задачу в вакууме, то нежелание решать задачу может быть обусловлено несоответствием усилий, предположительно затраченных на её решение, и последующего вознаграждения. Например, говоришь программисту: разработай новую пользовательскую операционную систему, по дизайну сопоставимую с Win 7, а по надёжности - с FreeBSD. Понятно, что обычный программист с обычной зарплатой за обозримые сроки задачу не решит.
    Если перейти из области абстракций в реальную жизнь, то некоторые задачи не решаются просто потому, что платформа, для этого используемая, не предоставляет необходимый инструментарий. Чаще всего это встречается, когда сталкиваешься с 1С 7.7. Самолично сталкивался с этим, когда работал с массивами в языке NetLogo.

    ОтветитьУдалить
  2. > Самолично сталкивался с этим, когда работал с массивами в языке NetLogo.

    Может для достижения цели следует сменить инструмент?

    ОтветитьУдалить
  3. Прислали тут шутку юмора и она мне напомнила об этом твоем посте.

    http://alex-aka-jj.livejournal.com/66984.html

    ОтветитьУдалить
  4. Видел. Но оно так всё абстрактно написано, что непонятно, что было на самом деле.

    ОтветитьУдалить

Темы

2012 (2) амазон (1) анпакинг (1) артемий лебедев (4) атн (1) аудио (1) аэропорт (1) безопасность (3) бизнес (1) билайн (1) блог (2) будущее (2) видео (11) википедия (5) вымысел (16) гагарин (1) герман (1) гитхаб (1) гугл (3) дед мороз (1) декабрь (1) демотиватор (2) дети (2) дизайн (13) диссертация (2) документация (1) друзья (5) евпатория (1) евро-2012 (1) жадность (1) заяц (1) идея (1) имейл (1) инстаграм (1) интервью (5) интересное (20) интерфейс (13) история (7) как_выжить (4) календарь (1) капитализм (1) картина (1) кмб (6) книга (6) коллекция (4) компилятор (2) конкурс (5) космос (1) лаборатория (1) либералы (1) лингво (1) лузер (6) макаренко (2) макдональдс (2) математика (1) медиапорт (1) ментор (1) металлика (1) металлист (2) метро (7) микрософт (6) миргород (1) москва (2) музыка (3) наркомания (1) новости (17) образование (3) оптимизация (5) основы (14) открытки (3) ошибка (11) памятник (1) патриотизм (3) плагиат (1) плата (1) погода (3) поиск (1) политика (2) полтава (2) праздник (1) программирование (15) прошлое (2) путешествия (8) рейтинг (1) рендер (1) рисунок (2) русские (1) русский язык (1) сайт (4) санкт-петербург (1) сапр (7) сеть (1) си++ (1) синтез (1) системси (1) скриншот (40) социализм (1) соцопрос (3) спектрум (2) спорт (2) срач (2) статистика (1) такси (1) тбб (3) твитер (9) тимошенко (1) украина (5) униан (1) фан (30) фокус (1) фото (39) фотошоп (1) фурсенко (1) футбол (2) хабр (1) харьков (21) хнурэ (19) хобби (4) цитата (2) чехия (1) школа (1) эпл (1) эхостар (1) юмор (1) яндекс (1) clang (2) doxygen (1) english (3) ios (1) llvm (1) msdn (1) outlook (1) PHP (1) stackoverflow (1)

Поиск

Читатели