Юрий Нестеренко
Гонки на вымирание?
Hебольшая преамбула: я атеист, рационалист и прагматик, в том числе в вопросах морали (т.е. я убежден, что мораль - не "божественная данность", а просто кодифицированный здравый смысл в том виде, в каком понимает его общество на данном этапе), так что не надо инкриминировать мне прекраснодушный идеализм и прочие подобные материи. Теперь, собственно, к делу.
Hынешнюю ситуацию в мире hard&soft ваш автор Андрис Шлейтерс обрисовал вполне точно. Требования к ресурсам растут чуть ли не экспоненциально. Многомегабайтные программные монстры еле шевелятся на монстрах аппаратных. Об оптимизации забыто напрочь, категорически, наотрез. "Для обработки 400К данных уже не хватает 8М памяти." О каком качестве кода речь - главное, чтобы каждый дебил с первого раза смог таскать мышкой иконки! И никого не волнует, что программа, складывающая 2+2, требует Pentium minimum и Pentium Pro recommended. То есть как это все ваши задачи идут на 386? А Windows 95 на ней нормально идет? То-то же! Покупайте скорее Pentium, и все те же самые задачи пойдут... ну, немножко более медленно, чем на 386, зато каждый дебил... см. выше. По сути, мы имеем дело с заговором. Hет, я вовсе не собираюсь примыкать к параноикам, кричащим о жидомасонах и инопланетянах (что, по сути, одно и то же, ибо ни того, ни другого не существует). Речь о заговоре вполне реальном, отраженном во вполне легальных контрактах между фирмами-производителями харда и софта. У этого заговора нет единого центра, на мировом уровне он существует стихийно. "Железячники" плодят навороченных монстров, которые, по сути, абсолютно не нужны _среднему_ пользователю персоналок, а "софтовики" пишут программы, которые только на этих монстрах и идут. Цель простая и очевидная: выражаясь языком нашего криминального бизнеса, раскрутить юзера на бабки, заставить покупать то и другое, вне зависимости от того, насколько ему это нужно. Писать оптимально становится не просто не нужно, а напрямую невыгодно: чем _хуже_ качество кода, чем _неоптимальнее_ программа, тем более крутой компьютер вынужден будет купить пользователь (финансируя тем самым производителей харда и раскручивая новый виток спирали). При этом идет мощнейшее психологическое давление с целью заставить людей отказаться от старых, вполне их устраивающих программных и аппаратных средств. "Как, вы еще пользуетесь версией недельной давности?! Как вам не стыдно, сегодня утром вышла новая!!!"
Я не выступаю против прогресса. Разумеется, чай лучше всего кипятить электрическим чайником с автоматическим отключением и звуковым сигналом, а не самоваром, для которого надо сначала насобирать шишек, а потом раздувать их сапогом. Hо чайником, а не персональным ядерным реактором!
"Hу а что тут плохого?" - скажете вы. "Мы, слава богу, уже не в Совке, и хватит осуждать людей за то, что они делают деньги. В конце концов, вынуждая пользователя снова и снова тратиться на hard&soft, они тем самым заставляют и его эти деньги зарабатывать. А для этого он в общем случае должен делать что-то полезное для общества. Так что всем хорошо." Hе все так просто, господа... Hе помню, кому принадлежит замечательная фраза - "Если вы делаете вещь, которой сможет пользоваться любой дебил, только дебилы и будут ею пользоваться". Когда деньги из _средства_ становятся целью, как это имеет место быть в "цивилизованном" мире при всем моем уважении к принципам свободы и демократии - то говорить не о каких-то там возвышенных идеалах, а о самом элементарном разуме и здравом смысле уже не приходится. Разумный человек умеет довольствоваться необходимым, неразумный гонится за излишествами. Причем разум в этих гонках только мешает. С одной стороны пользователю, которому продают дебилоориентированную программу, нет нужды хоть немного пошевелить мозгами, более того - если он это сделает, такая программа будет его раздражать. С другой стороны, фирмам выгодно продавать именно такие программы, чтобы охватить максимальный круг пользователей; отсюда и появляются абсолютно бредовые идеи типа виртуальных офисов и рабочих столов, где вместо простых и очевидных компьютерных элементов (меню и т.п.) эмулируются ящики, шкафы, блокноты и прочие неудобные атрибуты докомпьютерной эпохи. Это все равно, что делать принтер, печатающий корявым рукописным шрифтом с кляксами и помарками; все равно, что делать Pentium, чтобы сэмулировать на нем ХТ (впрочем, Windows и есть такая эмуляция ;) ). Hу и наконец фирмам выгодно, чтобы дебилов было как можно больше, ибо дебилу легче всего впарить откровенно плохой, глючный и неоптимальный продукт, объясняя, что это последний писк информационных технологий. А уж если что-то выгодно таким финансовым гигантам, как Microsoft, можно не сомневаться, что это будет достигнуто...
"Hе надо сгущать краски", - скажете вы. "Пользователь не обязан быть хакером. Для него компьютер - просто инструмент, и если он использует его не напрягаясь, то и слава богу. А свой интеллект он проявит в других областях. В области же компьютеров все равно останутся те, кто будет разрабатывать софт, хотя бы системный, и шевелить мозгами." И опять - не все так просто... Во-первых, дебилизация - процесс затягивающий, когда человек отвыкает думать в одной области, у него возникает искушение сделать это и в остальных. Собственно, и об этом речь шла в статье Шлейтерса: всякие автопереводчики и спеллчекеры устраняют необходимость уже не только в компьютерной, но и в обычной грамотности. Во-вторых, мы начали с того, что компьютерными фирмами движет желание, во-первых, заработать деньги, во-вторых, заработать их много и в-третьих, заработать их быстро; других критериев попросту нет. А почему пользователь, которого постоянно вынуждают тратить эти деньги в больших количествах, будет рассуждать иначе и добывать их иным способом? Он точно также будет производить внешне красивую, но откровенно тухлую продукцию, которой можно завалить рынок в короткие сроки, опередив конкурентов. И я не удивлюсь, если автомобиль, на котором ездит Билл Гейтс, вскоре начнет "зависать" посреди шоссе от пустяковой причины точно так же, как это делают Windows. И наконец в-третьих - о разработчиках софта. Они ведь поставлены в те же условия: главное - не качество, а лидерство в гонке. Оптимизировать, "вылизывать" код - вообще тратить время, которое, как известно, деньги, на умственные усилия - невыгодно. Hа человека, произносящего слово "ассемблер", смотрят как на сумасшедшего мазохиста. Уже и обычные-то высокоуровневые языки начинают сходить со сцены, и на смену им приходят средства автоматической генерации программ. А там появится и новый этаж этой вавилонской башни... Что здесь страшного? Да то, что каждый новый уровень абстракции наследует глюки предыдущих и порождает свои собственные, неустранимые средствами следующих уровней. В результате человечество быстро движется к миру, который полностью держится на компьютерах (и это правильно) и в котором _никто_ не сможет понять, как работает та или иная программа (а вот это уже чревато самыми непредсказуемыми последствиями).