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

Содержание

«Обзор языков программирования высокого уровня»

или напишите нам прямо сейчас

Написать в WhatsApp

1 2


ОГЛАВЛЕНИЕ


ВВЕДЕНИЕ
1.ОСНОВЫ ТЕОРИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1.Определение языков программирования
1.2. Классификация языков программирования
2. ОПИСАНИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
2.1. Обзор популярных языков программирования высокого уровня
2.1.1. Язык программирования С++
2.1.2. Обзор Java
2.1.3. Обзор C#
2.2. Среды разработки программных продуктов
3.РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПОМОЩЬЮ ЯЗЫКА ВЫСОКОГО УРОВНЯ С++
3.1.Практическое использование шаблонов в языках программирования высокого уровня
3.2. Разработка программы для обработки алгебраических матриц на языке высокого уровня
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ВВЕДЕНИЕ


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

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

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

–        языки низкого уровня;

–        языки высокого уровня.

Более понятными для ЭВМ являются машинно-ориентированные языки. ЯП, более понятные для обычного человека, именуются языками высокого уровня.

Все языки низкого уровня можно разделять на машинный язык (совокупности машинных слов), а также автокод (символьное представление машинного кода).

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

Цель работы – рассмотрение самых популярных языков программирования высокого уровня.

При написании работы поставлены такие задачи:

–  описать основные понятия теории языков программирования и их классификацию;

–  дать характеристику современным языкам программирования высокого уровня;

–  рассмотреть среды программирования, которые применяются в ЯП высокого уровня;

–  описать основные понятия объектно-ориентированного подхода к написанию программ;

–  на практике рассмотреть основные возможности языка программирования С++.

Проблему исследования изучали: К. Хортон [1], Н. Прата [12], В. Страуструп [4], Р. Лафортс [13].

1.ОСНОВЫ ТЕОРИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1.Определение языков программирования


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

Другими словами, языки программирования – формальные искусственные языки, которые состоят с:[5]

– алфавита;

– синтаксиса;

– семантики.

Алфавит является набором символов, которые программист может использовать.

Синтаксисом является система правил, которая предназначена для записи конструкций языка.

Под семантикой понимается набор правил, на основании которых следует толковать рассмотренные конструкции.

Все современные ЯП применяются при написании самых разных программных продуктов для ПК.

На рисунке 1 показана структура классического ЯП:



Основное требования с точки зрения написания программного кода – использовать систему команд, при непосредственной работе с которыми будут производится операции над самыми различными данными.

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

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

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

Хотя, стоит заметить, что здесь речь идет об специальных универсальных ЯП, что нашли свое широкое применение непосредственно для разработки программ в областях человеческой жизнедеятельности. Все такие языки создавались для конкретных целей, а также имеют свои достоинства и недостатки. [11]

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

Знание всех таких концептуальных оснований современной теории языков программирования для использования их базовых языковых конструкций дает возможности:[14]

–        более обоснованно определять ЯП для создания конкретного программного проекта;

–        разрабатывать алгоритмы для более эффективной работы приложения;

–        пополнять весь набор полезных конструкций для языков программирования;

–        ускорять изучение самых современных языков программирования;

–        применять полученные знания как фундаментальную базу для разработки более новых ЯП;

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

Стоит заметить, что языки программирования очень часто отличаются синтаксисом и своими функциональными возможностями.

Также некоторые различия в программном синтаксисе играют только малую роль при изучении основ ЯП, при чем само наличие или же отсутствие функциональных возможностей также влияет на реализацию, область применения языка.[11]

 

1.2. Классификация языков программирования


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

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

В нынешнее время имеются 4 основные парадигмы написания программ, отражающие вычислительные модели, при использовании которых описывается совокупность существующих методов программирования (рисунок 2).

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

Парадигма программирования в современной индустрии программирования определяется часто набором разных инструментов для программиста (операционная система (ОС), язык программирования, интегрированная среда написания программ).

Рис. 2. Парадигмы программирования

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

Полная приверженность человека к одной парадигме носит часто очень сильный характер.[19]

Императивное программирование – это парадигма программирования, описывающая процесс вычисления при применении инструкций, изменяющих общее состояние создаваемой программы.

Заметим, что императивная программа очень похожа на приказы, которые выражаются повелительно в человеческих языках.

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

Функциональное программирование – раздел дискретной математики, для которой процесс работы программы трактуют как вычисление некоторых значений математической функции. [17]

