Языки низкого уровня
Первым компьютерам приходилось программировать двоичными машинными кодами. Однако программировать таким образом — достаточно трудоемкая и сложная задача.
Для упрощения этой задачи стали появляться языки программирования низкого уровня, которые позволяли задавать машинные команды в более понятном для человека виде.
Для преобразования их в двоичный код были созданы специальные программы — трансляторы.
Трансляторы делятся на:
- компиляторы — превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).
- интерпретаторы — превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.
Примером языка низкого уровня является ассемблер. Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности, поэтому для переноса программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписать.
Преимущества
- С помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.
Недостатки
- Программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа.
- результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.
- значительное время разработки больших и сложных программ.
Языки низкого уровня, как правило, используют для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирование специализированных микропроцессоров, когда важнейшими требованиями являются компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Языки высокого уровня
Данный вид языков более понятен человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер.
В основном достаточно просто перекомпилировать программу под определенную компьютерную архитектурную и операционную систему.
Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше. Значительно сокращается время разработки программы, что особенно важно при работе над большими программными проектами.
К языкам программирования высокого уровня относятся:
- Фортран;
- Кобол;
- Алгол;
- Pascal;
- Java;
- C;
- C++;
- C#;
- Objective C;
- Smalltalk;
- Delphi;
- PHP;
- JavaScript;
- Лисп;
- Python;
- Ruby.
Достоинства языков программирования высокого уровня:
- алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;
- набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
- конструкции операторов задаются в удобном для человека виде;
- поддерживается широкий набор типов данных.
Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти.