>В среде программистов распространена такая байка. Некий производитель заявляет на весь мир: "Мы создали такое мощное "железо", что все существующие на данный момент программы будут работать на нем если и не мгновенно, то намного быстрее, чем можно себе представить. Нет таких программ, которые заставят призадуматься наши современные процессоры". Однако не проходит и полгода, а то и раньше, как с подобным заявлением выступают разработчики программ: "Посмотрите на нашу новую операционную систему! На наши новые игры! Такого удобства работы с компьютером и таких красот виртуальных миров вы еще не видели! Правда, для полного счастья от работы с нашими программами вам придется раскошелиться на самую современную технику. Ведь, для вашего же удобства и удовольствия, мы использовали все ресурсы компьютера". Угадайте сами, что происходит через небольшое время. Поднатужившись, инженеры выпускают новое устройство, на котором с громадным запасом мощности исполняется самая ресурсоемкая программа. И по такой непрерывающейся спирали, в борьбе и единстве, развивается техническая и программная часть компьютера. Сейчас уже практически невозможно сравнить возможности первых IBM, системные требования и, соответственно, удобство пользователя MS DOS, с мощью Pentium 4 и удобством Windows XP. Если в первом случае хватало сотни килобайт памяти, то XP и ставиться не хочет, если на борту меньше 64-х мегабайт. Однако удобство данной операционной системы и разносторонность сфер ее применения даже нелепо сравнивать с сервисом, предоставляемым командной строкой. Какое же ПО заставит кремниевых гениев повышать мощность их творений? Здесь, пожалуй, рынок ПК надо разделить по крайней мера на две части. На рынок персональных компьютеров и рынок разного рода серверов.
Что касается персональных компьютеров, то на протяжении последних 5-ти лет решающим фактором стало развитие пользовательского интерфейса и мультимедийных возможностей компьютера. Недолго попищав встроенным "спикером", ПК научился рисовать, говорить, петь, показывать как видеофильмы, так и созданные разработчиками игр реалистичные виртуальные миры. Сервис операционной системы сделал экран монитора удобней реального рабочего стола. Однако, по моему мнению, рынок мультимедиа практически насыщен. Его еще подталкивают компьютерные игры, возможно, у операционных систем появится трехмерный интерфейс. Но уже сейчас практически все ПК, начиная с первых Celeron, справятся с этими задачами.
Ответом разработчиков ПО могут стать только качественно новые разработки. Ведь до сих пор существуют области, где ПК традиционно слаб. Это, к примеру, реализация искусственного интеллекта. Так, если с задачей распознавания текста компьютер более-менее справляется, то узнать произвольный предмет он практически бессилен. Маленький ребенок может узнать свою маму среди тысячи женщин, а компьютерная программа не узнает вас в другом наряде. Похожая ситуация и с распознаванием речи, хоть успехи здесь более существенны из-за меньшего объема анализируемой информации. Можно ли ПК научить в будущем ориентироваться в нашем аналоговом мире? Научить "правильно ошибаться", подобно людям. Думаю, что да. Нам придется менять представления о программировании. Вместо четкой логики операторов и синтаксических конструкций общаться понятиями, так, как с другим человеком. Для создания подобной среды нужна техника совершенно других мощностей и возможностей. Наряду с логическими, счетными устройствами должны существовать блоки нечетких решений, генерации набора возможностей решения поставленной задачи. Сейчас даже сложно представить, каким будет подобного рода компьютер. Спрос на них появляется уже сейчас, а значит, будет и предложение решений.
Мне, как программисту, интересно поразмышлять о том, на что будет похожа среда программирования, какими отличительными качествами и знаниями будут обладать люди, дающие компьютерному телу "душу".
Первоначально общаться с ПК программист мог только его языком . языком машинных кодов. Со временем из-за усложнения спектра решаемых задач были созданы процедурные языки, которые хоть и не похожи на человеческую речь, но тем не менее содержат определенный набор человеческих слов. Право, операторы begin, end, write больше понятны человеку, чем последовательность символов вроде $3F, $7A. Это была первая ступень ассоциации человеческих понятий с действиями компьютера. Второй ступенью стали объекты . логически завершенные части кода, обладающие набором свойств и методами их обработки. Мы, программисты, получили возможность оперировать целыми компонентами - срока ввода, поле для обработки текста, кнопка - чаще всего без необходимости знать, как они устроены внутри. Эти понятия были закреплены в современных языках программирования, в которых создание интерфейса программы похоже на работу с конструктором. Остается, правда, это совсем не мало, описать логику взаимодействия набора разных объектов.
Приведя эту, возможно, многим известную историю, я хотел показать, что программирование все больше становится похожим на человеческое общение. В будущем придется оперировать готовыми решениями, работающими по своим законам. Подобно тому, как мы с вами говорим: "Человек идет" вместо: "Человек наклонился, выдвинул ногу вперед и оперся на нее", мы будем говорить компьютеру, что ему нужно сделать в конечном итоге. Выдвинув множество решений, как полностью совпадающих с нашим запросом, так и измененных в лучшую сторону с его точки зрения, он даст их на наше рассмотрение. Нашей же задачей будет уточнить дальнейшие действия, указать, почему не подходят предложенные нам варианты. Так, шаг за шагом, вырастет законченный программный комплекс. А параллельно ПК будут запомнены и обобщены наши пожелания, образ мышления, привычки. И при реализации следующего проекта все это будет учтено при предложении вариантов решения. Программы сохранят индивидуальный почерк программиста. А это значит, что он должен быть высокоразвитым в разных сферах человеком, понимающим при этом особенность мышления компьютера.
Вот такая получилась фантастика. Будет все так или как-то по-другому - покажет время. Несомненно лишь то, что с появлением новой техники будут появляться новые качества. Они будут все более сближать нас с компьютером, делая его собеседником нам, а нас для него другом и учителем. Успехов вам, потомки!
Искренне ваш, RollBack.
|