Развитие и эволюция языков программирования

Содержание

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

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

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

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

Машинный язык.

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

Ассемблер.

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

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

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

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

Дальнейшая эволюция языков программирования привела к появлению языков высокого уровня, что позволило отвлечься от системы команд конкретного типа процессора. Ниже приведена диаграмма важнейших первых языков (источник: Б. Страуструп «Программирование: принципы и практика использования С++»)

Важное значение для развития высокоуровневых языков программирования имела разработка во второй половине 1950-х годов трех языков – Fortran, COBOL, Lisp. Философия, стоящая за этими языками, заключается в создании высокоуровневой системы обозначений, облегчающей программисту написание программ.

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

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

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

Язык программирования Lisp.

Lisp ( LISt Processing – обработка списков ) был разработан в 1958 году Джоном Маккарти для обработки связанных списков и символьной информации.

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

Copyright © 2014-2021, Урок информатики
Все права защищены

Источник

Краткая история программирования / С чего все начиналось

Мы расскажем вам краткую историю с чего все начиналось и как зарождалось программирование. Также мы расскажем про самые первые языки программирования.

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

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

К первооткрывателям среди языков программирования относится Фортран – это сокращённое сочетание 2 слов: Formula и Translation. Создан уже в середине 50-х. До сих пор язык используется благодаря лёгкости и простоте написания, а также развитой системе библиотек для Фортран. Чаще используется для научных и инженерных подсчётов, а также активно применяется в физичке и остальных науках, связанных с математикой.

Узконаправленные языки

Из-за увеличения сфер использования ЭВМ появились и другие языки для отдельных разработок в новых сферах:

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

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

Читайте также:  Удалился язык с панели задач

Создание языка C

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

Пролог и Ада

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

Классификация

Сегодня разработаны классификации языков по уровню работы, это распределение самое распространённое. Выделяют 3 основных уровня:

Согласно другой классификации языки делятся на:

Направления развития

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

Существуют языки для написания сценариев, известными являются Rexx, Tcl, Perl и Python, а также языки оболочек систем Unix. В них разрабатывается индивидуальный стиль написания кода, который отличается от известного принципа системного уровня программирования. Они не используются для создания приложений на нижнем уровне, скорее для комбинирования различных компонентов из разных языков, из которых составляется набор отдельных функций.

Активнее всего стали развиваться по мере распространения интернета, от чего стали широко применяться языки сценариев. Для создания сценариев чаще всего применяется Perl, а для Web-части пользуется популярностью JavaScript.

Источник

Эволюция и перспективы языков программирования

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

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

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

Стремление к совершенству

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

Нацеленность на эффективность

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

Повышение сложности задач

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

Продление жизненного цикла ПО

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

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

Самый первый и самый популярный

Fortran

Одним из первых ЯП является Фортран (FormulaTranslation). Созданный в 50-х годах прошлого века, он по-прежнему остается актуальным. Столь завидное долголетие языку во многом обеспечили простота и накопление значительного объема данных.

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

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

К появлению, без преувеличения, наиболее используемого и востребованного ЯП современности, привело стремление разработчиков создавать программы, которые не зависели бы от типа компьютера и операционной системы. Java не только отвечает за выполнение программ, которые распространяются посредством Web-страниц, но и поддерживает все средства новых ИТ. Рекомендуем начать учить джаву с нашего бесплатного интенсива по java-программированию.

Сочетая в себе языки С и С++, Java объективно является наиболее мощным инструментом для создания кроссплатформенных приложений. Можно сказать, что принцип его работы заключен в выражении: «Write Once, Run Anywhere».Согласно данным TIOBE ЯП Java стал самым популярным в 2015 году.

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

Фортрану не учим, зато учим Java: профессия «Java-разработчик».


Фото: IBM 704, для которой изначально и разрабатывался Fortran. Wikimedia Commons, public domain

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

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

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

Читайте также:  Японский язык по скайпу

Стремление к совершенству

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

Нацеленность на эффективность

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

Повышение сложности задач

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

