Программа на языке программирования это

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

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

Для начала немного истории. Первый язык программирования — Plankalkül — появился в 1940-х годах. Он был разработан немецким инженером К. Цузе. Со временем вычислительная техника развивалась, и было создано огромное количество языков программирования, у каждого из которых есть своя область применения и преимущества. Попробуем в них разобраться.

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

Winderton / Написал несколько Языков Программирования, вот что я узнал

Структурные языки программирования

В основе этих языков лежит представление программы в виде иерархической структуры блоков. Любая программа состоит из трёх базовых управляющих структур: последовательность, ветвление, цикл. Рассмотрим основные структурные языки программирования: Basic, Pascal.

Basic

Этот язык программирования был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом. Основной задачей этого языка была возможность без опыта программирования создавать программы для своих задач. Сейчас же он превратился в обычный язык программирования с широким набором возможностей.

Преимущества языка Basic:

  1. Простота в использовании для начинающих.
  2. Ясные сообщения об ошибках.
  3. Не требует понимания работы аппаратного обесппечения.

Pascal

Pascal – один из самых известных языков программирования. Он был создан Никлаусом Виртом в 1968—1969 годах и используется для обучения программированию в старших классах школы и в вузах. Это один из первых языков, для которых характерна строгая типизация, потому что, по мнению Вирта, язык должен способствовать дисциплинированному программированию. Поэтому Pascal так активно используют в обучении. К 1980-м годам Паскаль стал основой для многочисленных учебных программ.

Преимущества языка Pascal:

  1. Лёгкий синтаксис.
  2. Невысокие аппаратные и системные требования.
  3. Универсальность.

Процедурные языки программирования

При процедурном программировании программа сводится к последовательному выполнению операторов для преобразования исходных данных в результаты. Это даёт возможность определять каждый шаг по ходу решения задачи. Самые популярные процедурные языки программирования – C и PureBasic.

C

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

Какой язык программирования УЧИТЬ ПЕРВЫМ? | Для новичков

Преимущества языка C:

  1. Небольшое число ключевых слов.
  2. Простая языковая база.
  3. Наличие указателей на функции.

PureBasic

Этот язык программирования создан в 1998 году на основе синтаксиса Basic. Он предназначен для создания программ на Linux, Windows, Mac OS. Благодаря лёгкому синтаксису PureBasic подойдёт новичкам, а его большие возможности позволяют работать на нём и продвинутым программистам. Особенностью этого языка является то, что у него есть 2 версии: бесплатная PureBasic Demo и платная PureBasic Full.

PureBasic Demo имеет некоторые ограничения. Одно из них: нельзя скомпилировать код в котором больше 800 строк кода.

Преимущества языка PureBasic:

  1. Маленький размер программ.
  2. Код может быть скомпилирован на разных платформах.
  3. Простой синтаксис, но при этом высокая функциональность.

Объектно-ориентированные языки программирования

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

Основные понятия ООП:

  1. Абстракция данных – выделение значимой информации и исключение незначимой.
  2. Инкапсуляция – свойство языка, позволяющее связать данные с методами.
  3. Наследование – свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.
  4. Класс – тип данных, который состоит из набора переменных элементарных типов и функций для работы с ними.
  5. Объект – сущность в цифровом пространстве, имеющая определённые свойства и операции над ними.

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

C++

Один из самых популярных языков программирования, он появился в 1983 году, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C. Сейчас C++ используется, как правило, для разработки программного обеспечения. Его применяют для создания операционных систем, драйверов устройств, а также игр. Свой синтаксис он унаследовал от языка С. Кроме того, С++ оказал большое влияние на другие языки программирования, в первую очередь на Java и С#, о которых мы поговорим позже.

Преимущества языка С++:

  1. Быстрота исполнения кода.
  2. Универсальность. Можно разрабатывать программы для различных операционных систем.
  3. Доступность. Существует огромное количество учебной литературы.

Java

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

Преимущества языка Java:

  1. Безопасность.
  2. Простота изучения.
  3. Отсутствие зависимости от платформы.

JavaScript

