Все языки программирования можно разделить на три категории
Все языки программирования можно разделить на три категорииВсе языки программирования можно разделить на три категории:
языки НИЗКОГО уровня -
машинные языки и язык Ассемблера;
ВЫСОКОГО уровня — все процедурные языки,
СВЕРХВЫСОКОГО уровня — декларативные языки (при решении задач
на этих языках от программиста требуется
описать, ЧТО надо сделать, а не КАК это
следует делать)
Компьютер, как исполнитель алгоритма, «понимает» только машинный язык. Программы на языках низкого уровня имеют достаточно сложный алгоритм и могут состоять из сотен, тысяч и десятков тысяч команд.
Языки программирования высокого уровня занимают
промежуточное положение между нормальным
человеческим языком и машинным языком. По
наглядности и компактности записи
алгоритмов эти языки сравнимы с языком
математики.
Компьютер не может выполнять команды языка высокого уровня — он его не понимает!
Поэтому существуют специальные программы, которые переводят команды языка высокого уровня на машинный язык. Такие программы-переводчики называют ТРАНСЛЯТОРАМИ.
Трансляторы подразделяются на ИНТЕРПРЕТАТОРЫ и КОМПИЛЯТОРЫ. Интерпретаторы можно уподобить переводчикам-синхронистам, а компиляторы – переводчикам книг.
Трансляторы |
|
Интерпретатор (Бейсик) | Компилятор (Паскаль) |
Команды
исходной программы последовательно (одна
за другой) переводятся на машинный язык
и компьютер тут же их выполняет.![]() + : позволяет начать выполнение даже не полностью законченной программы. — : выполнение программы происходит медленнее, чем в режиме компиляции; не проверяется взаимосогласованность всех частей программы. |
Все
команды исходной программы сначала
переводятся на машинный язык, а затем
полученная машинная программа
выполняется компьютером.
+ : проверяется не только правильность отдельных операторов (команд), но и согласованность их между собой. — : нельзя начать выполнение незаконченной программы; невозможно видеть промежуточные результаты |
Что такое языки низкого, среднего и высокого уровня?
Языки программирования можно разделить на три широкие категории. Это языки высокого уровня, среднего уровня и низкого уровня. Эти три типа языков различаются в зависимости от различных характеристик.
Высокий уровень относится к языкам программирования, написанным таким образом, который может быть понят человеком. Они независимы, и программистам не нужно иметь никаких предварительных знаний об оборудовании, в котором будет использоваться программа. Примеры языков программирования высокого уровня включают C ++ и Python.
Языки среднего уровня служат мостом между аппаратным и программным уровнем компьютера. Они работают на уровне абстракции компьютера. С другой стороны, языки низкого уровня написаны для удовлетворения потребностей конкретной архитектуры компьютера и требований к оборудованию.
В этой статье мы рассмотрим основные различия между языками программирования высокого уровня, среднего уровня и низкого уровня.
1. Скорость
С точки зрения скорости программы, написанные на языках низкого уровня, быстрее, чем программы, написанные на средних и высокоуровневых языках. Это связано с тем, что эти программы не нужно интерпретировать или компилировать. Они взаимодействуют непосредственно с регистрами и памятью.
С другой стороны, программы, написанные на языке высокого уровня, относительно медленнее. Основная причина этого — они написаны на человеческом языке. Это означает, что компьютер вынужден переводить и интерпретировать их на человеческом языке, прежде чем он их выполнит. Все эти процессы требуют много времени.
Скорость среднего уровня языка находится между языками высокого и низкого уровня. Это не слишком высоко или слишком низко.
2. Требование к памяти
Это еще один параметр, который мы можем использовать для дифференциации этих трех типов языков. Низкоуровневые языки очень эффективны с точки зрения памяти. Они потребляют меньше памяти. Это очень отличается от языков высокого уровня, которые, как известно, являются интенсивными для памяти. Они потребляют большую память, особенно когда мы считаем, что тот факт, что эти языки все еще работают в определенной среде выполнения. Эффективность памяти языков программирования среднего уровня не так высока по сравнению с языками высокого уровня.
3. Простота использования
Низкоуровневые языки дружелюбны к машинам, но недружественны для программистов-людей. Как программист на людях, довольно сложно справляться с бинарниками и мнемониками. Тот факт, что каждая инструкция предназначена для конкретной компьютерной архитектуры, делает язык более техническим. Короче говоря, низкоуровневые языки трудно освоить.
С другой стороны, языки высокого уровня благоприятны для людей. Они состоят из английских заявлений, которые можно легко узнать и запомнить. Это объясняет, почему они являются наиболее популярным типом языка программирования.
4. Портативность
В этом контексте термин переносимость относится к способности языка использоваться на разных компьютерах. Низкоуровневые языки программирования менее переносимы. Это связано с тем, что их инструкции зависят от машины. Это просто означает, что каждая команда написана для конкретной машины. Коды для конкретной машины не могут работать в другой компьютерной архитектуре.
Языки высокого уровня не зависят от машины. Один код можно использовать на другой машине и даже на другой архитектуре без каких-либо трудностей. Это означает, что высокоуровневые языки программирования очень портативны. Вы можете перенести программу, написанную на высоком уровне, из одной среды в другую, и она все равно будет работать.
5. Абстракция
В этом контексте абстракция относится к взаимосвязи между языком и компьютерным оборудованием. Это минимальная или даже нулевая абстракция между низкоуровневыми языками с компьютерным оборудованием. Эти языки легко взаимодействуют с памятью компьютера и регистрируются.
Разрыв между языками среднего уровня и аппаратными средствами весьма значителен. Он больше, чем язык низкого уровня, но меньше, чем язык с языками высокого уровня.
Как и ожидалось, языки высокого уровня имеют максимальный уровень абстракции. Это связано с тем, что они работают с самого верхнего уровня компьютера, где минимальное взаимодействие с оборудованием.
Как вы можете видеть, существуют явные различия между языками программирования высокого уровня, среднего уровня и низкого уровня. Мы также можем указать, что каждый тип языка программирования предназначен для удовлетворения его конкретных целей. По этой причине мы не можем рекомендовать один тип программирования над другим.
3.2.9 Классификация языков программирования
Learn It: Какие существуют уровни языков программирования?
Язык программирования — это формальный язык, который содержит набор инструкций которые производят различные виды продукции. Языки программирования используются в компьютере программирование для реализации определенных алгоритмов. Большинство языков программирования состоят инструкций для компьютеров.
Компьютерная программа — набор инструкций, выполняющих определенную задачу при выполнении компьютером.Для работы большинства компьютерных устройств требуются программы. правильно. Компьютерная программа обычно пишется программистом и может быть могут быть написаны на языках высокого или низкого уровня, в зависимости от задачи и используемое оборудование.
- Когда мы думаем о программистах, мы, вероятно, думаем о людях, которые пишут на
языке высокого уровня
. - Большинство языков компьютерного программирования
написаны
наязыке программирования высокого уровня
. Онииспользуют
распространенный английский язык , чтобы сделать код болеепонятным
иускорить
процесс из писать и отлаживать программы . - Компьютеры , однако
используют
свойсобственный язык
написанный с использованиемдвоичного кода
под названиемМашинный код
. Это, известный
какнизкоуровневый язык
.
Языки программирования можно разделить на два разных уровня:
- Языки высокого уровня
- Языки низкого уровня — Языки ассемблера и машинный код, зависящие от оборудования/процессора.
Различия между языками низкого и высокого уровня:
Learn It: Program Translators
Программные переводчики:
- Языки высокого уровня и языки ассемблера
нужно
для переводамашинный код
для компьютерапонять это
.
Есть три типа программ-переводчиков, которые могут это сделать:
- Переводчики
- После создания программы ее необходимо сохранить перед запуском.
- В этот момент язык программирования
переводит
исходный кодмашинный код
по одной команде/строке за раз исразу
выполняет их . - У вас должен быть интерпретатор
, установленный
на вашем компьютере, чтобы с
позапустить
программное обеспечение - Каждый раз, когда программа запускается , она
имеет
для повторного перевода - Длинная сложная программа займет значительно
больше времени от
довыполнить
если интерпретируется . - Это делает интерпретируемый код
более медленным
для запуска , чемскомпилированный код
, но онпоказывает любые ошибки
, как только находит их , поэтомулегче отлаживать
9016 9016 9016 9016 скомпилированный код 90
. Python, Basic, JavaScript и Pascal всеязыки программирования на основе интерпретатора
.
- Компиляторы:
- A Compiler
Переводит
ALL TheИсходный код
. - Машинный код - это сохраненный и сохраненный в
отдельный файл
на язык программирования высокого уровня . - Как только программист
создал программу
, ему нужно запросить еескомпилировать
до они могутзапустить
ипротестировать
файл, который можетзанять некоторое время
. - Это может
сделать тестирование
небольшие участки программымедленнее
как всей программенужно
для компиляции - Компиляция может занять много времени , но
после завершения
скомпилированныйкод выполняется быстро
исообщает
списокошибок
, если они произошли. - Всего , как только программа
завершила компиляцию
,скомпилированные программы
выполняются набыстрее для запуска
. Java и С++ являются языками программирования компиляторов . - Для разработчика ,
скомпилированный код
имеетпреимущество
в том, что пользователь программного обеспеченияне может
увидетьисходный код
илископировать его
.
- A Compiler
- Сборщики:
- Ассемблер
переводит
язык ассемблера вмашинный код
и равен фактически является компилятором дляязыка ассемблера
, но также может использоваться интерактивно как интерпретатор - Язык ассемблера использует слова, называемые
«мнемоники»
, такие какLOAD, STORE
иADD
.Инструкции являются
специфическими
дляаппаратного обеспечения
, будучизапрограммированными
, потому чторазличных ЦП
используют разных языка программирования . - Наконец , каждая
инструкция на языке ассемблера
переведена
в одиночныймашинный код
инструкция .
- Ассемблер
- Компиляторы и интерпретаторы Таблица:
Badge It: Exam Questions
Silver — Exam Style Questions
- Объясните , почему разработчик, хорошо разбирающийся как в низкоуровневых, так и в высокоуровневых языках программирования, обычно использует язык высокого уровня, когда писать программы? (4 балла)
- Что такое машинный код? (1 балл)
- Приведите пример языка высокого уровня? (1 балл)
Загрузка в Основы программирования 3. 2 — 3.2.9 Классификация языков программирования: серебро на BourneToLearn
Badge It: Exam Questions
Gold - Ответьте на следующие вопросы:
- Опишите три различия между языками низкого уровня и языками высокого уровня? (6 баллов)
- Чем занимается переводчик? (2 балла)
- Определить два типа трансляторов , которые могут преобразовывать языки высокого уровня в машинный код? (4 балла)
Загрузка в раздел «Основы 3.2 программирования» — 3.2.9 «Классификация языков программирования»: золото на BourneToLearn
Badge It: экзаменационные вопросы
Platinum — экзаменационные вопросы
- В чем разница между интерпретатором и компилятором? (4 балла)
- Что такое язык ассемблера? (2 балла)
- Разработчик пишет программу.
- а) Программа написана на языке высокого уровня и затем переведена в машинный код. Опишите два различия между языком высокого уровня и машинным кодом? (2 балла)
- б) Одним из видов переводчиков является устный переводчик.
- i) Опишите как интерпретатор переводит программы на языке высокого уровня в машинный код? (1 балл)
- ii) Укажите название транслятора другого типа, который можно использовать для перевода кода высокого уровня в машинный код? (1 балл)
Загрузка в Основы программирования 3.2 — 3.2.9 Классификация языков программирования: Platinum на BourneToLearn
уровней языков программирования. Ознакомьтесь с меню, прежде чем заказывать… | by Mohit Chawla
Ознакомьтесь с меню, прежде чем заказывать еду.
Мы программируем компьютеры для выполнения определенных задач, обучая их действовать в соответствии с набором правил ( алгоритмов ) всякий раз, когда они получают входные данные предопределенного типа, чтобы получить ожидаемый результат. Для всех таких целей мы используем языки программирования.
Прежде чем вы начнете изучать эти языки, преобразуйте кофеин в код. Настоятельно рекомендуется, чтобы вы знали самую базовую классификацию языков программирования. Языки программирования можно в целом разделить на три категории :
- МАШИННЫЕ ЯЗЫКИ: Представьте их как «родной язык» компьютера , язык, наиболее близкий к самому аппаратному обеспечению. Каждый уникальный компьютер имеет уникальный машинный язык. Программа на машинном языке состоит из серии двоичных шаблонов (например, 01011100), которые представляют собой простые операции, которые может выполнять компьютер (например, сложение двух операндов, перемещение данных в ячейку памяти). Программы на машинном языке исполняемые, означающие, что их можно запускать напрямую. Программирование на машинном языке требует запоминания двоичных кодов и может быть трудным для программиста-человека. красивый и интерактивный пример присутствует здесь.
- ЯЗЫКИ АССЕМБЛЕРА: Они представляют собой попытку упростить программирование для человека.
Инструкции машинного языка заменены простыми аббревиатурами легочной диагностики (например, ADD, MOV). Таким образом, языки ассемблера уникальны для конкретного компьютера (машины). Перед выполнением программа на ассемблере требует перевода на машинный язык. Этот перевод осуществляется с помощью компьютерной программы, известной как ассемблер. Ассемблер написан для каждого уникального машинного языка.
- ЯЗЫКИ ВЫСОКОГО УРОВНЯ: Языки высокого уровня, такие как C, C++, JAVA и т. д., больше похожи на английский и, следовательно, облегчают программистам «думание» на языке программирования. Языки высокого уровня также требуют перевода на машинный язык перед выполнением. Этот перевод выполняется либо компилятором, либо интерпретатором. Компиляторы переводят весь исходный код программы перед выполнением. (Например: C++, Java)
Интерпретаторы переводят исходный код программы по одной строке за раз. (Например: Python) Интерпретаторы более интерактивны, чем компиляторы.