Слегка пафосное название - для здоровой доли желтизны. ;)
По мотивам
интересного обсуждения с гр.
_flanker решил чиркануть статью. Обычно споры (именно споры, а не обсуждения) в комментариях ЖЖ приводят к флейму и баттхерту, но тут, как ни странно, всё было вполне по делу (хотя если почитать начало и ближе к концу обсуждения, то интересна миграция мнений); и всё равно прийти к общему знаменателю не удалось. Почему - у меня есть определённая теория, и речь тут пойдёт не про обличения и глум, как это часто бывает в каментах ЖЖ.
Тут имхо всё дело в разном подходе к видению мира - с технической стороны. Попробую показать, можно сказать - на собственной практике - но, думаю, это распространённая ситуация.
Работаю в программистской конторе, и сплошь и рядом наблюдаю картину, когда люди, обсуждающие один и тот же объект (в нашем случае - программу, но это же может относиться и к "железу") смотрят на него с совершенно разных точек зрения и даже словами выражаются, совершенно непонятными друг другу. Попробую показать, где тут собака порылась.
Апдейт: речь в статье пойдёт про достаточно сложные Системы - ибо изготовителю лопат или утилит не требуются промежуточные уровни осознания.
Первая, и самая очевидная точка зрения - точка зрения пользователя, Заказчика программы. По сути программы и всякие другие продукты делаются именно для него - чтобы он нажал на кнопку и получил результат. Но очевидным образом его точка зрения является заинтересованной и при этом некомпетентной - он понятия не имеет, как что работает, и максимум, что знает, что "раньше он всё делал в Экселе и всё было нормально"; в отношении "железа" это может выглядеть как "один мой знакомый видел по телеку китайский аналог в 10 раз дешевле".
Как ни странно, обычно этой точки придерживаются не только пользователи, но и "продажники" - т.е. сотрудники фирм-Разработчиков - поскольку им важно продать продукт, и дальше трава не расти. И так как "продажники", в отличие от всех остальных, приносят реальные деньги в контору, их точка зрения имеет наибольший вес (да, мне тоже смешно) - что, я думаю, привело к разорению и позору не одну и не две компании по разработке ПО (и не только).
Вторая, и тоже вполне очевидная точка зрения - программистская, "изнаночная". Программист может понятия не иметь, для чего нужна та или иная кнопочка, но зато разбирается в базе данных, интерфейсе и всяких скриптах - без чего никакая программа работать не будет, но все эти слова пользователю неведомы и даже иногда пугающи. Он знает, как и что сделать - только зачастую не понимает, зачем.
И дело тут не в том, что программисты - тупые. Просто они разбираются в своей области, и зачем им лезть в чью-то чужую - а когда начинаются вопросы "зачем", тут мы выходим на уровень мышления пользователя - "нажми на кнопку, получишь результат", а это программерам не нужно, они мыслят в других категориях. Думать за другого дядю, что же там ему нужно - это не работа программистов и прочих "железячников", у них план и методология, и всё такое.
Чтобы эти две - сугубо верные - точки зрения сошлись и пришли к практическим результатам без больших человеческих жертв, существует промежуточная, которой я как раз в меру сил на работке и занимаюсь. Это - точка зрения аналитика, некий перевод с языка клиента на язык программиста и обратно. И дело тут не столько в словах, сколько в образе мышления.
С одной стороны, надо понимать, как программа (или "железяка") работает, и с другой - зачем. В обоих областях объективно приходится проигрывать и тем и другим - потому что нельзя знать кишки программы лучше её создателя, и нельзя понимать суть её работы лучше непосредственного юзера пользователя. И тем не менее надо смотреть на всё в целом и учитывать обе точки зрения - тогда как и пользователь, и программист видит ситуацию лишь со своей стороны, и до другой ему чуть менее, чем пофиг.
Поэтому, когда программеры прибегают с безумными идеями "давайте всё перепишем", начинаешь думать не только про то, какую прибавку
FPS мы получим (условно говоря), но и как это в целом отразится на работе пользователей; и наоборот, когда клиент просит "то же самое, но с перламутровыми пуговицами", то надо сразу бить по рукам "продажников" (те-то сразу готовы Родину продать) и соображать, чем эти пуговицы грозят с точки зрения кишок системы.
Напоследок хотелось бы сказать, что в беседе у нас с
_flanker он выступает с точки зрения "программиста", а я - с точки зрения аналитика. Я могу не всё знать в "железе", но у меня есть понимание, зачем нужно то или это; а он не понимает, зачем всё это, и пытается доказать, что всё это - дорого и лучше пусть всё будет как было. Отсюда и непонимание.
Большинство научно-популярных проектов - книг, фильмов, сериалов - сделано с точки зрения пользователя, без какой-либо привязки к реальности - я хочу бластер и пофиг, что это невозможно, хачююю! - ну на. Не хотелось бы уподобляться. Конструктивная критика - приветствуется. Особо хотелось бы пообщаться с химиками - на предмет практического применения космической программы в совсем не отдалённом будущем. Но - предметно, а не на уровне "зачем". Затем.