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

 

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

Для многих широко распространённых языков программирования созданы международные стандарты.

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

В рамках таких организаций продолжается разработке, развитии и модернизации языков программирования и решаются вопросы о расширении или поддержке уже существующих и новых языков программирование.

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

По этому критерию можно выделить следующие уровни

языков программирования:

-Низкий (машинные): на нем построен машинный код и Ассемблер;

-Средний: на нем построен Фортран и С;

-Высший: на нем построены большинство популярных ЯП, такие как: C++, Java, Python, Ruby, JavaScript и т.д.

Разница в высших, средних и низких языков в том, что высокие языки относят программирования, которые созданы с расчетом на то, что их должны понимать люди. Они независимы: программистам не нужно знать, на каком оборудовании будет запускаться программа. Средние языки служат как бы связующим звеном между аппаратной и программной частью компьютера. Они действуют на уровне абстракции. А Низкие языки, в свою очередь, созданы для удовлетворения нужд конкретной компьютерной архитектуры и учитывают требования «железа». И вот в чем их разница.

1.Скорость.Что касается скорости, программы, написанные на низкоуровневых языках, являются более быстрыми, чем написанные на средне- или высокоуровневых языках. Причина этого в том, что эти программы не нуждаются в интерпретации или компиляции. Они взаимодействуют непосредственно с регистрами и памятью. Программы, написанные на высокоуровневых языках, относительно медленные. Главная причина этого в том, что они пишутся на «человеческом» языке. Компьютеру приходится переводить и интерпретировать их, прежде чем выполнить. Все эти процессы занимают время. Скорость средне уровневых языков занимает промежуточное положение. Ее не назовешь ни слишком высокой, ни слишком низкой.

2. Требования к памяти.

Это еще один параметр, с помощью которого можно разграничить три вида языков программирования. Низкие языки очень эффективны в этом плане, они потребляют мало памяти. Это их очень отличает от высокие языков, которые являются очень ёмкими в этом плане. А вот программы на средне уровневых языках уже не требуют столько памяти.

3. Легкость использования.

Низкие языки дружественны к машинам, но недружественны к программистам. Человеку довольно сложно иметь дело с бинарным кодом и мнемоникой. То, что каждая инструкция создается для конкретной архитектуры компьютера, делает низкоуровневые языки служат как бы связующим звеном между аппаратной и программной частью компьютера. Они действуют на уровне абстракции. А Низкие языки, в свою очередь, созданы для удовлетворения нужд конкретной компьютерной архитектуры и учитывают требования «железа». И вот в чем их разница.

1.Скорость.Что касается скорости, программы, написанные на низкоуровневых языках, являются более быстрыми, чем написанные на средне- или высокоуровневых языках. Причина этого в том, что эти программы не нуждаются в интерпретации или компиляции. Они взаимодействуют непосредственно с регистрами и памятью. Программы, написанные на высокоуровневых языках, относительно медленные. Главная причина этого в том, что они пишутся на «человеческом» языке. Компьютеру приходится переводить и интерпретировать их, прежде чем выполнить. Все эти процессы занимают время. Скорость средне уровневых языков занимает промежуточное положение. Ее не назовешь ни слишком высокой, ни слишком низкой.

2. Требования к памяти.

Это еще один параметр, с помощью которого можно разграничить три вида языков программирования. Низкие языки очень эффективны в этом плане, они потребляют мало памяти. Это их очень отличает от высокие языков, которые являются очень ёмкими в этом плане. А вот программы на средне уровневых языках уже не требуют столько памяти.

3. Легкость использования.

Низкие языки дружественны к машинам, но недружественны к программистам. Человеку довольно сложно иметь дело с бинарным кодом и мнемоникой. То, что каждая инструкция создается для конкретной архитектуры компьютера, делает низкоуровневые языки не дружелюбные к человеку из-за его написания.