- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Редкая профессия - Евгений Зуев
Шрифт:
Интервал:
Закладка:
Каждому приходилось самому искать дополнительный приработок. Правда, возможности были. Преподавали в многочисленных тогда учебных центрах совместных предприятий, писали для них учебные пособия, а то и книги, подрабатывали в коммерческих фирмах. Иностранные представители, которым наш директор с гордостью показывал "компьютерный класс" с десятком тайваньских XT, вежливо выслушивали его объяснения, сдержанно кивали и фотографировали со вспышкой, словно доисторическое чудовище, карточный перфоратор Juki, стыдливо задвинутый в дальний угол. Их предложения о совместных проектах (по крайней мере, доходившие до нашего отдела) либо носили несколько авантюрный и несолидный характер, либо были откровенно неинтересны. Несмотря на трудности и безвременье, мы все-таки ощущали себя системными программистами, и как-то не очень хотелось заниматься рисованием окон и конструированием экранных форм или переводом математических библиотек с одного языка программирования на другой. К тому же деньги предлагались оскорбительно скромные.
Однако то, что говорил высокий солидный бородач (назовем его Вальтер Деккер), звучало как откровение. Предлагалось разработать (не адаптировать, не доделать, не участвовать в разработке, а самим сделать from scratch — с нуля!) компилятор (компилятор!) с языка Си++ (!) для одной европейской (для определенности пусть для бельгийской) софтверной компании! Причем не какой-нибудь препроцессор в Си, как известный cfront, а честный прямой компилятор переднего плана, генерирующий низкоуровневый промежуточный код, используемый фирмой в системе программирования, в составе которой компиляторы Си, Модула-2 и Фортран.
Следует объяснить, что автор со студенческих лет питает к проблематике компиляции языков программирования особую страсть и имел к тому времени некоторый опыт как в проектировании языков (в частности, языков дискретного моделирования), так и в реализации различных языковых систем, включая (страшно сказать) системы построения компиляторов. Этот опыт целиком относился к прежним временам, а проекты, за немногими исключениями, носили полуинициативный характер, будучи поддержанными только непосредственным начальством. Проекты не мешали текущей работе в "ящике" (правильнее сказать, текущая работа не слишком препятствовала этим проектам). Поэтому предложения бельгийца казались невероятной удачей и в то же время справедливой наградой за долгие годы верности избранному направлению.
Фирма хотя и не обладала именем, звучащим в мировом масштабе, но казалась вполне респектабельной: она существовала уже более 25 лет, что для софтверной фирмы, согласитесь, немало, участвовала в нескольких общеевропейских проектах; ее продукты (в том числе, собственная коммерческая реализация UNIX) имели не одну тысячу пользователей. Так что желание дополнить свою систему программирования новым мощным языком выглядело вполне логичным.
Любителям разгадывать псевдонимы и умолчания сказанного вполне достаточно, чтобы узнать страну, компанию, да и ее представителя.
Первый настораживающий момент (хотя то, что нам следовало тогда насторожиться, мы поняли гораздо позже) прозвучал вскоре после начала переговоров. Когда речь зашла о составе команды и предполагаемых сроках, то шеф, профессор Владимир Александрович Сухомлин, сам имеющий высокую квалификацию и немалый опыт подобных работ, не менее нашего опьяненный перспективой настоящего дела, немедленно ответил: три разработчика за один год. Сейчас мы понимаем, что здесь насторожиться следовало бельгийцам, уж конечно, прекрасно знающим, каковы реальные трудозатраты подобных разработок: не имеют ли они дело с неопытными авантюристами? Однако они просто спросили: не очень мало? Тогда шеф, сделав для солидности паузу, сказал: ну ладно, год и четыре месяца.
Однажды в эхо-конференции по языку Ада — comp.lang.ada — прозвучал вопрос от некоего молодого человека по имени Mайк Уайт. Этот замечательный парень из Массачусетса написал примерно следующее: вот на Макинтошах нет приличного компилятора для новой редакции Ады, так, может, я бы его сделал? Сколько примерно это заняло бы времени? Вопрос звучал слишком наивно, да и имя сильно смахивало на псевдоним, так что это вполне можно было бы принять за провокацию. Правда, говорят, американцы вообще довольно простодушный народ…
Что тут поднялось! Крупнейшие специалисты по языку Ада, мировые знаменитости вроде Роберта Девара всем своим весом (кто его видел, тот поймет мою иронию) обрушились на бедного Майка. "Вы сумасшедший! Вы не представляете, что такое сделать компилятор! Вы плохо изучали в университете курс по компиляции языков! Вы никогда не доведете этот проект до конца! На это требуется минимум 25-30 человеко-лет!" Тот, кажется, несколько ошарашенный этим тайфуном, растерянно отписывался: "Да… теперь я понимаю… это невозможно… лучше портировать GNAT на Макинтош… А может, мы с кем-нибудь скооперируемся и вместе все-таки попробуем?.."
Как знать, если бы этот американский Миша Белов не наткнулся тогда на столь суровую и дружную отповедь, быть может, он сейчас с парой приятелей уже заканчивал бы свой компилятор? Хорошо известно, что очень многие достойные проекты (примеры известны всем) выполнялись предельно малыми силами. И если бы мы, подобно Майку, перед тем как начать работу, спросили бы в comp.lang.cpp: друзья, а получится у нас компилятор — втроем за год?-- почти наверняка получили бы аналогичный шквал критики.
Тогда мы об этом не думали. Конечно, мы знали Си++ только как пользователи, сам язык еще не приобрел своей теперешней монструозности, да и работа казалась настолько заманчиво-интересной и в то же время ясной, что инстинктивно хотелось заинтересовать собой фирмачей, не оттолкнув их слишком большими сроками. Но они-то, они — сделавшие и UNIX, и серию компиляторов, замахивающиеся на еще более амбициозные проекты, казалось, собаку съевшие на управлении программными разработками,-- как они могли не насторожиться?
Они не удивились. Они сказали: "Хорошо, пишите план на полтора года".
По рукам!
У кого-то из классиков есть забавная шутка (за точность цитаты не ручаюсь, но смысл передан верно): "Системные программисты не вполне понимают, за что им платят большую зарплату: ведь они выполняли бы свою работу и бесплатно. Правда, у них хватает ума не говорить об этом своему начальству". Это очень точное наблюдение — прямо про нас, только без "большой зарплаты".
Характер условий, предлагаемых бельгийцами, был, видимо, типичен для тогдашних отношений с иностранными фирмами: они передавали нам несколько рабочих станций Sun 3/60 на процессоре Motorola 68020 (которые к тому времени уже морально устарели и самой фирмой попросту списывались) и обещали платить… не скажу сколько, но, поверьте, очень и очень небольшие деньги — даже по тогдашним российским меркам.
Вообще-то, это не очень вязалось с обликом солидной фирмы, но осознание пришло гораздо позже. Да, еще: те станции, на которых мы должны были работать, передавались нам не просто так — они шли в счет оплаты за нашу работу! Мы оказались как бы должны им, еще не приступив к делу… Впоследствии то же произошло со SparcClassic. Когда на 3/60 стало совсем невозможно работать (примерно как если на XT пытаться редактировать графические изображения), нам перевели деньги на покупку этой самой младшей модели семейства Sparc с минимальной комплектацией, внеся ее стоимость в оплату проекта.
Естественно, результат работы становился собственностью фирмы, а с нас взяли подписку о неразглашении, согласно которой в течение всего срока действия контракта мы не имели права не только говорить об условиях работы и названии фирмы, но и вообще рассказывать о том, что мы делаем. Говорят, некоторые компании оговаривают и более суровые условия: скажем, после окончания действия контракта разработчик в течение некоторого времени не имеет права работать над аналогичными проектами. Какое счастье, что бельгийцы до этого не додумались — мы бы подмахнули и такое…
Можно сколько угодно смеяться над нашей наивностью и недальновидностью, но когда вот сейчас, наяву, предлагается в точности та работа, о которой (простите за высокопарность) мечтал всю жизнь…
Кажется, мы и сейчас приняли бы подобные условия (шутка).
Глаза боятся, а руки делают
Не знаю, решились бы мы на этот проект, если бы сразу представляли (так, как знаем сейчас) его истинную трудоемкость. Тогда язык Си++, судя по учебным пособиям, казался нам… да, непростым для компиляции, с корявым и неоднозначным синтаксисом, сильно усложненной семантикой традиционных конструкций, но вполне сравнимым, например, с объектной версией Паскаля фирмы Borland. Так что срок, названный шефом, поначалу не вызвал у нас протеста. Однако чтение первой же действительно серьезной и подробной книги — перевода авторского определения языка[1], предложенного в качестве начальной версии для его стандартизации, повергло нас в ужас и панику. Казалось, это безумие невозможно реализовать вообще! Тогда мы поняли настоящую цену учебникам типа "Язык XXX за двадцать один день" или "YYY — это просто!". Подобные тексты (сами по себе, быть может, и неплохо написанные) оставляют за своими рамками настолько обширные области языка, избегают касаться стольких его тонкостей и особенностей, что в голове у читателя-программиста формируется зачастую усеченный и выхолощенный образ инструмента, который он собирается использовать.
