Летает или не летает?

Я хочу рассказать о том, как мы делали компилятор Си++. Вообще-то, об этомстоило бы написать книгу?—?настолько эта история кажется захватывающей ипоучительной, однако… будет ли это кому-нибудь интересно? Даже если короткорассказать о наиболее существенных проблемах, с которыми мы столкнулись, трудноизбавиться от мысли о, скажем, неактуальности нашего опыта в сегодняшнейроссийской ситуации в программировании. В самом деле, посмотрите хотя бы наполки отделов книжных магазинов, торгующих компьютерной литературой.Невероятное (по сравнению с картиной 5-6-летней давности) разнообразие книг!Практически по любому программному продукту, мало-мальски используемому у нас,можно гарантированно найти по крайней мере две-три книги. Однако работ,посвященных современным архитектурам, проблемам разработки программногообеспечения, принципам построения сложных систем, таких, как компиляторы, СУБД,операционные системы,?—?нет. Только описания конкретных инструментов, пакетов исистем. Ситуация в некотором смысле обратная той, которая складывалась вдоперестроечное время: тогда очень многие серьезные работы известных западныхавторов, пусть с опозданием на пару лет, но выходили у нас. Печатались и оченьнеплохие отечественные книги. (И между прочим, находили спрос, и многиемгновенно становились библиографической редкостью!)

Все это определенно говорит о том, что спрос на подобного рода публикациипрактически отсутствует. Кому сейчас интересна проблематика разработкикомпиляторов, когда у любого программиста на выбор имеются три-четырепревосходных западных продукта, а наша промышленность уже давно не производитсобственных компьютеров, для которых могли бы понадобиться подобные разработки?

У этих опасений есть еще один аспект. Опыт общения с западными специалистами поПО, как достаточно известными и уважаемыми, так и рядовыми программистами,убедил в одной простой вещи: практически никому не интересны те проблемы итрудности, с которыми ты сталкиваешься в процессе реализации того или иногопроекта; мало кого интересуют пути и способы их преодоления. Важен и интересенпрежде всего результат! Об этом образно сказал нам один коллега, эмигрировавшийв Швейцарию лет пятнадцать назад.

—?Вот ваш "Буран",?—?сказал он (дело было больше двух лет назад), удобнорасположившись в кресле на открытой террасе Политехнического института вЛозанне с видом на Женевское озеро.-- Программа вроде бы завершиласьединственным полетом в беспилотном режиме. Наверняка в процессе его разработкиконструкторы продемонстрировали высокую квалификацию, нашли какие-то интересныенестандартные решения, придумали и отработали технологию, решили уйму проблем ит.д. и т.д. Но…?—?заключил он с ехидцей в голосе,-- не летает! Не делает то,для чего был предназначен! А значит, и говорить о нем бессмысленно. Его нет, иэто главное.

Светило ласковое солнце. Сквозь большие окна факультета информатики был виденпросторный студенческий компьютерный класс, уставленный огромными цветнымимониторами Sparc’ов. В сырой и холодной Москве слетавший в космос «Буран»сиротливо пристроился в парке Горького среди аттракционов. Возразить былонечего.

С тех пор в наших разговорах метафора "летает?—?не летает" приобрела вприменении к нашему проекту почти ритуальный характер. Она не потеряла своюактуальность даже и сейчас, когда вроде бы по результатам тестирования насоответствие стандарту Си++ наш компилятор стабильно обгоняет все последниеверсии Watcom и транслирует сам себя почти так же быстро, как это делает VisualC++.

Компилятор "не летает". То есть не распространяется, не используется, неприменяется в конкретных разработках. Почему?—?отдельная история.









 


Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Верх