Логическое программирование относится к парадигме программирования, которая изучает методы и возможности по заданным логическим правилам. [4]

Все программы, которые при использовании данного подхода к программированию основаны на теории дискретной или математической логики. [13]

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

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

В результате был создан ЯП Prolog, который не требовал плана для реализации перебора вариантов, к тому же был, в некотором смысле, упрощением ЯП Planner.[15]

Объектно-ориентированное программирование (сокращенно ООП) – парадигма программирования, которая использует своими основными концепциями объекты и классы.

Стоит отметить, что кроме описанных параметров ООП часто применяются свойства, методы и другие (рисунок 3).

Рис. 3. Понятия ООП

Классом является тип, который описывает полное устройство объектов. Понятие подразумевает некоторое поведение, а также способ представления программируемого объекта. Термин «объект» подразумевает обладание определённым поведением или же способом представления. [11]

Стоит отметить, что каждый объект является экземпляром класса. Класс также часто сравнивают с неким чертежом, по которому формируются объекты.

С понятием ООП также связаны такие термины (рисунок 4):

Рис. 4. Понятия ООП

Абстрагирование в ООП – это придание объекту некоторых характеристик, которые его отличают от других объектов, определяя его концептуальные границы.

Такой подход является базовым для объектно-ориентированного программирования. Он позволяет работать с разными объектами, не вдаваясь непосредственно в особенности реализации. [7]

В каждом случае, кроме абстрагирования, применяется тот или иной инструмент:

–        инкапсуляция;

–        полиморфизм;

–        наследование.

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

Абстракция данных – это популярная техника программирования. Фундаментальные идеи состоят в разделении деталей реализации подпрограммы, а также характеристик существенных для ее корректного использования.

Данное разделение может выражаться через специальный «интерфейс», которые сосредотачивает описание всех применений программы[3].

Инкапсуляция – это свойство ЯП, позволяющее пользователю не рассматривать понятие сложности реализации применяемого программного компонента, а с ним взаимодействовать посредством предоставляемого интерфейса, а также защитить и объединить жизненно важные данные для компонента. При этом пользователям предоставляется только интерфейс объекта.

Пользователь может выполнять взаимодействия с объектом через этот интерфейс. [1]

Инкапсуляция – это один с четырёх важнейших механизмов ООП.

Сокрытие реализации применяют в случаях:

–        большой уровень локализации изменений при надобности таких изменений,

–        прогнозируемость разного рода изменений (какие именно изменения в программном коде надо сделать непосредственно для заданного изменения функциональности).

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

Иными словами, класс-наследник выполняет реализацию уже существующего класса.

В программировании различают 2 вида наследования:[14]

–        простое наследование;

–        множественное наследование.

Полиморфизм – это возможность объектов с аналогичной спецификацией иметь разную реализацию.

ЯП поддерживает полиморфизм, когда классы с аналогичной спецификацией могут иметь разную реализацию. К примеру, реализация класса может изменяться в процессе наследования[11].

Стоит отметить, что кроме классификации ЯП по поддерживаемым парадигмам применяется и следующая (рисунок 5):

Рис. 5. Классификация ЯП

В настоящее время существует в мире несколько сотен реально применяемых языков программирования, хотя с времени создания первых компьютерных машин человечество придумало более 8 тысяч языков программирования.[2]

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

2. ОПИСАНИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

2.1. Обзор популярных языков программирования высокого уровня

2.1.1. Язык программирования С++


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

В последние годы господство С++ слегка пошатнулось, ведь широкое развитие получили Java, Python и C#, но маятник мнения опытных разработчиков уже качнулся в обратную сторону, большинство программистов, что оставили программировать на С++, поспешили сразу возвратится к привычному ЯП. [6]

ЯП С++ – ЯП для общего назначения, что часто применим для написания кода системного программирования, понимаемом при этом в очень широком понимании.

Кроме того, ЯП С++ успешно применяется для написания приложений, выходящих далеко за рамки классического кода. Реализации ЯП С++ также часто присутствует полностью на всех ПК, от самых малофункциональных – и для применения в супер-ПК. [20]

Б. Страуструп является самым первым создателем и разработчиком ЯП С++, а также создателем транслятора. Он является авторитетным и очень опытным сотрудником научного центра корпорации AT&T, что находится в Нью-Джерси.

Страуструп получил почетное звание почетного магистра по вычислительной техники в институте города Арус, а имеющееся у него докторское звание – в Кембридже. [16]

