Спонсоры сайта:

Наличие этой страницы в поиске?

Информеры ТИЦ и PR

  Yandex ТИЦ:  
   Google PR:  

Путешественникам, меломанам, бизнесменам, вебмастерам, новости.

Содержание | <<< | >>>

Практическое значение интерпретатора





Интерпретатор С весьма интересен как объект исследований и экспериментов, кроме того, интерпретаторы вообще имеют немалое практическое значение.

Программы на С обычно компилируются. Главная причина этого в том, что язык С широко используется для создания коммерческого программного продукта. Для этой цели скомпилированная программа считается более предпочтительной потому, что компиляция позволяет сохранить конфиденциальность исходного текста программы, предотвратить изменение этого текста пользователем, эффективно использовать ресурсы компьютера. Кроме названных, существует немало и других причин. Видимо, компиляторы всегда будут доминировать при разработке программного продукта на основе С. Тем не менее, программа на любом языке может быть как скомпилирована, так и интерпретирована. В последние годы на рынке программных продуктов появилось даже несколько новых интерпретаторов С.

Можно назвать две традиционные причины того, что интерпретаторы продолжают использоваться: их легко сделать интерактивными, а также они очень облегчают отладку программы. Однако в последние годы разработчики компиляторов обычно создают интегрированные среды разработки (Integrated Development Environments, IDEs), в которых предусмотрены средства для интерактивной работы и отладки не хуже, чем имеющиеся у интерпретаторов. Поэтому обе вышеназванные причины применения интерпретаторов сейчас уже не актуальны. Однако интерпретаторы продолжают использоваться. Например, большинство программ, написанных на языках запросов к базам данных, сейчас интерпретируются, а не компилируются. Многие языки управления промышленными роботами также интерпретируются,

В последние годы проявилось еще одно преимущество интерпретаторов: повышенная переносимость на различные инструментальные комплексы. Характерный пример этого — язык Java. С самого начала Java разрабатывался как язык, предназначенный для интерпретации. Сделано было это специально для того, чтобы программы, написанные на нем, можно было выполнять на любом компьютере и в любой среде, содержащей интерпретатор Java. Такое свойство языка является чрезвычайно ценным, если программа предназначается для работы в распределенных сетевых системах наподобие Internet. Создание Java и широкое распространение Internet вызвали новую вспышку интереса к интерпретаторам в целом.

Есть еще одна причина, делающая интерпретаторы интересными для исследования: они легко поддаются модификации и расширению. Если программист хочет создать свой собственный язык, с которым можно экспериментировать, то сделать это с помощью интерпретатора значительно легче, чем с помощью компилятора. Интерпретаторы лучше подходят для создания макетов оболочек программирования, потому что при их использовании правила языка можно легко изменить и быстро увидеть результат.

Интерпретатор сравнительно легко создать, понять, как он работает, легко модифицировать и, что, возможно, наиболее существенно, работать с ним увлекательно. Например, представленный в данной главе интерпретатор можно переделать таким образом, что он будет выполнять программу от конца к началу, то есть, выполнять ее, начиная с закрывающейся фигурной скобки функции main() и кончая открывающейся скобкой. Или можно добавить любое специальное средство языка, какое захочется программисту. Образно говоря, компиляторы предназначены для коммерческих разработок, а интерпретаторы — для свободной игры воображения. Данная глава написана именно в этом духе и автор искренне надеется, что читатель получит от нее такое же удовольствие, как и он сам при ее написании.


Содержание | <<< | >>>

C++ исходники. Все примеры - рабочие:

часы:

Dev C++ WinAPI Стрелочные часы Analog Clock

Dev C++ WinAPI Цифровые прозрачные часы. Текст на рабочем столе. Digital transparent clock. Text on desktop

Dev C++ OLE WinApi CALENDAR and DIGITAL CLOCK (15kb). Календарь и цифровые часы

Dev C++ OLE WinAPI Календарь и цифровые часы почти Vista SideBar всего 21kb

плееры:

Microsoft Visual C++ 2008 Direct Show DVD Mini Player 10.5kb

Dev C++ WinAPI Микро медиа плеер 3.5kb

Dev C++ WinAPI Мини медиа плеер 4.5kb

Dev C++ WinAPI Hint Всплывающая подсказка

Dev C++ WinAPI RECT - имитатор кнопки

Dev C++ WinAPI Заполнить ListBox

Dev C++ WinAPI Заполнить, редактировать, сохранить, загрузить ListBox (PlayList)

Dev C++ WinAPI Индикатор уровня

Dev C++ WinAPI MP3 Микро плеер Открыть с помощью...

Dev C++ WinAPI Своя кнопка

изображения:

Dev C++ GDI+ WinAPI Mini FotoResizer (16kb), изменяет размеры всех фото (JPG) до указанного размера в выбраной папке и её подпапках

Dev C++ WinAPI Сохранить BITMAP экрана, десктопа, окна, клиентской области.

Dev C++ WinAPI Изменить размер изображения BMP RESIZE. Загрузка изображений из ФАЙЛА, вывод на экран и сохранение в файл.

Dev C++ WinAPI Загрузка изображений из РЕСУРСОВ и вывод на экран.

Dev C++ GDI+ WinAPI. Преобразовать изображения из одного формата в другой (JPG в BMP, GIF, PNG и обратно ), используя дополнительные библиотеки GDI+. Загрузка изображений из файла и сохранение в файл.

Dev C++ GDI+ WinAPI масштабирование JPG RESIZE

Dev C++ OLE WinAPI. Преобразовать изображения из JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из РЕСУРСОВ и сохранение в файл.

Dev C++ OLE WinAPI преобразовать JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из ФАЙЛА и сохранение в файл.

Dev C++ OLE WinAPI масштабирование BMP RESIZE

разное:

Dev C++ WinAPI Dev C++ Преобразовать цвет точки экрана в HTML код

Dev C++ WinAPI NOTIFYICONDATA WS_EX_TOOLWINDOW Иконка в области уведомлений (notification area, tray, трей). Удалить с панели задач (taskbar).

Dev C++ WinAPI ShellExecute Создать ссылку на WEB сайт

Dev C++ WinAPI ShellExecute Создать окно со ссылкой на WEB сайт

Dev C++ WinAPI CreateProcess ShellExecute WinExec Запуск приложения из приложения

Dev C++ OLE WinAPI Создать регион Regions PopUp Меню Menu

Dev C++ FindFiles. Поиск файлов заданного типа (в примере *.JPG) в папке и её подпапках

библиотеки:

Скачать библиотеку GDI+ для Dev C++

Скачать справочнник с примерами языка C.