Продление жизненного цикла ПО

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

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

Самый первый и самый популярный

Fortran

Одним из первых ЯП является Фортран (FormulaTranslation). Созданный в 50-х годах прошлого века, он по-прежнему остается актуальным. Столь завидное долголетие языку во многом обеспечили простота и накопление значительного объема данных.

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

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

К появлению, без преувеличения, наиболее используемого и востребованного ЯП современности, привело стремление разработчиков создавать программы, которые не зависели бы от типа компьютера и операционной системы. Java не только отвечает за выполнение программ, которые распространяются посредством Web-страниц, но и поддерживает все средства новых ИТ. Рекомендуем начать учить джаву с нашего бесплатного интенсива по java-программированию.

Сочетая в себе языки С и С++, Java объективно является наиболее мощным инструментом для создания кроссплатформенных приложений. Можно сказать, что принцип его работы заключен в выражении: «Write Once, Run Anywhere».Согласно данным TIOBE ЯП Java стал самым популярным в 2015 году.

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

Фортрану не учим, зато учим Java: профессия «Java-разработчик».

Источник

Эволюция и классификация языков программирования

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

Таблица 2. Поколения ЯП
ПоколенияЯзыки программированияХарактеристика
ПервоеМашинныеОриентированы на использование в конкретной ЭВМ, сложны в освоении, требуют хорошего знания архитектуры ЭВМ
ВтороеАссемблеры, макроассемблерыБолее удобны для использования, но по-прежнему машинно-зависимы
ТретьеЯзыки высокого уровняМобильные, человеко-ориентированные, проще в освоении
ЧетвёртоеНепроцедурные, объектно-ориентированные, языки запросов, параллельныеОриентированы на непрофессионального пользователя и на ЭВМ с параллельной архитектурой
ПятоеЯзыки искусственного интеллекта, экспертных систем и баз знаний, естественные языкиОриентированы на повышение интеллектуального уровня ЭВМ и интерфейса с языками

Классификация:
Машинно – ориентированные языки
– это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно –ориентированные языки позволяют использовать все возможности и особенности Машинно – зависимых языков:
— высокое качество создаваемых программ (компактность и скорость выполнения);
— возможность использования конкретных аппаратных ресурсов;
— предсказуемость объектного кода и заказов памяти;
— для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
— трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;
— низкая скорость программирования;
— невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.
Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы.

^ 2.1.1. Машинный язык
Как я уже упоминал, в введении, отдельный компьютер имеет свой определенный Машинный язык(далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM/370/ и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции.
В новых моделях ЭВМ намечается тенденция к повышению внутренних языков машинно – аппаратным путем реализовывать более сложные команды, приближающиеся по своим функциональным действиям к операторам алгоритмических языков программирования.

Читайте также:  Русский язык разумовская упр 408

^ 2.1.2. Языки Символического Кодирования
Продолжим рассказ о командных языках, Языки Символического Кодирования(далее ЯСК), так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в ЯСК заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ.
Использование символических адресов – первый шаг к созданию ЯСК. Команды ЭВМ вместо истинных (физических) адресов содержат символические адреса. По результатам составленной программы определяется требуемое количество ячеек для хранения исходных промежуточных и результирующих значений. Назначение адресов, выполняемое отдельно от составления программы в символических адресах, может проводиться менее квалифицированным программистом или специальной программой, что в значительной степени облегчает труд программиста.

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

^ 2.2.1. Проблемно – ориентированные языки
С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно – ориентированные языки. Эти языки, языки ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме.

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный язык называется Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ.
Программы в ^ Пл/1 компилируются с помощью автоматических процедур. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти.

^ 2.2.3. Диалоговые языки
Появление новых технических возможностей поставило задачу перед системными программистами – создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками.
Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных (не диалоговых) языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач.
Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу с использованием диалогового языка система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе.

Одним из примеров диалоговых языков является ^ Бэйсик.
Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.

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

Источник

Ответы на самые частые вопросы пользователей рунета
Добавить комментарий

Adblock
detector