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

Реферат на тему

 

«ЯЗЫКИ ПРОГРАММИРОВАНИЯ» 
 
Содержание:

Введение

4

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

5

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

7

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

9

Виды современных языков программирования

11

Дальнейшее развитие современных языков программирования

14

Заключение

18

Список использованной литературы

19


 

 

Введение

 

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

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

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

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

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

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

 

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

Машинный язык (40-50 годы XX в.).

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

Ассемблер (начало 50-ых годов XX в.).

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

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

Ассемблер является компилируемым языком.

Первые языки программирования высокого уровня (середина 50-х годов).

Особенностью языков программирования высокого уровня является их машино-независимость.

Первоначально были разработаны несколько языков, которые каждый из которых имел свое предназначение. Например, FORTRAN  был предназначен для научных и технических расчетов, COBOL  был предназначен в основном для коммерческих приложений. Но самым популярным, основа которого используется и в наши дни являлся язык BASIC  - универсальный язык программирования, который позволял создавать программы для решения практически всех задач.

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

С появлением персональных компьютеров появились новые языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода (goto). К этим языкам относятся: язык Pascal , язык Си, которые позволяли быстро и эффективно создавать программный код. Программирование стало доступным для широких масс людей.

Языки объектно-ориентированного программирования(90-ые г. XX в.).

В основу объектно-ориентированных языков положены программные объекты, которые объединяют данные и методы их обработки. Основой этих языков явились структурированные языки программирования. Появление операционной системы Windows вызвали потребность в появлении интегрированных сред программирования, позволяющие визуально легко и эффективно создавать графический интерфейс приложений. Примерами этих языков явились язык С++ (1983) - продолжение языка Си, Delphi (1995), который был создан на основе языка Pascal, язык Visual Basic (1991), который был создан на основе языка BASIC.

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

В средине 90-ых годов XX в. бурное развитие получила сеть Интернет, которая буквально за 7-8 лет полностью охватил весь мир. Это привело к созданию языков, обеспечивающие межплатформенную совместимость. К интернету могут быть присоединены  компьютеры имеющие разные операционные системы, но результат выполнения программ, должен быть одинаков. Решение было найден: в языках программирования ориентированных на создание веб-приложений, исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:

язык Java - объектно-ориентированный язык был разработан фирмой Sun Microsystems для создания сетевого программного обеспечения (1995);

язык JavaScript – язык сценариев Web-страниц (компания Netscape). (1995)

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

Интегрированная среда программирования Visual Studio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения небольшого объема основой которых являются раздичные языки программиования: Basic, C++, Java.

 

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

 

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

Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы:

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

- Языки символического кодирования

- Автокоды

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

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

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

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

Машинно – независимые языки

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

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

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

- Проблемно-ориентированные языки;

- Универсальные языки.

Проблемно – ориентированные языки

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

Проблемных языков очень много, поскольку они созданы только для решения определенного круга задач, например:

Фортран, Алгол – языки, созданные для решения математических задач;

Simula, Слэнг — для моделирования;

Лисп, Снобол – для работы со списочными структурами.

Универсальные языки

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д.

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

 

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

 

 Фортран – исторически первый  компилируемый язык программирования, разработанный в 1954-1958 г.г. Джимом  Бекусом. Базовые принципы, заложенные в основу этого языка, впоследствии легли в основу многих других языков программирования высокого уровня.

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

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

 Паскаль – компилируемый  язык программирования, созданный в 1968-1970 г.г. в Швейцарском Федеральном институте технологии в Цюрихе Никласом Виртом. Язык был создан в первую очередь как учебный язык программирования и реализовывал в себе принципы машины Тюринга.

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

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

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

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

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

 

4.Виды современных языков программирования

 

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

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

С ++ поддерживает различные стили и технологии программирования, включая объективно-ориентированное программирование, обобщенное программирование, метапрограммирование (шаблоны, макросы).

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

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

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

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

C# (произносится как си-шарп ) — объектно-ориентированный язык программирования был создан как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.

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

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

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

Visual Basic for Application является языком программирования, который поддерживается всеми приложениями, входящими в пакет Microsoft Office, в том числе Microsoft Excel, Microsoft Assess, Microsoft PowerPoint, Microsoft Word, которые испоьзуются пользователями практически каждый день. 

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

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

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

Всемирная сеть Интернет — это среда информационного обмена, а также общения для миллионов людей. Они размещают все большую информацию в сети – и текст, и фото и видео, и звук. Обработка этих данных, создание уникальных интернет страниц становится все более сложным. JavaScript — это язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Он был разработан фирмой Netscape совместно с Sun Microsystems на базе языка Sun's Java. Сегодня данный язык встроен во все интернет браузеры, что делает его самым распространенным для программирования в сети. Он доступен как для специалистов, так и для любителей, он может решить очень большой объем задач. Скрипты выполняются в результате как в результате действий пользователя, так и в результате наступления каких либо событий.

 

5. Дальнейшее развитие современных языков программирования

 

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

Языков программирования создано множество, но лишь немногие из них получили широкое распространение. Голландской компанией «TIOBE Software BV» регулярно проводится рейтинг популярности языков программирования. Рейтинг выявил самые популярные языки программирования, который выглядит следующим образом:

  1. Java
  2. PHP
  3. C#
  4. Python
  5. Visual Basic
  6. Objective C
  7. Perl
  8. Delphi

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

  1. Какие парадигмы программирования применяются в современных языках программирования.
  2. Какие виды трансляторов применяются.

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

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

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

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

Есть несколько подходов реализующих декларативную модель программирования:

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

- Логическое программирование – основанное на автоматическом доказательстве теорем, с использованием механизмов логического вывода информации с использованием заданных фактов и правил вывода, основанных на формальных исчислениях.

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

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

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

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

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

Трансляторы

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

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

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

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

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

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

Транслятор

Java

компиляция в байт-код интерпретатор

C

компилятор

PHP

компиляция в байт-код интерпретатор

C#

компиляция в MSIL-код интерпретатор 

Python

компиляция в байт-код интерпретатор

Visual Basic

компиляция в MSIL-код интерпретатор,компилятор

Objective C

компилятор

Perl

компиляция в байт-код интерпретатор

Delphi

компилятор


 

Четко прослеживаются те факторы, которые влияют на дальнейшее развитие  языков программирования:

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

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

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

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

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

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

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

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

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

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

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

 

Заключение

 

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