Он специализируется и в сфере операционных систем, разных распределенных ИС, принципов программирования, моделирования, а также является автором руководства С++.

ЯП С++ обязан безусловно языку С [17], который сохраняется в качестве некоторое его подмножество. В нем сохранены все свойственные для С средства и методы программирования низкого уровня, предназначенные для разрешения задач по системного программирования. [6]

Название С++ придумано Р. Маскитти в 1982 г. Оно имело возможность показать свой эволюционный характер для нового ЯП С++. Обозначение «++» определяет операцию инкремента.

Изначально ЯП С++ был спроектирован также для того, чтоб Б. Страуструпу и его команде не надо было выполнять программирование программы на ЯВ ассемблера или других ЯП низких уровней. [3]

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

До какого-то времени определенного какого-то графика по разработке для языка С++ не было. Реализация и документирование для всех средств шли параллельно.

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

Примерно в 1984 г. стало очевидным, что работы по стандартизации С++ будут неизбежными и надо приступить незамедлительно к проектированию базиса.

Организация AT&T внесла также свой вклад в рассматриваемый этап работы. Больше 90 представителей выполняли приемы для изучение и комментировали аспекты языка, что стали современной версией для руководства по С++.

В процессе разработки ЯП С++ самым важным этапом была его простота. Поскольку при возникновении вопросов, именно что надо упростить: либо руководство, или документацию, то всегда выбирали первое. Огромное значение также все разработчики придавали совместимости ЯП С++ с С, что мешало изменить весь синтаксис. [9]

Пример кода на С++ показан на рисунке 6:[10]

Рис. 6. Пример кода С++

В ЯП С++ не используются различные типы данных, а также и операции высокого уровня. К примеру, в нем не существует одного типа под названием «матрица» с операциями обращения ее, или «строка» с операциями встроенной конкатенации.

Хотя иногда пользователю понадобится самому создать некоторый тип, то он может его определить с легкостью посредством самого языка. Написание программ в С++ также сводится и к определению зависящих параметров для типов или области программирования. [9]

Язык С++ создавался и по причине использования его для традиционной сферы, а именно в системах для программирования С на ОС Linux. Но есть уже обоснованные способы по применению С++ в этой богатой программной среде. К примеру, все системы трансляции, динамическую загрузка данных и БД, можно применять также и в Linux.[16]


1 2

или напишите нам прямо сейчас

Написать в WhatsApp

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

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

Процесс преобразования операторов исходного языка программирования в машинные коды
микропроцессора называется трансляцией исходного текста. В настоящее время ручная
трансляция программ практически не используется. Трансляция производится специальными
программами- трансляторами.

Существует два больших класса программ-трансляторов: компиляторы и интерпретаторы . При
использовании компиляторов весь исходный текст программы преобразуется в машинные коды, и именно
эти коды записываются в память микропроцессора. При использовании интерпретатора в память
микропроцессора записывается исходный текст программы, а трансляция производится при считывании
очередного оператора. Естественно, что быстродействие интерпретаторов намного ниже по сравнению
с компиляторами, т.к. при использовании оператора в цикле он транслируется многократно. Однако при
программировании на языке высокого уровня объЈм кода, который нужно хранить во внутренней памяти
может быть значительно меньше по сравнению с исполняемым кодом. ЕщЈ одним преимуществом
применения интерпретаторов является легкая переносимость программ с одного процессора на другой.

Рисунок 1. Классификация программ-трансляторов языков программирования.

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

  1. языки программирования «высокого» уровня
  2. языки программирования «низкого» уровня.

К языкам программирования «низкого» уровня относятся языки программирования в которых
каждому оператору соответствует не более одной машинной команды. Набор машинных команд каждого
конкретного процессора обязательно входит в состав такого языка программирования. Языки
программирования низкого уровня в настоящее время называются ассемблерами (старое название
автокоды). Для каждого процессора существует своя группа ассемблеров. Ассемблеры для одного и
того же процессора различаются между собой дополнительными возможностями, облегчающими
программирование.

Языки программирования «высокого» уровня позволяют заменять один оператор несколькими
машинными командами. Это позволяет увеличивать производительность труда программистов. Кроме
того, языки «высокого» уровня позволяют писать программы, которые могут выполняться на
различных микропроцессорах. (Естественно, что при этом необходимо использовать программы —
трасляторы для соответствующего процессора.)

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

В тех случаях, когда объЈм ОЗУ и ПЗУ мал (в районе нескольких килобайт) альтернативы ассемлеру
нет. Именно эти языки программирования позволяют получать самый короткий и самый
быстродействующий код программы (при прочих равных условиях, т.к. испортить можно всЈ!).