Многие думают, что JavaScript тесно связан с Java, но это не так. Его синтаксис гораздо больше похож на синтаксис языка С. Первоначально он вообще назывался Mocha, затем – LiveScript и только потом получил название JavaScript. Одна из версий состоит в том, что в то время (1995 год) Java было модным словом. JavaScript обычно используется в браузерах. Он придаёт веб-страницам интерактивность.

Также JavaScript – самый популярный язык программирования, предназначенный для разработки веб-приложений.

Преимущества языка JavaScript:

  1. Понятен даже тем пользователям, которые не являются программистами.
  2. Возможность запустить программу в браузере.
  3. Программы подключаются к коду веб-страницы и сразу выполняются при загрузке.

C#

Его синтаксис наиболее близок к C++. C# был разработан в 1998-2001 годах инженерами компании Microsoft. Он применяется для создания мобильных приложений, программ для ПК и веб-сервисов. Microsoft уделяет много внимания поддержке языка, поэтому регулярно появляются дополнения и обновления, исправляются ошибки. Также C# позволяет автоматически очищать память от объектов, которые не используются.

Преимущества языка C#:

  1. Понятность для новичков.
  2. Поддержка большинства продуктов Microsoft.
  3. Скорость работы.

Python

Этот язык, разработанный голландцем Гвидо ван Россумом в 1991 году, ориентирован на повышение читаемости кода. Вот несколько цитат из философии Python:

“Красивое лучше, чем уродливое.”

“Явное лучше, чем неявное.”

“Простое лучше, чем сложное.”

Действительно, Python обладает чётким синтаксисом, и благодаря этому код написанных на нём программ легко читаем. Также он активно развивается, и примерно раз в два с половиной года выходят новые версии языка. Python – универсальный язык программирования. Его можно использовать в разных сферах: от веб-разработки до работы с машинным обучением.

Преимущества языка Python:

  1. Универсальность.
  2. Легко читаемый синтаксис.
  3. Реализован почти на всех платформах и операционных системах.

PHP

PHP был разработан в 1995 году датским программистом Расмусом Ледорфом. Сейчас этот язык активно применяется при разработке веб-приложений. Этому способствует большое количество дополнительных модулей и встроенных средств для веб-программирования. Синтаксис PHP похож на синтаксис языка C. PHP используют крупные сайты, например, Facebook и Wikipedia.

Читайте также:
Как составить рабочую программу по факультативу

Преимущества языка PHP:

  1. Простота кода.
  2. Эффективные средства безопасности.
  3. Высокая скорость работы.

Функциональные языки программирования

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

Scala

Этот функциональный язык программирования был создан в 2004 году лабораторией методов программирования Федеральной политехнической школы Лозанны. На Scala оказали сильное влияние языки Java и C#. Программы на нём могут легко взаимодействовать с Java-программами. Scala используется для поддержки программного обеспечения.

Преимущества языка Scala:

  1. Взаимодействие с кодом, написанным на Java.
  2. Приятный синтаксис.
  3. Широкая область применения.

Erlang

Erlang разработан в 1987 году компанией Ericsson. Его основной особенностью является использование легковесных процессов в соответствии с моделью акторов (математическая модель параллельных вычислений). Это позволяет совершать миллионы таких процессов одновременно. У них нет общего состояния, но можно установить связь между ними для получения сообщений об их состоянии.

Преимущества языка Erlang:

  1. Простота изучения.
  2. Возможность обновления кода во время выполнения программы.
  3. Отказоустойчивость программа.

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

полезные ссылки

Страницы

  • Как устроен компьютер
  • Языки программирования
  • Типы компьютеров
  • Персональные сети
  • Локальные сети
  • Муниципальные сети
  • Глобальные сети
  • Объединения сетей
  • Сетевые интерфейсы
  • Двоично-десятичный код
  • Распространение электромагнитных волн
  • Амплитудно-частотная и Фазо-частотная характеристика
  • Шифратор дешифратор
  • Законы Кирхгофа
  • Биполярные транзисторы и схема их включения
  • Функционально полная система логических элементов
  • Дифференцирующая и интегрирующая электрические цепи
  • Назначение, классификация и электрические параметры резисторов
  • Назначение классификация и электрические параметры конденсаторов

Источник: setiinet.ru

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

