Что значит язык программирования низкого уровня

В самых общих чертах язык программированияПрограммист использует это средство связи для того. Чтобы давать компьютеру инструкции. Эти инструкции называются Подобно многим естественным языкам. Которые мы используем для общения друг с другом. Существует множество языков. Которые программист может использовать для общения с компьютером. Каждый язык программирования имеет свой собственный набор слов и правил. Называемый синтаксисом этого языка. Если вы собираетесь написать программу. Вы должны следовать синтаксису языка. Который вы используете. Иначе вас не поймут.

Языки программирования обычно можно разделить на две категории: низкоуровневые и высокоуровневые, оба понятия мы вам представим и их отношение к C++.

Низкоуровневый

Нижним уровнем в компьютерных

Машинный код (также называемый двоичным) является самой низкой формой языка низкого уровня. Машинный код состоит из строки 0 и 1, которые объединяются. Чтобы сформировать осмысленные инструкции. Которые компьютеры могут выполнять. Если вы посмотрите на страницу двоичного кода. То станет ясно. Почему двоичный код никогда не является практичным выбором для написания программ; какой человек на самом деле сможет запомнить. Что означают связки строк 1 и 0?

Язык ассемблера (также называемый ASM) находится чуть выше машинного кода по шкале от низкого уровня до высокого. Это читаемый человеком перевод инструкций машинного языка. Которые выполняет компьютер. Например, вместо того. Чтобы ссылаться на инструкции процессора по их двоичному представлению (0 и 1). Программист обращается к этим инструкциям. Используя более запоминающуюся (мнемоническую) форму. Эти мнемоники обычно представляют собой короткие наборы букв. Которые символизируют действие соответствующей инструкции, такие как

Примечание:
Язык ассемблера зависит от конкретного процессора

. Это означает, что программа, написанная на ассемблере, не будет работать на компьютерах с различными процессорными архитектурами.
Использование ASM для оптимизации некоторых задач является общим для программистов C++, но потребует особых соображений, поскольку ASM не так переносима.

Вам не нужно понимать язык ассемблера. Чтобы программировать в C++. Но это помогает иметь представление о том. Что происходит Изучение языка ассемблера также позволит вам иметь больше контроля как программисту и поможет вам в отладке и понимании кода.

Преимущества написания в формате языка высокого уровня намного перевешивают любые недостатки. Связанные с размером и сложностью большинства задач программирования.:

  • Расширенная структура программы: циклы. Функции и объекты имеют ограниченное удобство использования в языках низкого уровня. Поскольку их существование уже считается функцией
  • Переносимость: высокоуровневые программы могут работать на различных типах компьютеров с небольшим количеством модификаций или вообще без них. Низкоуровневые программы часто используют специализированные функции. Доступные только на определенных процессорах. И должны быть переписаны для запуска на другом компьютере.

  • Простота использования: многие задачи. Которые потребовали бы много строк кода в сборке. Могут быть упрощены до нескольких вызовов функций из библиотек на языках программирования высокого уровня. Например, Java. Язык программирования высокого уровня. Способен нарисовать функциональное окно примерно с пятью строками кода. В то время как эквивалентный язык ассемблера занял бы по крайней мере в четыре раза больше.

Высокий уровень

Высокоуровневые языки делают больше с меньшим количеством кода. Хотя иногда происходит потеря производительности и меньше свободы для программиста.

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

Не язык программирования написана на то. Что можно назвать естественного языка , как Osmosian заказа простом английском языке компилятор и интегрированная среда разработки, которая написана исключительно на простом английском языке. Будучи простым языком. То открыт для обсуждения по определению). Во всяком случае. Из-за этой необходимости сокращения и контроля в отношении письменного выражения. Что приводит к использованию языков программирования (сконструированных и формальных языков) текст для программы иногда называют Это более подробно обсуждается в разделе Кода книги.

Важно сохранить то, что в то время как некоторые слова (инструкции) написаны на английском языке (в основном для удобства). Используемый язык отличается (как правило. По веским причинам. Иначе кто-то создаст новый язык программирования). Кроме того. Остальная часть вышеприведенного абзаца может иметь значение только тогда. Когда вы начинаете создавать парсеры. Языки и компиляторы. Чем выше уровень языка. Тем сложнее он работает. Чтобы решить проблему абстракции аппаратного обеспечения (процессор. Сопроцессоры. Количество регистров и т. Д.), Поддерживая переносимость кода и более высокую человеческую разборчивость за счет дополнительной сложности выражений и конструкций.

Имейте в виду. Что эта схема классификации развивается. C++ по-прежнему считается языком высокого уровня. Но с появлением новых языков (Java. C#, Ruby и т. Д.) C++ начинает группироваться с языками более низкого уровня. Такими как C.

Перевод языков программирования

Поскольку компьютер способен понимать только машинный код. Читаемый человеком код должен быть либо интерпретирован. Либо переведен в машинный код.

Интерпретатор — это программа (часто написанная на языке более низкого уровня). Которая интерпретирует инструкции программы по одной инструкции за раз в команды. Которые должны выполняться интерпретатором. Как это происходит. Как правило. Каждая инструкция состоит из одной строки текста или предоставляет какие-то другие четкие средства. Чтобы отличить каждую инструкцию друг от друга. И программа должна быть заново интерпретирована каждый раз. Когда программа запускается.

Компилятор-это программа. Используемая для перевода исходного кода. По одной инструкции за раз. В машинный код. Перевод в машинный код может включать разбиение одной инструкции. Понятной компилятору. На несколько машинных инструкций. Инструкции переводятся только один раз. И после этого машина может понимать инструкции и следовать им непосредственно. Когда ей приказывают это сделать. Полный обзор компилятора C++ приведен в разделе Компилятор книги.

Инструменты. С помощью которых можно обучать компьютер. Могут отличаться. Однако независимо от того. Какие операторы используются. Практически каждый язык программирования будет поддерживать конструкции. Которые выполняют следующие функции:

Ввод
Ввод-это процесс получения информации от устройства. Такого как клавиатура или мышь. А иногда и от другой программы.
Выход
Выход-это противоположность входу; он передает информацию монитору компьютера или другому устройству отображения или программе.
Математика/Алгоритм
Все компьютерные процессоры (мозг компьютера) обладают способностью выполнять основные математические вычисления. И каждый язык программирования имеет какой-то способ сказать ему об этом.
Тестирование
Тестирование включает в себя указание компьютеру проверить наличие определенного условия и сделать что-то. Когда это условие истинно или ложно. Условные выражения являются одним из самых важных понятий в программировании. И все языки имеют некоторый метод проверки условий.
Повторение
Выполняйте какое-то действие многократно. Обычно с некоторыми вариациями.

Дальнейшее изучение и анализ конструкций языка C++ приводится в разделе

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

C++ в основном компилируется, а не интерпретируется (есть некоторые интерпретаторы C++). А затем Как бы сложно это ни казалось. В дальнейшем вы увидите. Насколько легко это может быть.

Итак , как мы видели в разделе Мы узнаем подробности этих различий в разделе раздел