Как истинный джентльмен, пропустил девушку вперед. Хотя бы потому, что оне меня заинетерсовала. Как потенциальный сотрудник, в другом плане моё сердце занято навеки.
— Здравствуйте, меня зовут Бренда Бойл, я бы очень хотела изучить настоящее программирование, — вступила девушка.
— Для чего? Какие у вас есть навыки и задачи?
— Я работаю бухгалтером и хорошо знаю Паскаль, вот и…
Бухгалтер! Надо брать! Пусть напишет мне калифорнийскую версию «задницы Одина»!
— Настоящие программисты не используют Паскаль. Но вам с лихвой его хватит для расчета налогов, леди. Вы не приняты, — не дал договорить аспирант Сэм. Нашел за счет кого самоутверждаться.
В уголках серых глаз Бренды появились слезинки. А я, выходит, не настоящий программист.
— Мистер Гарланд, вы не правы. Позвольте мисс Бойл договорить, — не утерпел я. Робин Гуд ктулхов. Ну вот оно мне надо — влезать? В тот раз в школе на булочкины слезы стриггерился и конфликт с мисс фон Чичис заработал. И эта тоже, побольше поплачет — поменьше пописает, но… мужик я или не мужик, если позволю вот так девчонок тиранить?
— А вы, очевидно, ошиблись корпусом, молодой человек, — не стал сдерживать раздражение аспирант. — Кафедра этнических исследований находится в Уилер Холл, офис МЕЧА в Эшлеман-холл, библиотека Чикано и залы студенческого союза тоже не здесь. Вы не подходите. Мне по вашему равнодушному взгляду все стало понятно еще во время лекции.
Несколько задержавшихся белых очкариков захихикали, ожидая блистательное шоу. Дежавю! Я уже бывал в этом месте раньше!
— По какому критерию я и мисс Бойл не проходим, сэр? По цвету кожи и полу?
Не то, чтобы мне хотелось разыгрывать ту же карту, что и тем чикано со ступенек, их борьба не моя. Но…
— По знаниям и навыкам, амиго. Вы хотя бы простейший алгоритм сортировки написать способны? Сталкивались вообще с чем-то серьезнее Паскаля? Очевидно, что нет. Приходите тут, тратите моё время, качаете права, а затем взгляды прячете.
— Сортировка? Я могу. Это несложно, — твердо сказала девушка, утерев слезу бумажной салфеткой.
— Нет ничего проще, — подтвердил я.
Аспирант вздохнул со вселенской тоской.
— Пишите, — кивнул он в сторону доски.
Бренда справилась быстро. Взяла мел и написала белым по зеленому примитивный пузырьковый алгоритм на Паскале. Всё по ТЗ, как по мне.
— Сэр, прежде чем вы что-то скажете, я хочу поймать вас на слове — речь шла о простейшем алгоритме, мисс Бойл его и продемонстрировала. На мой взгляд — безупречно.
Толстушка посмотрела на меня с благодарностью. Вот как чувствует себя Лео, выступая в суде, наверное.
— Конечно, на ваш взгляд, вы же эксперт, — рассмеялся Гарланд.
Расисты-сексисты из зала охотно подхватили. Уроды.
— Позвольте, я докажу свой уровень компетентности, — не удержался я от хищной улыбки. — Мисс Бойл, передайте мне мел.
Глава 15
Ох не зря я вспоминал алгоритм быстрой сортировки, когда начинал играться с Си. Его и воспроизвел на доске, собственно, на языке, созданном Деннисом Ритчи. Си не умрёт никогда — так и знай, на нас работы хватит, не переживай.
Квиксорт — самая-самая классика задач упорядочивания массива. Он и в новейшем времени актуален, но уже не совсем в чистом виде.
Никаких революций и фурора написанный мной на доске алгоритм совершить не должен, его придумали еще в какие-то лохматые времена, чуть ли не в шестидесятых, но вот доказать мою собственную компетентность безупречный код на Сях обязан. И утереть нос расисту-аспиранту, да. Пусть весь мой опыт и говорит о том, что так легко «белый господин» обезьянку из гетто за равного не признает. Но с тем же Миллером в итоге удалось контакт наладить.
Группа поддержки из зала притихла. Когда какой-то там унтерменьш вдруг начинает демонстрировать неожиданные навыки, они всегда затыкаются. Сэм смотрел на мой код с прищуром и недоверием.
— Для чего нужно вот это условие? — ткнул он подобранной со стола указкой в третье ключевое ветвление.
— Проверка на то, что элемент равен опорному. Без нее будет медленно работать на массивах с большим количеством повторяющихся чисел.
— В классическом варианте быстрой сортировки нет проверки на равенство, только на больше и меньше. Вы сами придумали модификацию?
Конечно, не сам. Квиксорт ведь до моего рождения изобрели. Мы его в нашем политехе досконально разбирали и я за каждую строчку поручиться готов. Между прочим, мне есть, как алгоритм улучшить. На коротких массивах до десяти чисел лучше использовать простую сортировку подстановкой, поэтому доцент говорил нам иметь две функции и вызывать ту, что сработает быстрее.
— По большей части да, мы придумали этот алгоритм вместе с мисс Джулай, когда она обучала меня языку Си, — вспомнилась старая отмазка.
Очень не хочется прослыть плагиатором, но если вдруг какой-нибудь умный дядька, тот же самый, что придумал доработку в реальности, вдруг уже изобрел то же самое, то объясню тем, что мысли у умных людей сходятся. Моральная сторона вопроса еще остаётся. Я, получается, какого-то академика обокрал. Может, даже кого-то уровня Вирта или Дейкстры.
— Вы должны понимать, что дополнительное ветвление — это накладные расходы, — еще раз посмотрел на доску Гарланд.
— Все зависит от исходных данных, сэр. Мы с мисс Джулай пришли к выводу, что в большинстве реальных случаев доработанная нами версия покажет себя лучше.
— Да кто она вообще такая?
— Мисс Джулай — это наша соседка из Лос-Анджелеса. Она научила меня играть в шахматы и программировать. Моя наставница, если угодно. Так мы с мисс Бойл доказали нашу состоятельность?
— Да-да, конечно, давайте ваши бланки, — рассеянно пробормотал Гарланд. По его лицу видно, что он уже мысленно в компьютере, вбивает мой код в терминал и оценивает эффективность.
Оба мы получили свои подписи в заявлениях о приёме на курс. Теперь придется вернуться в канцелярию и потратить сто баксов за сомнительную честь продолжить посещать курсы по языку, и так мне превосходно известному.
— Парень… Колон, — заглянул в бланк аспирант, — твой алгоритм выглядит любопытно, я пойду проверю его на стенде, на следующем занятии скажу результаты.
— Он называется джулайсорт, в честь моей наставницы, — поправил я его.
— Ага, как скажешь, твоё право назвать, как угодно, — совсем по-дружески хихикнул парень.
Вся прежняя враждебность Сэма куда-то ушла. Как же приятно ставить на место этих расистов, прямо хоть в МЕЧА вступай ради одного этого. Но это дурной путь, не мой. Да и для предвзятости могут иметься вполне разумные основания.
— Дождись меня, хорошо? Есть разговор, — сказал я Бренде, когда она собралась уходить и получил утвердительный кивок.
Блондинка поджидала меня у выхода из учебного класса.
— Спасибо, что вступился, не ожидала, что в этом университете сохранились рыцари, — сказала она, — учитывай только, что у меня уже есть парень. Никаких подкатов.
— Договорились, — по-деловому протянул ей руку, — я Крис. А ты правда бухгалтер?
— Что, собираешься стебаться? Да, считаю налоги, и у меня хорошо получается! — мгновенно вспыхнула блондинка. — Но я способна на большее! Бухгалтер — это оклад двенадцать тысяч в год и монотонная рутина. В статье в Байте я почитала про язык Си и то, что компиляторы для него появились и на TRS, и на IBM. Если начать изучать его уже сейчас — я стану востребованным специалистом!
— Стоп-стоп-стоп. Не горячись, мне как раз нужен кто-то, кто посчитает налоги для моей фирмы, оформит декларацию и прочее необходимое по закону. Потому и спросил. Я ищу программистов для своей компании. Если сможешь закрыть сразу две позиции — это преимущество.
— Твоей компании? Поняла, для твоего босса. Это умно — послать молодого подчиненного в универ подбирать перспективных.
— Да, мистера Коламбуса из Каналья Геймс.