Прежде чем вы захотите изучать какой-нибудь язык программирования надо знать немного об их истории и где они применяются. Я представляю вам краткий обзор 25 известных языков программирования. Начиная с самого известного до менее популярного. Статья сделана для новичков в сфере программирования.

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

1. JavaScript

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

Прототипно-ориентированный сценарный язык программирования. JavaScript изначально создавался для того, чтобы сделать web-странички «живыми». В браузере они подключаются напрямую к HTML и, как только загружается страничка – тут же выполняются. Когда создавался язык JavaScript, у него изначально было другое название: «LiveScript».

Но тогда был очень популярен язык Java, и маркетологи решили, что схожее название сделает новый язык более популярным. Планировалось, что JavaScript будет эдаким «младшим братом» Java. Однако, история распорядилась по-своему, JavaScript сильно вырос, и сейчас это совершенно независимый язык, со своей спецификацией и к Java не имеет никакого отношения. Подробнее о языке можете узнать в разделе «Самоучитель по JavaScript».

2. Java

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

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

Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Изначально язык назывался Oak («Дуб») разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Впоследствии он был переименован в Java и стал использоваться для написания клиентских приложений и серверного программного обеспечения.

3. PHP

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

Является распространенным интерпретируемым языком общего назначения с открытым исходным кодом (скриптовый язык). PHP создавался специально для ведения web-разработок и код на нем может внедряться непосредственно в HTML-код. Синтаксис языка берет начало из C, Java и Perl, и является легким для изучения. Основной целью PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц, однако область применения PHP не ограничивается только этим. Подробнее о языке можете узнать в разделе «Самоучитель по PHP».

4. Python

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

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

5. C#

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

Объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML. Подробнее о языке можете узнать в разделе «Самоучитель по C#».

6. С++

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

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

7. Ruby

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

Простой и читаемый язык программирования, ориентированный на разработку веб приложений. Разработанный Юкихиро Мацумто в 1995 году. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора. Основное назначение Ruby — создание простых и в то же время понятных программ, где важна не скорость работы программы, а малое время разработки, понятность и простота синтаксиса. Язык следует принципу «наименьшей неожиданности»: программа должна вести себя так, как ожидает программист.

8. CSS

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

Cascading Style Sheets (каскадные таблицы стилей) формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам.

9. C

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

Компилируемый статически типизированный язык программирования общего назначения. Язык Си был разработан Деннисом Ритчи в 1972 году в Bell Labs. Он является предшественником таких языков программирования как С++, Java, C#, JavaScript и Perl. По этой причине изучение этого языка ведет к понимаю и других языков.

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

10. Objective-C

Компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си и парадигм Smalltalk. Язык Objective-C является надмножеством языка Си, поэтому Си-код полностью понятен компилятору Objective-C. Язык используется в первую очередь для Mac OS X (Cocoa) и GNUstep — реализаций объектно-ориентированного интерфейса OpenStep. Также язык используется для iOS (Cocoa Touch).

11. Shell

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

Он не столько язык, сколько интерпретатор команд (командный язык). Его скрипты используются для автоматизации обновления программного обеспечения. Содержит стандартные конструкции для циклов, ветвления, объявления функций. В семействе операционных систем, совместимых с ОС UNIX, язык SHELL используется в качестве стандартного языка управления заданиями.

12. R

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

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

Читайте также:
Программа если не удаляется файл с компьютера

13. Perl

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

Высокоуровневый интерпретируемый динамический язык программирования общего назначения. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language — «практический язык для извлечения данных и составления отчётов». Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе работа с регулярными выражениями, встроенная в синтаксис. На данный момент он используется для выполнения широкого спектра задач, включая системное администрирование, веб-разработку, сетевое программирование, игры, биоинформатику, разработку графических пользовательских интерфейсов.

14. Scala

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

15. Go

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

Компилируемый многопоточный язык программирования, разработанный компанией Google. Язык Go разрабатывался как язык системного программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Он может рассматриваться как попытка создать замену языку Си. При разработке уделялось особое внимание обеспечению высокоэффективной компиляции. Программы на Go компилируются в объектный код и не требуют для исполнения виртуальной машины.

