Законы эволюции программного обеспечения

Проведем ассоциации компьютера с человеком. У компьютера есть органы восприятия информации из внешнего мира – это клавиатура, мышь, накопители на магнитных дисках. У компьютера есть органы, «переваривающие» полученную информацию, – это центральный процессор и оперативная память. И наконец, у компьютера есть органы речи, выдающие результаты переработки. Современным компьютерам, конечно, далеко до человека. Их можно сравнить с существами, взаимодействующими с внешним миром на уровне ограниченного набора безусловных рефлексов. Этот набор рефлексов образует систему машинных команд. На каком бы высоком уровне мы ни общались с компьютером, в конечном итоге все сводится к скучной и однообразной последовательности машинных команд. Каждая машинная команда является своего рода раздражителем для возбуждения того или иного безусловного рефлекса. Реакция на этот раздражитель всегда однозначная и «зашита» в блоке микрокоманд в виде микропрограммы. Эта микропрограмма и осуществляет действия по реализации машинной команды, но уже на уровне сигналов, подаваемых на те или иные логические схемы компьютера, управляя различными подсистемами компьютера. В этом состоит так называемый принцип микропрограммного управления. Продолжая аналогию с человеком, отметим: для того, чтобы компьютер правильно питался, придумано множество операционных систем, компиляторов, сотен языков программирования. Но все они являются по сути лишь «блюдом», на котором по определенным правилам доставляется пища (программы) «желудку» (компьютеру). Таким образом, компьютер понимает только один язык – язык машинных команд.

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

Язык программирования – это специальный язык, на котором пишут команды для управления компьютером. Языки программирования созданы для того, чтобы людям было проще читать и писать для компьютера, но они затем должны транслироваться (транслятором или интерпретатором) в машинный код, который только и может исполняться компьютером. Языки программирования можно разделить на языки высокого уровня и языки низкого уровня.

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

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

Таблица 1

Язык

Основное использование

Описание

Ада В обороне Высокого уровня
Ассемблер Работы, требующие детального контроля за аппаратным обеспечением, быстрого исполнения и программ малого размера Быстрый и эффективный, но требующий определенных усилий и навыков
Бейсик В образовании, бизнесе, дома Прост в изучении
С Системное программирование, универсальное программирование Быстрый и эффективный, широко используется как универсальный язык
C++ В объектно-ориентированном про­граммировании Основан на языке С
Кобол Программирование в биз­несе Жестко ориентирован на коммер­ческие задачи, легко научиться, но очень много операторов
Форт Управление приложениями Использует инверсную польскую запись
Фортран Научная работа и вычис­ления Основан на математических фор­мулах
Лисп Искусственный интеллект Язык символов с репутацией трудно изучаемого
Модула-2 Системное программирование и программирование в режиме реального времени, универсальное про­граммирование Высоко структурирован, предназначен заменить Паскаль для приложений «реального мира»
Оберон Универсальное програм­мирование Небольшой, компактный язык, соединяющий многие черты Пас­каля и Модула-2
Паскаль Универсальный язык Высоко структурирован
Пролог Искусственный интеллект Символьно-логическая система программирования, в начале предназначенная для решения теорем, но сейчас использующаяся чаще для решения задач, связанных с искусственным интеллектом

Эволюция технических средств персональных компьютеров привела к повсеместному вытеснению старой «доброй» ОС MS-DOS значительно более мощными системами Windows, программирование для которых существенно сложнее, чем программирование для MS-DOS. Разработчики систем программирования, и прежде всего такие корпорации, как Microsoft и Borland, не замедлили выпустить соответствующие средства: уже в 1991 году, т. е. сразу после появления Windows 3.1, Borland выпускает Turbo Pascal for Windows, а в 1992 – усовершенствованную версию этой системы программирования – Borland Pascal with Objects 7.0. Эти первые специализированные инструменты требовали основательного знания Windows и были сложны в освоении. Но вот в 1993 году Microsoft выпустила первую визуальную среду программирования Visual Basic, и программирование для Windows стало даже проще, чем программирование для MS-DOS. В ответ на это Borland в 1995 году выпустила первую версию Delphi, а затем, с интервалом в 1 год, – еще 4 версии: 2, 3, 4 и 5. Наконец, в середине 2001 г. выпускается версия 6.

Delphi продолжила серию Паскаль-ориентированных средств программирования и является наиболее удобным инструментом для Windows-программирования. Версии Delphi развивались по принципу наращивания своих возможностей. Если с 1-й по 4-ю версии Delphi могла работать с базами данных только с помощью механизма BDE, то в версии 6 таких механизмов уже 4 – BDE, ADO, IBExpress, dbExpress. Если 8 компонентов страницы internet версии 2 давали лишь возможность использовать некоторые технологии Интернет в локальных сетях, то более 100 компонентов версии 6 обеспечивают полноценную возможность Web-программирования, т. е. создания работающих под управлением Web-сервера программ, обеспечивающих интерактивное взаимодействие с клиентом и публикацию по его требованию необходимых данных.
В основе Delphi заложен современный язык программирования Object Pascal, без детального знания которого эффективная работа с Delphi невозможна. Особое значение имеет основополагающий инструмент Object Pascal – классы и объекты. Практически все современные языки программирования (в том числе C++ и Visual Basic) поддерживают методику объектно-ориентированного программирования, позволяющую резко сократить сроки разработки программ и существенно повысить их качество.
Добавить комментарий