13 февраля 2009 г.

Read The Following Materials!

Обнаружилась тут статья (cпасибо Максиму), в которой проводятся аналогии между архитектурой операционной системы и архитектурой библейской культуры(!)

Подход, хоть и спорный, сам по себе довольно смелый и интересный. Но в глаза бросилась фраза:
Известно, если прикладная программа постоянно сбоит, зависает или падает, то возможно, дело не в ней, а в операционной системе.

Одно время я работал вместе с человеком, который на тот момент имел за плечами десятилетний опыт работы с MSDOS и Borland C++ 3.1. В силу своего опыта и непрерывного стажа на одном месте он смог дослужиться до должности ведущего инженера. Но все это не мешало ему в своих программах копировать произвольные блоки памяти с помощью функции strcpy(). Но вот, настала эра Windows, и появилась задача портировать все старые программы с MSDOS под новую операционную систему. Надо ли рассказывать, что его программы с громким треском валились именно на вызовах strcpy. Реакция была примерно такая: "Эта сраная виндовс! Ни хрена в ней ничего не работает! Руки бы поотрывать этим уродам в майкрософте!.." На попытки объяснить, что, мол, это не виндовс, а программа неправильная, и то, что под виндой валится, так это она тебя от тебя же и защищает, чтоб ты себе случайно глазик не выколол, ответ был прото гениальный: "Но ведь под ДОСом-то работает!.."

Это позиция снобов и лузеров, неспособных к обучению. Такие люди уверены на двести процентов, что они не допускают ошибок, и постоянно ищут ошибки вокруг себя. Обычная фраза "у меня все правильно" - это тревожный звонок.

Возвращаясь к аналогиям, давайте посмотрим, как зачастую идет разработка ПО. Есть ОС и она предоставляет вполне конкретный API. Этот API описан на уровне “как им пользоваться”, а не “как он там внутри работает”. В какой-то момент, когда программа начинает давать сбои, произносится ключевая фраза - “у нас все правильно, это ОС кривая”. Но при детальном анализе вопроса выясняется, что все проблемы из-за того, что программисты все время стараются что-то подхачить “потому что API кривой”, вместо того что читать документацию и следовать ей.

В статье же в качестве неоспоримой истины взят подход "у меня все правильно"... Нет, ребята, "up-grage" вам не поможет. Кризис в головах. RTFM, мать вашу!

Имхо, статья расчитана на людей, которые слабо знакомы с обеими областями - как с религией, так и с программированием. А также на людей, которые не пытаются вникнуть в смысл, у которых в мозгу оседают только фразы, выделенные жирным шрифтом.

ЗЫ. Казалось бы, совсем оффтоп, ан нет - про программирование :)

Комментариев нет:

Отправить комментарий