16. SQL

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

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

17. Haskell

Cтандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений. Отличительная черта языка — серьёзное отношение к типизации. Haskell превосходный язык для обучения и для экспериментов с сложными функциональными типами данных.

18. Swift

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

Открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и OS X. Swift работает с фреймворками Cocoa и Cocoa Touch и совместим с основной кодовой базой Apple, написанной на Objective-C. Swift задумывался как более легкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objective-C. Swift заимствовал довольно многое из Objective-C, однако он определяется не указателями, а типами переменных, которые обрабатывает компилятор. По аналогичному принципу работают многие скриптовые языки.

19. Matlab

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

Высокоуровневый интерпретируемый язык программирования, включающий основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования. Программы, написанные на MATLAB, бывают двух типов — функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции сохраняются в виде текстовых файлов и компилируются в машинный код динамически.

20. Visual Basic

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

Язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемое корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Visual Basic также является хорошим средством быстрой разработки RAD приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы.

21. Delphi

Императивный, структурированный, объектно ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования — написание прикладного программного обеспечения. На сегодняшний день, наряду с поддержкой разработки 32 и 64-разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X , а также для Google Android (непосредственно исполняемые на ARM-процессоре).

22. Groovy

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

Объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk. Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java-проекте или как скриптовый язык.

23. Visual Basic .NET

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

Объектно-ориентированный язык программирования, который можно рассматривать как очередной виток эволюции Visual Basic, реализованный на платформе Microsoft .NET. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0). Развитие проектов старых версий (*.vbp) возможно только после предварительной конвертации их в формат VB.NET специальным мастером (Migration Wizard); однако, после конвертации требуется существенная ручная доработка текстов.

24. D

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

Мультипарадигмальный компилируемый язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Изначально D был задуман как реинжиниринг языка C++, однако, несмотря на значительное влияние С++, не является его вариантом. Также язык испытал влияние концепций из языков программирования Python, Ruby, C#, Java, Eiffel.

25. Assembler

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

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

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

Подробнее о языке можете узнать в разделе «Самоучитель по Assembler». Я не стал брать все языки т.к. они не так сильно востребованы у профессиональных программистов. Моя задача выполнена, теперь Вам осталось выбрать подходящий язык и покорять его. Удачи Вам в ваших начинаниях.

Источник: it-black.ru

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

bestprogrammer.ru

Компилируемый и интерпретируемый языки

Изучение

На чтение 8 мин Просмотров 1.4к. Опубликовано 12.07.2022

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

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

Одно небольшое замечание: языки программирования сами по себе не компилируются и не интерпретируются и могут быть реализованы с помощью компилятора или интерпретатора. Но для простоты в этой статье мы будем ссылаться на компилируемые и интерпретируемые языки.

Широкое введение в языки программирования

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

Символы в двоичном формате

A 01000001

a 01100001

B 01000010

b 01100010

C 01000011

c 01100011

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

Читайте также:
К средствам разработки программ относятся

Итак, на машинном языке стало проще писать! Однако у программистов по-прежнему была огромная проблема: количество двоичного кода, необходимого для того, чтобы заставить машину выполнить даже простую команду, было (и есть) откровенно огромным.

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

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

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

#includestdio.h> int main() printf(«Hello Worldn»); return 0; >

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

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

Что такое компилируемый язык?

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

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

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

  • C, C++, and C#
  • Go
  • Rust
  • Haskell
  • Cobol

Что такое интерпретируемый язык?

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

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

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

Скомпилированные и интерпретированные: сравнение

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

Compilers

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

Interpreters

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

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

Вернемся к аналогии с выпечкой. Представьте, что переводчик только что скомпилировал весь рецепт шоколадного торта в несколько шагов и обнаружил, что днем ​​позже вы (программист) открыли новый процесс изготовления одного компонента. К сожалению, вы говорите и пишете только на урду, и весь рецепт и весь процесс зависят от нового компонента. Мало того, что вы должны написать весь рецепт заново, но и переводчик (компилятор) должен снова выполнить весь процесс.

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

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

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

Начните с языков программирования

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

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

Источник: bestprogrammer.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru