Какие бывают языки программирования высокого уровня

Боб Мэнсон (North Shore Rescue) на Flickr Каковы различия между языками высокого уровня и машинными языками? И как эти различия влияют на кодирование? Python, Perl, Haskell, Lua и многие другие языки программирования являются языками высокого уровня. Когда вы кодируете на этих языках, вы используете знакомые концепции, например циклы и хранилища данных.

Однако ваш код обрабатывается компьютером с помощью очень разных, часто незнакомых понятий. Таких как двоичные числа и машинный язык. Эти внутренние детали скрыты от языков высокого уровня. Например, вам не нужно знать, как назначить данные в определенный регистр памяти на вашем компьютере. Когда вы назначаете значение переменной в PHP.

Откуда берутся языки высокого уровня? Машинные языки. Первые языки программирования компьютеров. Эволюционировали в языки ассемблера. Которые эволюционировали в языки высокого уровня.

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

Затем машинный код запускается на компьютере.

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

Есть еще несколько полезных подробностей о языках программирования высокого уровня:как они выполняются. Как они работают внутри и как они работают с данными.

Языки высокого уровня выполняются компьютером по-разному:

  • Интерпретируемые языки читают свой код. А затем немедленно действуют. В некоторых случаях код компилируется в машинный код. А затем выполняется.
  • Скомпилированные языки считываются. А затем преобразуются в исполняемый код.
  • Переведенные языки читаются. А затем преобразуются в язык более низкого уровня.

Чтобы сделать вещи более запутанными. Языки высокого уровня могут быть прочитаны и выполнены в некоторой комбинации этих трех моделей выполнения.

Разные языки также по-разному абстрагируют свои внутренние процессы:

  • Объектно-ориентированные программы организуют функциональность и код в объекты и классы.

  • Функциональное программирование использует блоки кода для выполнения задач при вызове блока в программе.
  • Синтаксическое программирование использует макросы и другие методы для расширения синтаксиса. Используемого языком программирования.

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

В любом языке программирования также существуют различные виды абстракции:

  • Абстракция управления имеет дело с действиями, например, перемещением битов данных и добавлением или умножением битов данных.
  • Абстракция данных имеет дело с использованием и хранением данных, например. Ключей и значений для данных.

В то время как языки высокого уровня включают в себя большую сложность. Чем машинные языки. Преимущества. Полученные от использования языков высокого уровня. Перевешивают любые отрицательные стороны. И, как отмечалось выше. Различные языки программирования используют один или несколько методов интерпретации и выполнения. Чтобы получить преимущества.

Какой язык работает лучше всего. Зависит от того. Что вам нужно сделать.

Узнать больше

Высокоуровневый Язык программирования

https://en.wikipedia.org/wiki/High-level_programming_language

Абстракция

https://en.wikipedia.org/wiki/Abstraction_(computer_science)

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

https://en.wikipedia.org/wiki/First-generation_programming_language

Язык ассемблера

https://en.wikipedia.org/wiki/Assembly_language

Список языков программирования по поколениям

https://en.wikipedia.org/wiki/Generational_list_of_programming_languages

История языков программирования

http://www.computernostalgia.net/articles/HistoryofProgrammingLanguages.htm


http://www.levenez.com/lang/
http://visual.ly/history-programming-languages