Читаем Творческий отбор полностью

После того как мы увидели демоверсию Ричарда, мы все еще очень много не знали о браузере с открытым исходным кодом Konqueror, но мы хотели выяснить, так ли он хорош, как кажется. Дон предложил повнимательнее изучить исходный код — написанные программистами текст с инструкциями, которые и делают программное обеспечение тем, чем оно является. Он хотел, чтобы мы начали с отделения Konqueror от остального KDE, — занялись одной из трудностей, которую обошел Ричард, чтобы сделать свою демоверсию. Также Дон хотел оценить сложность Konqueror, так что мы решили подсчитать строки исходного кода. Сделав это, мы могли бы сравнить его с Mozilla и понять, насколько трудно будет превратить демоверсию Ричарда в реальный продукт.

Дон поручил работу по подсчету строк мне, вероятно, дав возможность внести свой вклад в достижение Ричарда. Если он хотел меня так мотивировать, то ему это удалось. На следующее утро после показа браузера я пришел в офис примерно на час раньше обычного, около шести утра. На стол рядом со своим Macintosh я установил PC с системным блоком типа «башня». Я собирался установить на него Linux и загрузить весь исходный код KDE. Сделав это, я бы изучил код и провел несколько тестов, чтобы начать процедуру отделения Konqueror от окружающей его системы.

Пока все устанавливалось, я смотрел на стоящие передо мной два компьютера: персональный компьютер с Linux и Macintosh. На моем столе их разделяло всего несколько сантиметров, но в плане ПО они были гораздо дальше друг от друга. Хотя можно проследить общее происхождение Linux и Mac OS X, восходящее к UNIX, операционной системе, созданной как исследовательский проект в лаборатории Bell в 1969 году, обе системы сильно отдалились от своей предшественницы. Со временем Linux и Mac стали напоминать две местности, в которых говорили на одном языке, но с разными диалектами. Linux говорил «трейлер», а Mac — «фура». Если говорить о таких приложениях, как веб-браузеры, то между ними едва ли существовала совместимость, но, если копнуть глубже, на уровне алгоритмов, с которыми работают программисты, сходство двух систем проявлялось сильнее. В них была общая техническая грамматика, обе системы позволяли компилировать и запускать программы, написанные на C++, языке программирования, который разработчики Konqueror использовали для написания исходного кода. Но даже при этом Linux и Mac использовали разные словари и идиомы программирования для написания программ на C++, особенно когда речь шла о графических пользовательских интерфейсах. В конечном счете мы не могли просто скопировать код с одного компьютера на другой. Если мы хотели использовать Konqueror как основу для нашего проекта веб-браузера, мы должны были залатать все подобные терминологические и технические отличия в исходном коде Konqueror под Linux и заменить оболочку Ричарда прочным фундаментом программного обеспечения. Адаптация кода, написанного для одной операционной системы, так, чтобы он работал на другой, настолько распространена, что у программистов даже есть специальное слово для описания этой задачи — портирование. Поскольку на выходе нам нужно было получить браузер стандарта Apple, исходный код которого должен был работать так, будто он изначально был написан для Mac (хотя это было не так), нам в самом деле предстояла большая работа по портированию.

Для того чтобы выделить код браузера из системы KDE, мне не потребовалось много времени. Программное обеспечение было организовано очень аккуратно, и Konqueror обитал, в основном, в двух директориях: KHTML и KJS.

После того, как я отделил код, я дал компьютеру задание подсчитать общее количество строк в этих двух директориях. Это должно было дать нам примерное представление о том, какой объем портирования нас ждет. Поскольку портирование могло потребоваться для каждой строчки кода, то, чем меньше их будет, тем лучше. Увидев результат, я улыбнулся, а когда я сообщил о нем Дону и Ричарду, они тоже расплылись в улыбке. В Konqueror было чуть больше 120 000 строк, и он составлял менее одной десятой размера Mozilla{12}. Сначала мы просто не могли поверить, что между двумя массивами исходного кода со схожими функциями может быть такая разница.

Дон объяснил, почему так произошло. Руководители проекта Mozilla разрабатывали систему, которая, как они надеялись, превратит их программное обеспечение в компоненты, соединяющиеся друг с другом, как кубики LEGO. Тем не менее такая схема требовала большого количества дополнительного стереотипного кода: программисты должны были сделать что-то вроде заполнения кучи форм, чтобы регистрировать новый код при повторном запуске системы, и эта волокита поглотила браузер. Теперь мы видели результат применения этого инженерного решения — размер кода Mozilla соотносился с кодом Konqueror как 10 к 1. Очевидно, работа с этими составляющими вышла из-под контроля. Mozilla оказался раздутым, громоздким и ненадежным.

Перейти на страницу:

Все книги серии Цифровые империи

Похожие книги

Ведьмак. История франшизы. От фэнтези до культовой игровой саги
Ведьмак. История франшизы. От фэнтези до культовой игровой саги

С момента выхода первой части на ПК серия игр «Ведьмак» стала настоящим международным явлением. По мнению многих игроков, CD Projekt RED дерзко потеснила более авторитетные студии вроде BioWare или Obsidian Entertainment. Да, «Ведьмак» совершил невозможное: эстетика, лор, саундтрек и отсылки к восточноевропейскому фольклору нашли большой отклик в сердцах даже западных игроков, а Геральт из Ривии приобрел невероятную популярность по всему миру.Эта книга – история триумфа CD Projekt и «Ведьмака», основанная на статьях, документах и интервью, некоторые из которых существуют только на польском языке, а часть и вовсе не публиковалась ранее.В формате PDF A4 сохранен издательский макет книги.

Рафаэль Люка

Хобби и ремесла / Зарубежная компьютерная, околокомпьютерная литература / Зарубежная прикладная литература / Дом и досуг
Справочник по параметрам BIOS
Справочник по параметрам BIOS

В справочнике в алфавитном порядке приведено описание большинства параметров современных BIOS. В краткой форме описаны большинство настроек BIOS, даны рекомендуемые значения для различных конфигураций компьютеров. Также рассказано, что представляет собой BIOS, какие типы BIOS существуют, как получить доступ к BIOS и обновлять ее.Кроме того, вы научитесь использовать различные функции BIOS, узнаете, как оптимизировать их с целью улучшения производительности и надежности системы.Для более глубокого понимания работы BIOS и детального рассмотрения ее функций рекомендуем обратиться к книге «Оптимизация BIOS. Полное руководство по всем параметрам BIOS и их настройкам» А. Вонга.Книга предназначена для всех пользователей компьютера – как начинающих, которые хотят научиться правильно и грамотно настроить свою машину, используя возможности BIOS, так и профессионалов, для которых книга окажется полезным справочником по всему многообразию настроек BIOS. Перевод: А. Осипов

Адриан Вонг

Зарубежная компьютерная, околокомпьютерная литература