Я хочу рассказать о том, как мы делали компилятор Си++. Вообще-то, об этом стоило бы написать книгу — настолько эта история кажется захватывающей и поучительной, однако… будет ли это кому-нибудь интересно? Даже если коротко рассказать о наиболее существенных проблемах, с которыми мы столкнулись, трудно избавиться от мысли о, скажем, неактуальности нашего опыта в сегодняшней российской ситуации в программировании. В самом деле, посмотрите хотя бы на полки отделов книжных магазинов, торгующих компьютерной литературой. Невероятное (по сравнению с картиной 5-6-летней давности) разнообразие книг! Практически по любому программному продукту, мало-мальски используемому у нас, можно гарантированно найти по крайней мере две-три книги. Однако работ, посвященных современным архитектурам, проблемам разработки программного обеспечения, принципам построения сложных систем, таких, как компиляторы, СУБД, операционные системы, — нет. Только описания конкретных инструментов, пакетов и систем. Ситуация в некотором смысле обратная той, которая складывалась в доперестроечное время: тогда очень многие серьезные работы известных западных авторов, пусть с опозданием на пару лет, но выходили у нас. Печатались и очень неплохие отечественные книги. (И между прочим, находили спрос, и многие мгновенно становились библиографической редкостью!)
Все это определенно говорит о том, что спрос на подобного рода публикации практически отсутствует. Кому сейчас интересна проблематика разработки компиляторов, когда у любого программиста на выбор имеются три-четыре превосходных западных продукта, а наша промышленность уже давно не производит собственных компьютеров, для которых могли бы понадобиться подобные разработки?
У этих опасений есть еще один аспект. Опыт общения с западными специалистами по ПО, как достаточно известными и уважаемыми, так и рядовыми программистами, убедил в одной простой вещи: практически никому не интересны те проблемы и трудности, с которыми ты сталкиваешься в процессе реализации того или иного проекта; мало кого интересуют пути и способы их преодоления. Важен и интересен прежде всего результат! Об этом образно сказал нам один коллега, эмигрировавший в Швейцарию лет пятнадцать назад.
— Вот
Светило ласковое солнце. Сквозь большие окна факультета информатики был виден просторный студенческий компьютерный класс, уставленный огромными цветными мониторами Sparc’ов. В сырой и холодной Москве слетавший в космос «Буран» сиротливо пристроился в парке Горького среди аттракционов. Возразить было нечего.
С тех пор в наших разговорах метафора "летает — не летает" приобрела в применении к нашему проекту почти ритуальный характер. Она не потеряла свою актуальность даже и сейчас, когда вроде бы по результатам тестирования на соответствие стандарту Си++ наш компилятор стабильно обгоняет все последние версии Watcom и транслирует сам себя почти так же быстро, как это делает Visual C++.
Компилятор "не летает". То есть не распространяется, не используется, не применяется в конкретных разработках. Почему — отдельная история.
Что нам стоит дом построить?
Однажды (около четырех лет назад) в НИИ при Московском университете, где мы тогда работали, появился высокий представительный мужчина с вальяжными манерами, окладистой бородой, большой лысиной и выразительными глазами навыкате.
Ничего удивительного в этом не было. Иностранцы посещали нашу "контору" через день, а то и чаще; каждая лаборатория либо выполняла какие-нибудь работы по западным заказам, либо изо всех сил старалась их получить. Это было тяжелое время: реальная зарплата истончалась с каждым месяцем, работы и каких-либо перспектив совершенно не было, немногочисленные предложения от государственных организаций носили отчетливый оттенок идиотизма и сиюминутности и подкреплялись безумно мизерным финансированием. Большие ЭВМ, когда-то работавшие круглосуточно и обслуживавшие весь университет, стояли; некоторым уже был подписан смертный приговор — золотосодержащие детали оказались более привлекательными, чем машинное время… НИИ медленно умирал и потихоньку пустел.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии