Все языки программирования можно разделить на три категории
Все языки программирования можно разделить на три категорииВсе языки программирования можно разделить на три категории:
языки НИЗКОГО уровня -
машинные языки и язык Ассемблера;
ВЫСОКОГО уровня — все процедурные языки,
СВЕРХВЫСОКОГО уровня — декларативные языки (при решении задач
на этих языках от программиста требуется
описать, ЧТО надо сделать, а не КАК это
следует делать)
Компьютер, как исполнитель алгоритма, «понимает» только машинный язык. Программы на языках низкого уровня имеют достаточно сложный алгоритм и могут состоять из сотен, тысяч и десятков тысяч команд.
Языки программирования высокого уровня занимают промежуточное положение между нормальным человеческим языком и машинным языком. По наглядности и компактности записи алгоритмов эти языки сравнимы с языком математики.
Компьютер не может выполнять команды языка высокого уровня — он его не понимает!
Поэтому существуют специальные программы, которые переводят команды языка высокого уровня на машинный язык. Такие программы-переводчики называют ТРАНСЛЯТОРАМИ.
Трансляторы подразделяются на ИНТЕРПРЕТАТОРЫ и КОМПИЛЯТОРЫ. Интерпретаторы можно уподобить переводчикам-синхронистам, а компиляторы – переводчикам книг.
Трансляторы |
|
Интерпретатор (Бейсик) | Компилятор (Паскаль) |
Команды
исходной программы последовательно (одна
за другой) переводятся на машинный язык
и компьютер тут же их выполняет.
+ : позволяет начать выполнение даже не полностью законченной программы. — : выполнение программы происходит медленнее, чем в режиме компиляции; не проверяется взаимосогласованность всех частей программы. |
Все
команды исходной программы сначала
переводятся на машинный язык, а затем
полученная машинная программа
выполняется компьютером.
+ : проверяется не только правильность отдельных операторов (команд), но и согласованность их между собой. — : нельзя начать выполнение незаконченной программы; невозможно видеть промежуточные результаты |
Языки программирования
Языки программирования – неотъемлемая часть нашей жизни, это возможность взаимодействия человека с машиной, возможность общения друг с другом на понятном языке. Всё, что мы делаем на компьютере, так или иначе связано с ними. Просматривая информацию в браузере можно даже посмотреть программный код страницы. И что же мы увидим? Бесчисленное количество непонятных слов. Но в этом не так сложно разобраться. Эта статья поможет вам узнать много нового про языки программирования и преимущества каждого из них.
Для начала немного истории. Первый язык программирования — Plankalkül — появился в 1940-х годах. Он был разработан немецким инженером К. Цузе. Со временем вычислительная техника развивалась, и было создано огромное количество языков программирования, у каждого из которых есть своя область применения и преимущества. Попробуем в них разобраться.
Все языки программирования можно разделить на 4 типа:
- Структурные.
- Процедурные.
- Объектно-ориентированные.
- Функциональные.
Структурные языки программирования
В основе этих языков лежит представление программы в виде иерархической структуры блоков. Любая программа состоит из трёх базовых управляющих структур: последовательность, ветвление, цикл. Рассмотрим основные структурные языки программирования: Basic, Pascal.
Basic
Этот язык программирования был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом. Основной задачей этого языка была возможность без опыта программирования создавать программы для своих задач. Сейчас же он превратился в обычный язык программирования с широким набором возможностей.
Преимущества языка Basic:
- Простота в использовании для начинающих.
- Ясные сообщения об ошибках.
- Не требует понимания работы аппаратного обесппечения.
Pascal
Pascal – один из самых известных языков программирования. Он был создан Никлаусом Виртом в 1968—1969 годах и используется для обучения программированию в старших классах школы и в вузах. Это один из первых языков, для которых характерна строгая типизация, потому что, по мнению Вирта, язык должен способствовать дисциплинированному программированию. Поэтому Pascal так активно используют в обучении. К 1980-м годам Паскаль стал основой для многочисленных учебных программ.
Преимущества языка Pascal:
- Лёгкий синтаксис.
- Невысокие аппаратные и системные требования.
- Универсальность.
Процедурные языки программирования
При процедурном программировании программа сводится к последовательному выполнению операторов для преобразования исходных данных в результаты. Это даёт возможность определять каждый шаг по ходу решения задачи. Самые популярные процедурные языки программирования – C и PureBasic.
C
Разработанный в 1969-1973 годах, этот язык программирования оказал существенное влияние на развитие индустрии программного обеспечения. Он доступен на самых различных платформах и позволяет программистам довольно точно представлять, как выполняются их программы. C применяется при разработке операционных систем и приложений реального времени, которые требуют отзывчивости кода.
Преимущества языка C:
- Небольшое число ключевых слов.
- Простая языковая база.
- Наличие указателей на функции.
PureBasic
Этот язык программирования создан в 1998 году на основе синтаксиса Basic. Он предназначен для создания программ на Linux, Windows, Mac OS. Благодаря лёгкому синтаксису PureBasic подойдёт новичкам, а его большие возможности позволяют работать на нём и продвинутым программистам. Особенностью этого языка является то, что у него есть 2 версии: бесплатная PureBasic Demo и платная PureBasic Full. PureBasic Demo имеет некоторые ограничения. Одно из них: нельзя скомпилировать код в котором больше 800 строк кода.
Преимущества языка PureBasic:
- Маленький размер программ.
- Код может быть скомпилирован на разных платформах.
- Простой синтаксис, но при этом высокая функциональность.
Объектно-ориентированные языки программирования
Объектно-ориентированное программирование (ООП) основано на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования. В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения и которая может на них реагировать, используя свои данные. Объект — это экземпляр класса.
Основные понятия ООП:
- Абстракция данных – выделение значимой информации и исключение незначимой.
- Инкапсуляция – свойство языка, позволяющее связать данные с методами.
- Наследование – свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.
- Класс – тип данных, который состоит из набора переменных элементарных типов и функций для работы с ними.
- Объект – сущность в цифровом пространстве, имеющая определённые свойства и операции над ними.
На данный момент существует большое количество объектно-ориентированных языков программирования, т.к. они пользуются наибольшей популярностью у программистов. Рассмотрим некоторые из них.
C++
Один из самых популярных языков программирования, он появился в 1983 году, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C. Сейчас C++ используется, как правило, для разработки программного обеспечения. Его применяют для создания операционных систем, драйверов устройств, а также игр. Свой синтаксис он унаследовал от языка С. Кроме того, С++ оказал большое влияние на другие языки программирования, в первую очередь на Java и С#, о которых мы поговорим позже.
Преимущества языка С++:
- Быстрота исполнения кода.
- Универсальность. Можно разрабатывать программы для различных операционных систем.
- Доступность. Существует огромное количество учебной литературы.
Java
Этот язык был разработан в 1995 году Джеймсом Гослингом. Сейчас Java используется для создания клиентских приложений и серверного ПО. Важной особенностью технологии этого языка является система безопасности, которая контролирует исполнение программы и прерывает операции, прерывающие установленные полномочия (например, несанкционированная попытка доступа к данным). Это, а также высокая скорость выполнения задач делают Java одним из популярнейших языков программирования.
Преимущества языка Java:
- Безопасность.
- Простота изучения.
- Отсутствие зависимости от платформы.
JavaScript
Многие думают, что JavaScript тесно связан с Java, но это не так. Его синтаксис гораздо больше похож на синтаксис языка С. Первоначально он вообще назывался Mocha, затем – LiveScript и только потом получил название JavaScript. Одна из версий состоит в том, что в то время (1995 год) Java было модным словом. JavaScript обычно используется в браузерах. Он придаёт веб-страницам интерактивность. Также JavaScript – самый популярный язык программирования, предназначенный для разработки веб-приложений.
Преимущества языка JavaScript:
- Понятен даже тем пользователям, которые не являются программистами.
- Возможность запустить программу в браузере.
- Программы подключаются к коду веб-страницы и сразу выполняются при загрузке.
C#
Его синтаксис наиболее близок к C++. C# был разработан в 1998-2001 годах инженерами компании Microsoft. Он применяется для создания мобильных приложений, программ для ПК и веб-сервисов. Microsoft уделяет много внимания поддержке языка, поэтому регулярно появляются дополнения и обновления, исправляются ошибки. Также C# позволяет автоматически очищать память от объектов, которые не используются.
Преимущества языка C#:
- Понятность для новичков.
- Поддержка большинства продуктов Microsoft.
- Скорость работы.
Python
Этот язык, разработанный голландцем Гвидо ван Россумом в 1991 году, ориентирован на повышение читаемости кода. Вот несколько цитат из философии Python:
“Красивое лучше, чем уродливое.”
“Явное лучше, чем неявное.”
“Простое лучше, чем сложное.”
Действительно, Python обладает чётким синтаксисом, и благодаря этому код написанных на нём программ легко читаем. Также он активно развивается, и примерно раз в два с половиной года выходят новые версии языка. Python – универсальный язык программирования. Его можно использовать в разных сферах: от веб-разработки до работы с машинным обучением.
Преимущества языка Python:
- Универсальность.
- Легко читаемый синтаксис.
- Реализован почти на всех платформах и операционных системах.
PHP
PHP был разработан в 1995 году датским программистом Расмусом Ледорфом. Сейчас этот язык активно применяется при разработке веб-приложений. Этому способствует большое количество дополнительных модулей и встроенных средств для веб-программирования. Синтаксис PHP похож на синтаксис языка C. PHP используют крупные сайты, например, Facebook и Wikipedia.
Преимущества языка PHP:
- Простота кода.
- Эффективные средства безопасности.
- Высокая скорость работы.
Функциональные языки программирования
В функциональном программировании процесс вычисления определяется как вычисление значений функций в их математическом понимании. При этом не предполагается хранение состояния программы: достаточно вычисления результатов функций от исходных данных. Таким образом, в функциональном программировании нет переменных, и если мы вызываем функции с одинаковыми аргументами, то мы получим один и тот же результат: выходные данные зависят только от входных. Рассмотрим несколько функциональных языков программирования.
Scala
Этот функциональный язык программирования был создан в 2004 году лабораторией методов программирования Федеральной политехнической школы Лозанны. На Scala оказали сильное влияние языки Java и C#. Программы на нём могут легко взаимодействовать с Java-программами. Scala используется для поддержки программного обеспечения.
Преимущества языка Scala:
- Взаимодействие с кодом, написанным на Java.
- Приятный синтаксис.
- Широкая область применения.
Erlang
Erlang разработан в 1987 году компанией Ericsson. Его основной особенностью является использование легковесных процессов в соответствии с моделью акторов (математическая модель параллельных вычислений). Это позволяет совершать миллионы таких процессов одновременно. У них нет общего состояния, но можно установить связь между ними для получения сообщений об их состоянии.
Преимущества языка Erlang:
- Простота изучения.
- Возможность обновления кода во время выполнения программы.
- Отказоустойчивость программа.
Вот мы и закончили знакомство с языками программирования. Конечно, существует много языков помимо тех, которые представлены в статье, но эти являются основными. Каждый из них подходит под определённые задачи, и исходя из этого надо решать, какие языки программирования изучать.
3.2.9 Классификация языков программирования
Learn It: Какие существуют уровни языков программирования?
Язык программирования — это формальный язык, который содержит набор инструкций которые производят различные виды продукции. Языки программирования используются в компьютере программирование для реализации определенных алгоритмов. Большинство языков программирования состоят инструкций для компьютеров.
Компьютерная программа — набор инструкций, выполняющих определенную задачу при выполнении компьютером. Для работы большинства компьютерных устройств требуются программы. правильно. Компьютерная программа обычно пишется программистом и может быть могут быть написаны на языках высокого или низкого уровня, в зависимости от задачи и используемое оборудование.
- Когда мы думаем о программистах, мы, вероятно, думаем о людях, которые пишут на
языке высокого уровня
. - Большинство языков компьютерного программирования
написаны
наязыке программирования высокого уровня
. Онииспользуют
распространенный английский язык , чтобы сделать код болеепонятным
иускорить
процесс из писать и отлаживать программы . - Компьютеры , однако
используют
свойсобственный язык
написанный с использованиемдвоичного кода
под названиемМашинный код
. Это, известный
какнизкоуровневый язык
.
Языки программирования можно разделить на два разных уровня:
- Языки высокого уровня — Python, Visual Basic, Java, C, C++, SQL и многие другие.
- Языки низкого уровня — Языки ассемблера и машинный код, зависящие от оборудования/процессора.
Различия между языками низкого и высокого уровня:
Learn It: Program Translators
Программные переводчики:
- Языки высокого уровня и языки ассемблера
нужно
для переводамашинный код
для компьютерапонять это
.
Есть три типа программ-переводчиков, которые могут это сделать:
- Переводчики
- После создания программы ее необходимо сохранить перед запуском.
- В этот момент язык программирования
переводит
исходный кодмашинный код
по одной команде/строке за раз исразу
выполняет их . - У вас должен быть интерпретатор
, установленный
на вашем компьютере, чтобы с
позапустить
программное обеспечение - Каждый раз, когда программа запускается , она
имеет
для повторного перевода - Длинная сложная программа займет значительно
больше времени от
довыполнить
если интерпретируется . - Это делает интерпретируемый код
более медленным
для запуска , чемскомпилированный код
, но онпоказывает любые ошибки
, как только находит их , поэтомулегче отлаживать
9016 9016 9016 9016 скомпилированный код 90
. Python, Basic, JavaScript и Pascal всеязыки программирования на основе интерпретатора
.
- Компиляторы:
- A compiler
translates
all thesource code
at the same time to create thecompiled code
, ormachine code
, also known as theobject code
. - Машинный код - это сохраненный и сохраненный в
отдельный файл
на язык программирования высокого уровня . - Как только программист
создал программу
, ему нужно запросить еескомпилировать
до они могутзапустить
ипротестировать
файл, который можетзанять некоторое время
. - Это может
сделать тестирование
небольшие участки программымедленнее
как всей программенужно
для компиляции - Компиляция может занять много времени , но
после завершения
скомпилированныйкод выполняется быстро
исообщает
списокошибок
, если они произошли. - Всего , как только программа
завершила компиляцию
,скомпилированные программы
выполняются набыстрее для запуска
. 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
язык программирования | Типы и примеры
- Ключевые люди:
- Стивен Вольфрам Никлаус Эмиль Вирт Кристен Нигаард Джон Уорнер Бэкус Алан Кей
- Связанные темы:
- язык программирования искусственного интеллекта Веб-скрипт Перл Ява С
Просмотреть весь связанный контент →
Резюме
Прочтите краткий обзор этой темы
язык программирования , любой из различных языков для выражения набора подробных инструкций для цифрового компьютера. Такие инструкции могут быть выполнены непосредственно, когда они представлены в числовой форме, характерной для производителя компьютера, известной как машинный язык, после простого процесса замены, когда они выражены на соответствующем языке ассемблера, или после перевода с какого-либо языка «более высокого уровня». Хотя существует много компьютерных языков, относительно немногие из них широко используются.
Машинные языки и языки ассемблера являются «низкоуровневыми», требуя от программиста явного управления всеми специфическими функциями компьютера по хранению данных и работе. Напротив, языки высокого уровня ограждают программиста от беспокойства по поводу таких соображений и предоставляют нотацию, которую программистам легче писать и читать.
Типы языков
Машинные языки и языки ассемблера
Машинный язык состоит из числовых кодов операций, которые конкретный компьютер может выполнять напрямую. Коды представляют собой строки из нулей и единиц или двоичные цифры («биты»), которые часто преобразуются как из шестнадцатеричной системы счисления, так и в шестнадцатеричную (с основанием 16) для просмотра и модификации человеком. Инструкции машинного языка обычно используют некоторые биты для представления операций, таких как сложение, и некоторые для представления операндов или, возможно, местоположения следующей инструкции. Машинный язык трудно читать и писать, поскольку он не похож на обычную математическую запись или человеческий язык, а его коды варьируются от компьютера к компьютеру.
Язык ассемблера на один уровень выше машинного. Он использует короткие мнемонические коды для инструкций и позволяет программисту вводить имена для блоков памяти, которые содержат данные. Таким образом, можно написать «добавить оплату, всего» вместо «0110101100101000» для инструкции, которая складывает два числа.
Викторина «Британника»
Викторина «Компьютеры и технологии»
Компьютеры размещают веб-сайты, состоящие из HTML, и отправляют текстовые сообщения, такие простые, как... LOL. Взломайте эту викторину, и пусть какая-то технология подсчитает ваш результат и раскроет вам ее содержание.
Язык ассемблераспроектирован так, чтобы его можно было легко перевести на машинный язык. Хотя к блокам данных можно обращаться по имени, а не по их машинному адресу, язык ассемблера не предоставляет более сложных средств организации сложной информации. Как и машинный язык, язык ассемблера требует детального знания внутренней архитектуры компьютера. Это полезно, когда такие детали важны, например, при программировании компьютера для взаимодействия с периферийными устройствами (принтерами, сканерами, запоминающими устройствами и т. д.).
Алгоритмические языки
Алгоритмические языки предназначены для выражения математических или символьных вычислений. Они могут выражать алгебраические операции в обозначениях, аналогичных математическим, и позволяют использовать подпрограммы, которые упаковывают часто используемые операции для повторного использования. Это были первые языки высокого уровня.
Оформите подписку Britannica Premium и получите доступ к эксклюзивному контенту. Подпишитесь сейчас
Первым важным алгоритмическим языком был ФОРТРАН ( for mula tran slation), разработанный в 1957 году командой IBM под руководством Джона Бэкуса. Он был предназначен для научных вычислений с вещественными числами и их коллекциями, организованными в виде одномерных или многомерных массивов. Его управляющие структуры включали условные операторы IF, повторяющиеся циклы (так называемые циклы DO) и оператор GOTO, который допускал непоследовательное выполнение программного кода. FORTRAN упростил наличие подпрограмм для общих математических операций и создал их библиотеки.
FORTRAN также был разработан для перевода на эффективный машинный язык. Он сразу же стал успешным и продолжает развиваться.
ALGOL ( algo rithmic l language) был разработан комитетом американских и европейских ученых-компьютерщиков в 1958–1960 годах для публикации алгоритмов, а также для выполнения вычислений. Подобно LISP (описанному в следующем разделе), ALGOL имел рекурсивные подпрограммы — процедуры, которые могли вызывать сами себя для решения проблемы, сводя ее к меньшей задаче того же типа. Алгол представил блочную структуру, в которой программа состоит из блоков, которые могут содержать как данные, так и инструкции и иметь ту же структуру, что и вся программа. Блочная структура стала мощным инструментом для создания больших программ из небольших компонентов.
Алгол предоставил нотацию для описания структуры языка программирования, форму Бэкуса-Наура, которая в некоторых вариациях стала стандартным инструментом для определения синтаксиса (грамматики) языков программирования. Алгол широко использовался в Европе и в течение многих лет оставался языком, на котором публиковались компьютерные алгоритмы. Многие важные языки, такие как Паскаль и Ада (оба описаны ниже), являются его потомками.
Язык программирования C был разработан в 1972 Денниса Ритчи и Брайана Кернигана из корпорации AT&T для программирования компьютерных операционных систем. Его способность структурировать данные и программы посредством составления более мелких единиц сравнима с возможностями Алгола. Он использует компактную запись и предоставляет программисту возможность оперировать как с адресами данных, так и с их значениями. Эта способность важна в системном программировании, и язык C разделяет с языком ассемблера способность использовать все возможности внутренней архитектуры компьютера. C, наряду с его потомком C++, остается одним из самых распространенных языков.
Бизнес-ориентированные языки
COBOL ( co mmon b Business o ориентированный l язык) активно используется предприятиями с момента его создания в 1959 году. Комитет производителей и пользователей компьютеров и правительственные организации США создал CODASYL ( Co mmittee на Da ta Sy основы и L языки) для разработки и контроля языкового стандарта, чтобы обеспечить его переносимость между различными системами.
COBOL использует нотацию, подобную английской, при введении новая. Бизнес-вычисления организуют и обрабатывают большие объемы данных, и COBOL представил структуру данных записи для таких задач.