
Это голоса и дела людей
Но бывают случаи. Нет, это я не о том видео где быдло бьет эмо или падают самолеты.
Это о я о некомпетентности.
С различными "багами" и "ошибками" в бытовой технике, программном обеспечении и других устройствах мы сталкиваемся постоянно. Некоторые из них безобидны. Скажем на моем телевизоре можно настроить пропорции изображения (около 10 вариантов). Но если перейти в режим считывания с флешки доступна только одна стандартная пропорция.
Почему? Лениво было делать. Забыли. Недосмотрели. Не хватило бюджета. Не хватило ума довести код до ума. Я связалась с фирмой производителем и попросила их дать исходный код прошивки, но они конечно отказали. Ни самой не поправить, ни от фирмы не добиться. Это вроде мелочь. Бывают вещи и похуже. Например системные сбои в управлении движком автомобиля. Или даже самолета.
Ошибки будут всегда. Да - это правильно. Но приемлимо только тогда, когда ошибка (забыла русское слово реально, однозначно, оправдано, беспорно) возникла из-за сложности задачи, а не от простой халатности.
Вот вчера я доделала работу по изменению моего проекта и собиралась сохранить проект в облако. Буквально в последнюю минуту заметила небольшой недостаток и скачала пример из SDK android, чтобы посмотреть как это делала корпорация добра. Запустила проект, он потребовал указать рабочую директорию проекта. Я ему дала директорию в которой лежат все проекты и что в итоге? Сверхумная, разумая IDЕ (программа для разработки) гордо заявила "очищаю рабочую директорию!" и зависла с 98 ошибками. Тьфу.
Вот программист который писал этот код использовал потенциально опасную функцию удаляющую файлы на диске. Почему к ебене мать не вставить запрос подтверждения от пользователя? Потому, что влом было. Работает так как он себе "видит" и хорошо. Полное отсутствие навыка предсказания последствий своих действий.
Бесит не то, что человек допустил ошибку. А то, что он явно сделал это по халатности, хотя это и не стоило ему усилий. А ведь программный код используется теперь во всем.
В "умных" автомобилях, которые уже вышли на дороги. В "умных" навигаторах, заводящих людей в опасные районы. В "умных" принтерах, способных оторвать вам пальцы или в "умных" автопилотах, которых можно отключить при опасной ситуации. В "умном" оружии не стреляющему в неподходящий момент, потому, что рука вспотела или в "умных" смартфонах неспособных узнать хозяина утром.
А ведь есть еще более тонкие материи. Скажем "умные" кардиостимуляторы, бреши в безопасности которых нашел один паренек, труп которого нашли через два дня после публикации материалов в сети. Или "умные" системы противоракетной обороны, задача которых ответить на ядерный удар без участия человека в промежуток времени до 11 минут (потому, что позже удар возмездия будет уже невозможен.
Число разработчиков способных аккуратно и вдумчиво писать код не меняется, а потребности в технических специалистах постоянно растут.
Вывод, чем меньше "умных" вещей в вашем окружении, тем крепче ваши нервы.

Идеалисты этому миру не нужны, и брюзжание на тему "сделано тяп-ляп" годится лишь для посиделок с горячительным.
Так что сворачивайте уже оправдываться и заявите честно миру "я творец - я так вижу".Это сильно упростит ситуацию.
По сабжу - я уже с месяц интегрирую одно ПО, которое мне предоставил крупный разработчик с имиджем и историей. Я не программист, но даже у меня оно создало ощущение глобальной недоделки, и я с упорством бета-тестера допиливаю его до ума. Когда же я задаюсь вопросом -почему оно такое сырое? Получаю ответ - потому что те, кому оно очень нужно, допилят, а те, кто ленивые - заплатят за доразработку.
Зато когда автопилот автобуса задавит человека избегая столкновения с собакой я всегда смогу радостно написать: "А я предупреждала, няяя".
Я же не предлагаю вешать разработчиков, просто поделилась наблюдением.
Только люди не совершенны,и все склонны ошибаться. Так что - мы лишь на пути.
Почему код не открывают неважно. Важно, что он не работает правильно.
Если прибыль от обновления не превысит ущерб от его открытия - то важно.
Опенсорс предполагает, что ошибка происходит один раз. Коммерческий софт предполагает, что придет патч. В чем противоречие?
В основном в том, что опенсорс предполагает, что ошибку может исправить кто угодно и сделает это правильно - а на деле в багзиллах сотни мелких недочетов, которые не исправляются годами, работает - и ладно, есть ошибки поважнее.
А коммерческий софт предполагает, что патч будет написан, когда это будет нужно для поддержания актуальности продукта.
Люди не идеалисты. И программисты - тоже.
О, ты склонился к филосовскому мировосприятнию, няя ^^
Я и не говорю, что соверншенны. Совершенно не совершенны. И "оправданные" ошибки вполне допускаю. Мне не нравиться, когда работу делают явно тяп-ляп. И вангую дальнешее увеличение процента таких разработок, при расширении рынка подобных работ. Вот и все.
>> Если прибыль от обновления не превысит ущерб от его открытия - то важно.
Экономически совершенно оправдано, но если по понятиям... Да и ущерб марке (довольно известной) превалирует над любой экономией. Только вот в пост пост капиталистическом мире глобальных корпораций само понятие - имидж фирмы постепенно исчезает. Когда сегодя есть нокия, завтра ее купила леново послезавтра разделили на три части и раздали эпл, гуглу и майкрософт само понятие фирм с многолетней историей как то размылось... И никто не трясется над мнением клинетов, пока инвесторы довольны.
>> Люди не идеалисты. И программисты - тоже.
И снова ты пришел к ахиважному выводу, няя )
Жизненно необходимо стремиться к совершенству. Иначе - Все бессмысленно. Ня?
Это называется "перфекционизм", и заболевание, свойственное множеству кодеров с навыками.Потому что большинство смертных "возьмут" и "покрасят".
>>Мы говорим о модификации запорожца добавлением плуга.
Если эта модификация кому-то когда-то помогла заработать на мазератти - он ни за что тебе ее не отдаст.Патенты на устаревшие технологии придерживаются годами, код - тоже.
>>Это называется "гарантированный ответный удар".
Это называется "мертвая рука" и поверь, ты будешь гораздо крепче спать, зная, что она существует. Потому что если нет.... То это будет совсем другая история.
И я думаю, не ты, ни я не достаточно компетентны, чтобы рассуждать о том, как работает "ответный удар".
>>Считаешь, там нет некомпетентности и халатности? Думаю все как везде и тенденции те же. Только соотношение другое.
>> Качество не опен сорс кода падает. Даже у гугла.
Самопротиворечие?
Тогда я - за болезнь. Людям свойственно одобрять такие заболевания когда они садятся в самолет или выбирают врача.
Почему код не открывают неважно. Важно, что он не работает правильно.
Опенсорс предполагает, что ошибка происходит один раз. Коммерческий софт предполагает, что придет патч. В чем противоречие? Во втором случае мы полностью полагаемся на компетентность пазработчика. В первом, можем прикинуть подходит ли нам продукт до использования, хотябы посмотрев качество программирования. Любой разработчик закрытого кода (и эпл в том числе) вставляет в лицензию ограничение ответственности.
Угу, конечно, а опенсорс улучаештся на глазах.Не заметил.
Ничего коммерчески ценного там нет.
Будем реалистами - "надстройка над линукс" под названием редхат стоит как пять моих зарплат в твердой валюте.
Кстати о про. В режиме "готовность к неизбежной ядерной войне" там тоже нет проверок.
Вы таки уверены в сказанном? Могу точно сказать, что директивно, в режиме дефкон 1 - автоматика не вышлет ракеты в противника. Решение всегда остается за человеком - поэтому все подобные "кнопки" находятся как можно дальше от городов, и там круглосуточно дежурят уполномоченные ЛЮДИ.
А что до эклипса - как и любая другая *nix IDE, состоит из багов. Только emacs, только хардкор.
В данном случае, прошивка телевизора не намного сложнее прошивки маршрутизатора и уж рядом не лежала с android по сложности. Ничего коммерчески ценного, что надо защищать от конкурентов там просто нет. Ни особых инженерных решений, ни "интеллектуальных алгоритмов", ни систем безопасности. Ничего, что стоило бы хранить строже чем "для служебного доступа". Но дело не в том. А в том, что сделав прошивку ("чтобы наша модель тоже была продвинутая и "умная", как у конкурентов) и сделав это левой ногой они даже не собираются это дело поправить. Сначала некомпетентность, потом (опять забыла русское слово... халатность!), а в конце просто наглость.
>> Решение всегда остается за человеком
Да дежурят там люди, дежурят. И даже кнопки нажимают. Вернее уже несколько раз не нажимали (два раза). Но фишка в том, что люди принимающие решения нажать на кнопку в этой ситуации получают данные тоже от электронных систем. И таймер есть. После которого ЛЮДИ не влияют на принятие решений. Это называется "гарантированный ответный удар". В том числе, когда отвечающая сторона недееспособна. В том числе, если лица принимающие решение о пуске ракет погибли. На все есть свои протоколы.
Но мы снова говорим о слишком масштабном примере. Убить человека может и гораздо более простое бытовое устройство сделанное небрежно. Для этого не надо даже брать автопилот самолета или систему управления движением. Достаточно перил на лестничной клетке. Или привешенной к потолку люстры. Или программы навигатора на смартфоне или пластиковой электрической розетки и так далее.
>> Только emacs, только хардкор. Считаешь, там нет некомпетентности и халатности? Думаю все как везде и тенденции те же. Только соотношение другое. Я же привела в пример код написанный непосредственно программистами Google. У них хорошие зарплаты и навыки, но результат тот же. Дело не в среде и не в компании и не в платформе. Дело в подходе к тому, что делаешь. Если я задумаю покрасить стену, я не просто возьму краску и покрашу. Я постараюсь сначала выяснить как конкретная краска взаимодействует с конкретным покрытием. Как правильно использовать данную краску. Какие инструменты использовать. Продумаю как она повлияет на пол и на двери. Проверю, чтобы она не вызвала аллергию и неприятный запах. Постараюсь убедиться, что данная краска держится заданный период времени. Что не выгорает на солнце и еще множество параметров. Продумаю как подвинуть мебель и в каком порядке выполнять работу. Как-то так, ня.
Исходный код им дайте... А зачем он вам? Вы его отладите и продадите конкуренту.
Запрос пользователя им не выводится... А вы думайте прежде чем нажимать на кнопки.
Бесит их....
В который раз понимаю, что компьютер излишне очеловечивают. Машина не должна общаться с вами на одном языке и сто раз переспрашивать вас. Вы должны ПОНИМАТЬ, что вы делаете.
А так - вставь в код хоть 100 проверок - все равно найдется способ вывести ее из "себя".
И да - контроль над противоракетной обороной не доверяют машинам. Просто потому что.
И что там за кардиостимуляторы?
Ничего коммерчески ценного там нет. Будем реалистами, очередная надстройка над линукс. Конкурентам она как китайцам чугунные раковины. У них свои программисты, которым надо оправдывать зарплаты.
Я хорошо понимаю, что я делаю и где проверки должны стоять. Эклипс например при импорте проекта сам в себя пересоздавал все файлы на диске размером ноль. То есть, он сначала удалял файл, а потом пытался его копировать. И это тоже халатность разработчика. Проблема в том, что такие специалисты создают технологию, которая работает сама в себе. Чтобы показать на стенде и получииь бонус. Это вид эгоизма.
Кстати о про. В режиме "готовность к неизбежной ядерной войне" там тоже нет проверок. Слишком мало времени. Ракеты противника летят от 9 до 13 минут. И на человека в цепочке нет времени.
Но в целом я просто обращаю внимание на объективную тенденцию. Качество не опен сорс кода падает. Даже у гугла.