Языки программирования высокого уровня позволяют значительно сократить время создания
программы, но при этом увеличивается размер программы, поэтому для выбора такого языка
программирования для микропроцессорных систем необходимо иметь достаточно большой объЈм памяти
программ (несколько десятков килобайт). Увеличение объЈма программы связано с несколькими
факторами:

  1. Язык программирования расчитывается на все случаи жизни, поэтому в большинстве случаев
    человек мог бы написать программу короче (исключив не нужные в данном конкретном случае проверки
    или защиты).
  2. Программист не видит к чему приводит использование тех или других операторов языка
    программирования, поэтому может выбирать операторы, не оптимальные как с точки зрения длины
    машинного кода программы, так и с точки зрения быстродействия программы.
  3. Программист не использует подпрограммы там, где они могли бы сократить объЈм программы, так
    как на языке программирования высокого уровня это всего один или несколько операторов.

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

Для программирования микроконтроллеров используются только компиляторы, поэтому рассмотрим
подробнее виды этих трансляторов.

Компиляторы бывают оценочные и профессиональные.

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

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

Оценочные компиляторы обычно предлагаются бесплатно фирмами — производителями
микроконтроллеров. Только фирма Intel предложила в своЈ время профессиональный пакет разработки
программ — язык программирования PLM-51 в состав которого входит профессиональный язык
программирования ASM-51.

Профессиональные компиляторы разрабатываются и продаются отдельными фирмами. Для
микроконтроллеров семейства MCS-51 получили известность продукты таких фирм как FRANCLIN,
IAR, KEIL. В состав современных средств написания и отладки
программ для микроконтроллеров обычно входят эмуляторы процессоров или отладочные платы,
текстовый редактор, компиляторы языка высокого уровня (чаще всего «C») и ассемблера, редактор
связей и загрузчик программы в отладочную плату. Все программы обычно объединены интегрированной
средой разработки программного проекта, позволяющую поддерживать один или несколько программных
проектов.


[Назад] [Содержание] [Вперёд]

Языки высшего и нижнего уровня

Переключить оглавление

Из Computer Science Wiki

Основы программирования [1]

Содержание

  • 1 Язык высокого уровня
    • 1.1 Список некоторых популярных языков высокого уровня
  • 2 Язык низкого уровня
    • 2. 1 Список некоторых низкоуровневых языков
  • 3 Видео, которое поможет вам понять
  • 4 уровня языков программирования
  • 5 стандартов
  • 6 Каталожные номера

Язык высокого уровня[править]

Язык высокого уровня (HLL) — это язык программирования, такой как C, FORTRAN или Pascal, который позволяет программисту писать программы, более или менее независимые от конкретного типа компьютера. Такие языки считаются высокоуровневыми, потому что они ближе к человеческим языкам и дальше от машинных языков. [2]

В информатике язык программирования высокого уровня — это язык программирования с сильной абстракцией от деталей компьютера. В отличие от низкоуровневых языков программирования, он может использовать элементы естественного языка, быть проще в использовании или может автоматизировать (или даже полностью скрыть) важные области вычислительных систем (например, управление памятью), упрощая процесс разработки программы и делая его более простым. более понятным, чем при использовании языка более низкого уровня. Объем предоставляемой абстракции определяет, насколько «высокоуровневым» является язык программирования. [3]

Список некоторых популярных языков высокого уровня[править]

  • Python
  • Ява
  • JavaScript
  • С++
  • С#
  • Рубин
  • Перл
  • PHP
  • ГО
  • Rust

Язык низкого уровня[править]

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

Язык программирования низкого уровня — это язык программирования, который практически не абстрагируется от архитектуры набора инструкций компьютера — команды или функции в языке тесно связаны с инструкциями процессора. Как правило, это относится либо к машинному коду, либо к языку ассемблера. Слово «низкий» относится к небольшому или несуществующему уровню абстракции между языком и машинным языком; из-за этого низкоуровневые языки иногда называют «близкими к аппаратному обеспечению». Программы, написанные на языках низкого уровня, как правило, относительно непереносимы. [5]

Список некоторых языков низкого уровня[править]

  • язык ассемблера
  • машинный язык

Видео, которое поможет вам понять[править]

