Архитекторы компьютерного мира - Аркадий Частиков
Шрифт:
Интервал:
Закладка:
Компания Sun также ведет разработки PersonalJava и EmbeddedJava, наборы программных интерфейсов, с помощью которых можно будет разрабатывать программы для бытовой электроники и таких устройств, как копиры, смарт- карты и PDA. PersonalJava дополняет стандарт JAVA функциями, предназначенными для устройств со встроенными микропроцессорами и ограниченной памятью, таких как пейджеры и сотовые телефоны.
Sun также намеревается производить набор библиотек JAVA Platform for Enterprise. С помощью последней компания попытается сделать акцент на клиентской, а не на серверной части программ, а также упростить реализацию распределенных корпоративных бизнес-приложений.
По мнения Джеймса Гослинга, новые трудности возникают при размещении приложения в сети. Положительной чертой JAVA является возможность однородного представления действительности, которая на самом деле однородностью не отличается. Одним из наиболее "горячих" направлений в последнее время стал бизнес, связанный с сотовыми телефонами. Сейчас в мире ежедневно продаются десятки тысяч сотовых телефонов с поддержкой JAVA. Эти цифры поражают воображение. Еще большие темпы роста демонстрируют решения, связанные со смарт-картами. Многие сегодня разрабатывают приложения, обеспечивающие связь между периферийными и центральными узлами сети. Отдельные части приложения независимо от особенностей конкретного устройства, подключаемого к сети — будь то настольный компьютер, сотовый телефон или PDA, — должны одновременно являться компонентами инфраструктуры, элементами основной бизнес-логики и баз данных. Конечно, проектирование этой сложной архитектуры можно поручить одному человеку, но справится ли он с такой задачей?
Гослинг подчеркивает, что они пока не имеют действительно бесспорных решений. Имеются лишь инструменты, позволяющие взглянуть на то, что делает какая-то одна система, и перенести это на всю сквозную архитектуру. Некоторые используют отладчики. Но как проанализировать отладчиком код, находящийся внутри базы данных Oracle? Как обобщить всю имеющуюся информацию? Это серьезный и интересный вопрос. Программные системы с каждым днем становятся все более и более сложными.
Пару лет назад Гослинг много времени потратил на создание инструментов, помогающих в разработке систем реального времени. Основная посылка состояла в том, что программист больше не должен вручную писать несколько тысяч строк ассемблерного кода. Системы действительно становились огромными. А технология JAVA к тому времени уже успела проявить себя с самой лучшей стороны в проектах создания больших и надежных систем. Вот что говорит сам Гослинг: "Некоторые из подобных изолированных приложений, находящихся на одной машине, включают в себя миллионы строк кода. Как можно иметь с ними дело? Большинство людей не имеют понятия об этом. Сегодня нам доступны все виды инструментов, начиная с организационных, получаемых на основе объектно-ориентированной методологии, и заканчивая средствами, построенными на их базе, например моделями UML. Но чем больше средств мы создаем, чтобы справиться с имеющимися трудностями, тем более сложные вещи появляются вновь. Мы всегда ограничены в понимании конструируемых объектов — будь то программное обеспечение или небоскребы".
В настоящее время Джеймс Гослинг является вице-президентом компании Sun Microsystems.
Дональд Кнут
Автор Библии программистов
…программирование — это искусство, поскольку оно является приложением накопленных знаний для практических целей, поскольку оно требует умения и мастерства, и в особенности потому, что продукты программирования могут представлять эстетическую ценность.
Дональд КнутДональд Кнут
В 1974 году, когда Дональд Кнут как раз закончил третий том своего семитомника "The art of computer programming" (в русском переводе — "Искусство программирования для ЭВМ"), ему была присуждена премия Тьюринга. В постановлении комитета по премиям Тьюринга сказано, что она "присуждается профессору Стэнфордского университета Дональду Е. Кнуту за ряд выдающихся работ в области анализа алгоритмов и разработки языков программирования и в особенности за его вклад в развитие "искусства программирования", осуществленный серией известных книг с этим общим названием. Методы программирования, алгоритмы, теоретические построения, изложенные в указанных книгах, послужили основой преподавания информатики и организующим началом в развитии этой дисциплины".
В 80-х годах его личный опыт написания книг и неудовлетворенность тем, в каком виде были представлены гранки, возбудили в нем интерес к компьютерному набору. Этот интерес привел к созданию издательской системы ТеХ и программы проектирования шрифтов METAFONT.
Ко всему прочему, Кнут является одаренным писателем и композитором, а также обладает имиджем нешаблонного человека. Достаточно сказать, что самым нелепым фактом является то, что его один из первых опусов был опубликован в журнале "Сумасшедший".
Дональд Кнут родился 10 января 1938 года в Милуоки (штат Висконсин). Его отец преподавал бухгалтерский учет в университете и занимался также дома, в подвале, печатным делом. Ребенком Кнут с удовольствием играл с калькулятором отца, который мог перемножать десятизначные числа, но у него уходило от десяти до двадцати секунд, чтобы напечатать ответ. Кнут вспоминает, как он пытался извлечь квадратный корень из десяти, пытался и ошибся. Открыв, что ответ находится между 3,16 и 3,17, он сделал заключение, что число должно иметь истинное значение л, а не 3,14, как говорилось в его учебнике. Вскоре он понял, что его заключение было ошибочным.
Любовь Кнута к математике усилилась на первом году учебы в университете. Он был захвачен графикой алгебраических функций — областью нескончаемых возможностей.
Физика также ему нравилась, и он разрывается между ней и музыкой — он серьезно обучался игре на пианино, сам написал несколько произведений. Кнут признает, что у него комплекс неполноценности. Это объясняет, говорит он, то, что он всегда много работал. В старших классах Милуокской лютеранской высшей школы он беспокоился, что низкие оценки по математике могут помешать его поступлению в колледж, но это была непонятная озабоченность, поскольку он закончил школу с самым высоким коэффициентом за все времена — 97,5 %.
В 1956 году он поступил в Кейский Технологический институт в Кливленде. На первом году обучения он занялся высшей математикой. Снова из-за страха, что не справится, Кнут в дополнительное время с рвением изучал дифференциальное и интегральное исчисление и аналитическую геометрию.
Во время каникул после первого курса Кнут впервые занялся работой с компьютером. У него было задание на лето — построить графики для статистиков Кейса. В соседней комнате находилась новая машина IBM 650. Кнут так загорелся ею, что посвятил "Искусство программирования" компьютеру IBM 650, установленному в Кэйском технологическом институте, в память о многих приятных вечерах. Некоторые из его преподавателей советовали ему держаться в стороне от компьютеров, утверждая, что это ни к чему хорошему не приведет. Но любопытство взяло верх, он проводил ночи напролет с компьютером.
Кнут с легкостью оставил физику. Его лабораторные работы, казалось, не приносили удовлетворения, он ронял детали на пол и часто оказывался последним. Сварка оказалась катастрофой: при росте 6 футов и 4 дюйма он был слишком высоким для сварочных столов, и ему невозможно было наблюдать за работой, кроме того, очки ему не подходили.
Кнут добился успехов, используя компьютер для оценки игры баскетбольной команды, менеджером которой он являлся. Он выработал сложную формулу для ранжирования игроков, рассчитывая вклад каждого в игру, не только по количеству очков, которые он принес команде. Кнут обычно сидел за компьютером IBM 650 и подводил статистику игры, в то время, когда тренер стоял рядом. Используя программу Д. Кнута, тренер мог определить истинный вклад каждого в игру и в соответствии с этим использовать игроков. Оказалось также, что данная программа стимулировала игроков работать с большей отдачей. В 1960 году Кэйский институт выиграл чемпионат лиги, а магическая формула Кнута неожиданно была опубликована в "Walter Cronkite’s Sunday" и в "Newsweek".
В 1960 году Кнут получил звание бакалавра по математике, причем студенты даже проголосовали за присуждение ему степени доктора. Летом этого года в Пассадене Кнут занялся работой по системному программированию, результатом которой было создание компилятора для ALGOL. За эту работу он получил 5,5 тысячи долларов. Осенью того же года он поступает в Калифорнийский технологический институт для получения степени доктора философии по математике.
В январе 1962 года издательство "Addison-Wesley" предложило Кнуту написать книгу по компиляторам. Он принял это предложение.