...when altering one's mind becomes as easy as programming a computer, what does it mean to be human?..
понедельник, 19 июля 2010 г.
Почему функция CreateProcess делает автоисправление командной строки?
Программы, которые не были созданы для обработки длинных имён файлов, могли делать ошибки в их обработке, типа взятия пути к исполняемому файлу и записи его в реестр, не думая что в нём могут быть пробелы, и что он нуждается в кавычках (пробелы, хотя технически совершенно легальны, были очень редки в коротких именах файлов). Функции CreateProcess нужно было решить, либо она делает автоисправление для этих кривых программ, либо эти программы перестают работать.
Это битва между прагматизмом и идеальностью (чистотой).
Идеальность говорит: "пусть они страдают за свои баги. Мы не собираемся очернять нашу прекрасную архитектуру, чтобы вместить такую глупость". Конечно же, такое отношение имеет свою цену: люди не будут использовать вашу "чистую" систему, потому что на ней не работают программы, которые им нужны (если, конечно, у вас нет поля искажения реальности Стива Джобса - прим. пер.).
Посмотрите на это с другой стороны: не важно, насколько прекрасна будет ваша версия 1.0, если вы не доживёте до выпуска версии 2.0.
Ваш выбор - между "быть чистым и не популярным" и "быть прагматичным и популярным". Посмотрите на все эти прекрасные технологии, которые вымерли из-за недостатка популярности, несмотря на их технологическое превосходство: Sony Betamax, Mattel Intellivision (и, в Соединённых Штатах: метрическая система).
Другим примером являются электро-автомобили. Как бы не были они технически совершенны, они никогда не достигали заметного коммерческого успеха. Только после уступания популярности и "очернении" их "чистоты" добавлением бензинового двигателя (гибридные автомобили) - они наконец начали зарабатывать признание.
Я вижу, как это случается снова и снова. Команда продукта, которая, гипотетически, делает программы по рисованию диаграмм, говорит: "Я не могу поверить, что мы проигрываем Z. Конечно, диаграммы Z быстрее и броские, но наши показывают <тонкие детали> верно, а когда вы смотрите <экстремальный случай>, то их диаграммы искажаются, и они быстры потому, что не пытаются предотвратить X и Y от пересечения в <сценарии Q>. Мы делаем все эти вещи - вот почему мы медленнее, но также почему мы лучше. Эти люди в Z просто не понимают этого".
И знаете что? Люди голосуют своими кошельками, и прямо сейчас их кошельки говорят, что Z лучше, несмотря на все эти "ужасные недостатки". Какую бы часть "этого" они ни не понимали - это точно не часть "сделайте счастливыми много людей, так что они отправят вам свои деньги".
[Добавлено 05.0.3.2014]: больше материала по CreateProcess.
2 комментария:
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.
Добрый день.
ОтветитьУдалитьВаша статья имеет ссылку на статью в Википедии - "https://ru.wikipedia.org/wiki/Поле_искажения_реальности"
Но в Википедии нету такой статьи.
Возможно было бы лучше стереть несуществующую ссылку (или исправить её).
Исправил, спасибо. Совсем недавно статью из Wiki выпилили.
Удалить