Джон Кемени (John Kemeny), один из пионеров преподавания этой дисциплины в США, использовал для обоснования такой концепции преподавания понятную многим аналогию с вождением автомобиля. Для того чтобы сесть за руль и стронуться с места, совсем не обязательно знать, что происходит под капотом, но тот, кто не знаком с правилами движения и основными приемами управления автомобилем, обречен сидеть на заднем сиденье, а не на месте водителя. Кемени различает три подхода к обучению. Первый - алгоритмический - обучать сначала тому, как функционирует автомобиль в целом и отдельные его агрегаты: двигатель, трансмиссия, топливная система и т.д. Второй подход - потребительский - нанять шофера, устроиться на заднем сиденье и созерцательно глядеть на мир за окном. Третий подход- это подход программиста, который я и отстаиваю в этой книге,- научиться водить автомобиль и ориентироваться в обстановке на дороге, пренебрегая детальным знанием о том, что происходит под капотом. Овладевший этими знаниями, всегда сможет добраться до места назначения (если, конечно, автомобиль будет исправен - но это уже другая песня). Те, кто давно делает бизнес на прокате автомобилей, выразили эту мысль простой формулой: "Предоставьте нам усадить вас на место водителя".
Программирование на языке С с применением OpenGL
В прежние времена наиболее серьезные сложности при чтении курса компьютерной графики и подготовке учебников по этой дисциплине были связаны с отсутствием общепринятой графической библиотеки или интерфейса прикладного программирования (API - Application Programming Interface). Из-за этого приходилось приобретать специализированные средства по довольно высокой цене, которые были недоступны большинству студентов вне пределов вуза, страдали отсутствием общности и были довольно сложны в освоении. Появление OpenGL в значительной мере сняло эти вопросы, в чем на собственном опыте убедились те, кто ранее использовал в практике преподавания как другие пакеты API (такие как GKS и PUIGS), так и "доморощенное" программное обеспечение. На сегодняшний день графическая система OpenGL поддерживается большинством производителей рабочих графических станций, а независимые разработчики создали средства ее поддержки для большинства существующих аппаратных и программных платформ. Эта система доступна тем, кто работает в операционной среде Microsoft Windows (как 98, так и NT), а пользователей компьютеров Apple фирма-изготовитель известила о том, что OpenGL будет включена в качестве базового компонента в будущие версии операционной системы. Свободно распространяются исходные программные коды системы Mesa - пакета API на базе OpenGL, - которые можно компилировать в большинстве операционных систем, в том числе и Linux.