Уровни языков программирования[править]

  • Исходный код: Что пишет разработчик.
  • Компилятор: Приложение, которое превращает исходный код в сборку, байт-код или машинный код (какие другие приложения или аппаратное обеспечение запускаются).
  • Сборка: Низкоуровневый исходный язык, специфичный для машины или приложения.
  • Байт-код: Низкоуровневое двоичное представление кода, которое может выполняться другими приложениями.
  • Машинный код: Двоичное представление кода, которое может выполняться непосредственно аппаратным обеспечением.
  • Стандарты[править]

    • Объясните необходимость языков более высокого уровня.
    • Опишите необходимость процесса перевода с языка более высокого уровня на машинный исполняемый код.

    Ссылки[править]

    1. ↑ http://www.flaticon.com/
    2. ↑ https://www.webopedia.com/TERM/H/high_level_language.html
    3. ↑ https://en.wikipedia.org/wiki/High-level_programming_language
    4. ↑ https://www.computerhope.com/jargon/l/lowlangu.htm
    5. ↑ https://en.wikipedia.org/wiki/Low-level_programming_language
    6. ↑ https://auth0.com/blog/7-things-you-should-know-about-web-assembly/

    Опишите различия между двумя (или более) предметами или ситуациями, ссылаясь на них обоих (всех).

    Дайте последовательность кратких ответов без пояснений.

    Дайте подробный отчет, включая причины или причины.

    Дайте краткий отчет.

    Языки высшего и нижнего уровня

    Переключить оглавление

    Из Computer Science Wiki

    Основы программирования [1]

    Содержание

    • 1 Язык высокого уровня
      • 1.1 Список некоторых популярных языков высокого уровня
    • 2 Язык низкого уровня
      • 2.1 Список некоторых низкоуровневых языков
    • 3 Видео, которое поможет вам понять
    • 4 уровня языков программирования
    • 5 стандартов
    • 6 Каталожные номера

    Язык высокого уровня[править]

    Язык высокого уровня (HLL) — это язык программирования, такой как C, FORTRAN или Pascal, который позволяет программисту писать программы, более или менее независимые от конкретного типа компьютера. Такие языки считаются высокоуровневыми, потому что они ближе к человеческим языкам и дальше от машинных языков. [2]

    В информатике язык программирования высокого уровня — это язык программирования с сильной абстракцией от деталей компьютера. В отличие от низкоуровневых языков программирования, он может использовать элементы естественного языка, быть проще в использовании или может автоматизировать (или даже полностью скрыть) важные области вычислительных систем (например, управление памятью), упрощая процесс разработки программы и делая его более простым. более понятным, чем при использовании языка более низкого уровня. Объем предоставляемой абстракции определяет, насколько «высокоуровневым» является язык программирования. [3]

    Список некоторых популярных языков высокого уровня[править]

    • Python
    • Ява
    • JavaScript
    • С++
    • С#
    • Рубин
    • Перл
    • PHP
    • ГО
    • Rust

    Язык низкого уровня[править]

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

    Язык программирования низкого уровня — это язык программирования, который практически не абстрагируется от архитектуры набора инструкций компьютера — команды или функции в языке тесно связаны с инструкциями процессора. Как правило, это относится либо к машинному коду, либо к языку ассемблера. Слово «низкий» относится к небольшому или несуществующему уровню абстракции между языком и машинным языком; из-за этого низкоуровневые языки иногда называют «близкими к аппаратному обеспечению». Программы, написанные на языках низкого уровня, как правило, относительно непереносимы. [5]

    Список некоторых языков низкого уровня[править]

    • язык ассемблера
    • машинный язык

    Видео, которое поможет вам понять[править]

    Уровни языков программирования[править]

  • Исходный код: Что пишет разработчик.
  • Компилятор: Приложение, которое превращает исходный код в сборку, байт-код или машинный код (какие другие приложения или аппаратное обеспечение запускаются).
  • Сборка: Низкоуровневый исходный язык, специфичный для машины или приложения.
  • Байт-код: Низкоуровневое двоичное представление кода, которое может выполняться другими приложениями.
  • Машинный код: Двоичное представление кода, которое может выполняться непосредственно аппаратным обеспечением.
  • Стандарты[править]

    • Объясните необходимость языков более высокого уровня.
    • Опишите необходимость процесса перевода с языка более высокого уровня на машинный исполняемый код.

    Ссылки[править]

    1. ↑ http://www.flaticon.com/
    2. ↑ https://www.webopedia.com/TERM/H/high_level_language.html
    3. ↑ https://en.wikipedia.org/wiki/High-level_programming_language
    4. ↑ https://www.