Языки программирования
Программирование - это искусство создавать программные продукты, которые написаны на языке программирования.
Языки программирования – это искусственные языки с ограниченным числом слов, значения которых понятны транслятору, и очень строгими правилами записи команд (операторов). С помощью языков программирования создается текст программы.
В настоящее время в мире существует несколько сотен реально используемых языков программирования.
Программа – упорядоченная последовательность команд, необходимых для управления компьютером. Эти команды поступают на процессор как совокупность нулей и единиц, т.е. числами.
Одним из важнейших признаков классификации языков программирования является их принадлежность к одному из стилей, основными из которых являются следующие: процедурный, функциональный, логический и объектно-ориентированный.
Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Дж. Фон Нейманом в 40-х годах прошлого века.
Программа на процедурном языке программирования состоит из последовательности операторов, задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании.
Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, т.е. значений исходных данных, в заключительное, т.е. в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет последнюю.
Процедурные языки характеризуются следующими особенностями:
· необходимостью явного управления память, в частности, описанием переменных;
· малой пригодностью для символьных вычислений;
· отсутствием строгой математической основы;
· высокой эффективностью реализации на традиционных ЭВМ.
Одним из важнейших классификационных признаков процедурного языка является его уровень. Уровень языка программирования определяется семантикой (смысловой) емкостью его конструкций и степенью его ориентации на программиста. Чем более язык ориентирован на человека, тем выше его уровень. Классификация процедурных языков программирования в порядке возрастания их уровня.
Двоичный язык является непосредственно машинным языком. Машинный язык является внутренним языком ЭВМ и представляет собой систему инструкций и данных, которые не требуют трансляции и могут непосредственно интерпретироваться и исполняться аппаратными средствами ЭВМ (см. рис.7). В настоящее время такие языки программистами практически не применяются.
Рис. 7 Фрагмент программы в двоичных кодах
Следующий уровень составляют машинно-ориентированные языки (ассемблеры).
Язык Ассемблера – это язык, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке. Он позволяет программисту пользоваться мнемоническими кодами операций и присваивать удобные имена ячейкам и областям памяти, а также задавать наиболее удобные схемы адресации (см. рис.8).
Рис.8 Фрагмент программы на языке Ассемблера
Язык Макроассемблера является расширением языка Ассемблера путем включения в него макросредств. С их помощью в программе можно описывать последовательности инструкций с параметрами – макроопределения. После этого программист может использовать снабженные аргументами макрокоманды, которые в процессе ассемблирования программы автоматически замещаются макрорасширениями. Макрорасширение представляет собой макроопределение с подставленными вместо параметров аргументами.
Таким образом, язык Макроассемблера предоставляет средства определения и использования новых, более мощных команд как последовательности базовых инструкций, что несколько повышает его уровень
Языки Ассемблера и Макроассемблера применяются системными программистами с целью использования всех возможностей оборудования ЭВМ и получения эффективной по времени выполнения и требуемому объему памяти программы. На этих языках выполняется программирование микропроцессоров, драйверов, утилит и т.д.
Языки следующего уровня называются языками высоко уровня или машинно-независимыми. Они позволяют описать программу решения задачи в форме, максимально удобной для восприятия человеком. Они имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Языки высокого уровня делятся на процедурные, логические, функциональные, объектно-ориентированные.
Язык программирования С (Си) был разработан для реализации операционной системы UNIX (ядро ОС было написано на С) в начале 70-х годов 20 века. В последующем приобрел популярность среди системных и прикладных программистов. В настоящее время он реализован на большинстве ЭВМ.
В Си сочетаются достоинства современных высокоуровневых языков в части управляющих конструкций и структур данных с возможностями доступа к аппаратным ресурсам ЭВМ на уровне, который обычно ассоциируется с языками низкого уровня типа Ассемблера.
Язык Фортран (Fortran) первыйязык программирования высокого уровня, имеющий транслятор. Создан в период с1954по1957 годгруппой программистов под руководствомДжона Бэкусав корпорацииIBM. Название Fortran является сокращением отFORmulaTRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана— большое количество написанных на нём программ и библиотек подпрограмм. Современный Фортран (Fortran 95 и Fortran 2003) приобрёл черты, необходимые для эффективного программирования новых вычислительных архитектур, позволяет применять современные технологии программирования, в частности,ООП.
Язык Basic (Бейсик). BASIC — сокращение от англ. Beginner’sAll-purposeSymbolicInstructionCode — универсальный код символических инструкций для начинающих. Бейсик был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом и реализован командой студентов колледжа под их руководством. Бейсик был разработан как простейший язык для непосредственного общения человека с вычислительной машиной.
Получил широкое распространение в виде различных диалектов, прежде всего как язык для домашних компьютеров. К настоящему моменту претерпел существенные изменения, значительно отойдя от характерной для первых версий простоты, граничащей с примитивизмом и превратившись в достаточно ординарный язык высокого уровня с типичным набором возможностей. Наибольшее распространение получила версия QuickBasic 4.5.Используется как самостоятельный язык для разработки прикладных программ, главным образом, работающих под управлением ОС Windows различных версий.
Язык Pascal (Паскаль) – является одним из наиболее популярных среди прикладных программистов процедурным языком программирования. Разработанный в 1970 г. Никлаусом Виртом, язык назван в честь французского математика Блеза Паскаля. Вопреки расхожему мнению, он не был исключительно учебным языком, а предназначался для практического применения. Прототипом послужилAlgol. Первоначально язык компилировался в байт-код, подобно языкуJava. В данном языке полностью реализована концепция структурного программирования. В настоящее время широко используются такие версии языка для ПЭВМ, как BorlandPascal, TurboPascal.
Язык Кобол (COBOL,COmmonBusinessOrientedLanguage) — один из старейших языков программирования(первая версия в1959), предназначенный, в первую очередь, для разработки бизнес-приложений. В свежий стандарт языка 2002 года в Кобол добавлены средства объектно-ориентированного программирования и другие современные языковые конструкции
Язык ПЛ/1 (PL/I, ProgrammingLanguage I — «Язык программирования номер один») — разработанный в1964 годуязык программирования, созданный для научных, инженерных и бизнес-ориентированных вычислений. Он содержит такой широкий набор синтаксических конструкций и встроенных функций, что, вероятно, не существует ни одногокомпилятора, поддерживающего все возможности языка ПЛ/1. ПЛ/1 поддерживаетрекурсиюиструктурное программирование, широко применялся в обработке данных.
Прототипом Объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного Аланом Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.
В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: «объект – данные+процедуры». Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение процедур и данных в одном объекте называется инкапсуляцией.
Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса. Программирование рассматриваемого стиля заключается в выборе имеющихся или создании новых объектов и организации взаимодействия между ними. При создании новых объектов свойства объектов могут добавляться или наследоваться от объектов-предков. В процессе работы с объектами допускается полиморфизм – возможность использования методов с одинаковыми именами для обработки данных разных типов.
К наиболее современным объектно-ориентированным языкам программирования относятся С++, Delphi, Perl.
Язык С++ был разработан в начале 80-х годов Б. Страуструпом.
Perl - высокоуровневыйинтерпретируемыйдинамическийязык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Название языка представляет собой аббревиатуру, которая расшифровывается как PracticalExtractionandReportLanguage— «практический язык для извлечения данных и составления отчётов»
Python - высокоуровневый язык программированияобщего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Python поддерживает несколькопарадигм программирования, в том числеструктурное,объектно-ориентированное, функциональное,императивное.
Java – объектно-ориентированный язык программирования, разработанный компанией SunMicrosystems. Приложения Java обычнокомпилируютсяв специальныйбайт-код, поэтому они могут работать на любойвиртуальной Java-машине(JVM) вне зависимости откомпьютерной архитектуры. Дата официального выпуска —23 мая1995 года.
C# - объектно-ориентированныйязык программирования. Разработан в1998—2001 годахгруппой инженеров под руководствомАндерса Хейлсбергав компанииMicrosoftкак язык разработки приложений для платформы Microsoft .NET Framework. Его синтаксис наиболее близок кC++иJava.
Ruby - интерпретируемыйвысокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования.
В последнее время программы, в особенности объектно-ориентированные, реализуются как системы визуального программирования. Отличительной особенностью таких систем является мощная среда разработки программ из готовых «строительных блоков», позволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без кодирования программных операций. К числу объектно-ориентированных систем визуального программирования относятся: VisualBasic, Delphi, C++Builder, VisualC++
Дата добавления: 2016-05-31; просмотров: 4769;