Лекция: ВОПРОС 48. Средства программирования. Языки программирования высокого и низкого уровня. Обзор языков программирования высокого уровня.
Для создания программ или программных продуктов используются аппаратное и программное обеспечение.
Под аппаратным обеспечением понимают обычно все узлы, модули и блоки, составляющие компьютер или компьютерную систему. В современных компьютерах используется так называемая «открытая архитектура», т.е. состав аппаратного обеспечения компьютера можно изменить, поменяв один из модулей, или расширить, вставив дополнительный модуль.
Аппаратное обеспечение современных ПК включает в себя следующее:
системный блок,
устройства ввода информации в ПК (например, клавиатура),
устройства вывода информации из ПК (например, монитор).
Системный блок, клавиатура и монитор вместе составляют персональный компьютер в минимальной конфигурации, т.е. позволяют работать с информацией на компьютере.
Языки программирования низкого уровня
Первым компьютерам приходилось программировать двоичными машинными кодами. Однако программировать таким образом — достаточно трудоемкая и сложная задача. Для упрощения этой задачи стали появляться языки программирования низкого уровня, которые позволяли задавать машинные команды в более понятном для человека виде. Для преобразования их в двоичный код были созданы специальные программы — трансляторы.
Примером языка низкого уровня является ассемблер. Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности, поэтому для переноса программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписать. Определенные различия имеются и в синтаксисе программ под разные компиляторы. Правда, центральные процессоры для компьютеров фирм AMD и Intel практически совместимы и отличаются лишь некоторыми специфическими командами. А вот специализированные процессоры для других устройств, например, видеокарт, телефонов содержат существенные различия.
С помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.
Программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа. Так, если программа создается для компьютера, нужно знать устройство компьютера и, особенно, устройство и особенности работы его процессора.
результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.
значительное время разработки больших и сложных программ.
Языки низкого уровня, как правило, используют для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирование специализированных микропроцессоров, когда важнейшими требованиями являются компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Ассемблер — язык низкого уровня, что широко применяется до сих пор.
К языкам программирования высокого уровня относятся:
Pascal Java
C++ Objective C Delphi
Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы