45028

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

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-11-15

29.44 KB

53 чел.

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

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

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

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

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

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

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

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

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

Ведущими разработчиками систем программирования в настоящее время являются фирмы Microsoft и Borland International.

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

Алфавит значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

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

Конструкция команд (операторов) отражает содержательные виды обработки данных, и задаются в удобном для человека виде;

Используется аппарат переменных и действия над ними;

Поддерживается широкий набор типов данных

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

Рассмотрим некоторые языки программирования в порядке увеличения их уровня.    Двоичный язык - в настоящее время программистами не применяется
Шестнадцатеричный язык-упрощение за счет представления четырех двоичных цифр одной шестнадцатеричной. Используется в качестве дополнения к языкам высокого уровня для программирования критичных к времени выполнения фрагментов алгоритмов.
Язык Ассемблера - предназначен для представления в удобочитаемой символической форме программ, написанных на машинном языке.
Язык Макроассемблера - расширение языка Ассемблера. Позволяет определять и использовать новые, более мощные команды.

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

Язык Basic (Beginners All-purpose Symbolic Instruction Code-многоцелевой язык символических инструкций для начинающих). Разработан в 1964 г. для использования новичками. Первоначально работа велась только в режиме интерактивной (диалоговой) интерпретации. В смысле строгости и стройности является антиподом языка Pascal. Несмотря на это, Basic очень популярен, в особенности на ПК. Существует множество его диалектов, несовместимых между собой. Современные диалекты Basic’а весьма развиты и мало чем напоминают  своего предка.
Язык Fortran (Formula Translator) разработан в 1956 г. Считается “рабочей лошадью” научных работников за счет своей “приспособленности” к ведению сложных вычислений и широко используется до настоящего времени, несмотря на свою ограниченность и ”корявость”.
Язык Pascal разработан в 1970 г. Норбертом Винером, назван в честь французского математика Блеза Паскаля. В Паскале полностью реализована концепция структурного программирования не только путем упорядочения связей между фрагментами программы, но и за счет структуризации данных. Один из наиболее популярных языков программирования.
 Язык  Modula-2 создан в 1979 г. также Норбертом Винером. По существу - развитие Паскаля. Его особенности состоят в высокой модульности программ и наличии средств описания параллельных процессов.

Язык Ada разработан в 1979 г. по заказу Министерства обороны США для использования во встроенных системах с управляющими ЭВМ, что требует режима поддержки режима реального времени. Назван в честь Августы Ады Лавлейс (дочери Байрона), которая была ассистентом Чарльза Бэббиджа и по праву считается первым в мире программистом. Рассматривается как универсальный язык программирования. Данный язык вводит строгую дисциплину программирования, что препятствует написанию “плохих программ”. Несмотря на достоинства, программистов отталкивает его громоздкость

Язык Logo разработан с целью обучения детей и используется в настоящее время. Отличается простотой, но весьма богатыми возможностями, среди которых процедуры, графические средства и т. д. Существует ряд языков, некогда популярных, но утративших свои позиции в настоящее время:  PL/1-конгломерат языков Fortran, Algol, Cobol –предназначен для больших ЭВМ и на ПК практически не используется. Язык достаточно сложен и имеет такие свойства, которые не стимулируют написание корректных, надежных и наглядных программ; Cobol - ориентирован на обработку коммерческой информации;Snobol - предназначен для обработки текстовых данных.

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

Функциональные языки программирования. Программа на таком языке представляет  собой совокупность описаний функций и выражения, которые необходимо вычислить. Оно вычисляется посредством редукции (т. е. серии упрощений). Функциональное программирование не использует концепцию памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекта программы, что полностью соответствует понятию переменной в математике. Наличие стройной математической основы обеспечивает возможность использования алгебраических методов создания структуры, преобразования и исследования программ. Это в какой-то мере приближает их к описанию структуры мышления человека.
Примером функционального языка является язык 
LISP (ListProcessing - обработка списков) Разработан и реализован в Массачусетском технологическом институте в 1959 г. Рассматривается специалистами как основной язык программирования систем искусственного интеллекта.

Логическое программирование Логика и программирование долгое время были непересекающимися областями исследований. Только в 1973 впервые было опубликовано описание языка  PROLOG (PROgramming in LOGic- программирование в терминах логики) Центральным понятием в логическом программировании является отношениеПрограмма представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием. Так как вычисления осуществляются методом проб и ошибок (посредством поиска с возвратами). В настоящее время для ПК существует около двух десятков реализации PROLOG’а, некоторые из которых оформлены в виде интегрированных сред.

Объектно-ориентированное программирование. Корни объектного ориентирования уходят в одну из ветвей логики, в которой первичной является не отношение, а объект. Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ ирония с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Как пример объектно-ориентированного языка можно назвать VisualBasic  и Delfi.

Характеристики языков программирования. Элементы объектной модели.

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

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


 

А также другие работы, которые могут Вас заинтересовать

81276. Право и экономика 36.48 KB
  Определяющую роль в сфере экономики играют отношения собственности. В марксистской теории соотношение права и экономики трактуется исходя из общих закономерностей связи базиса экономической структуры общества экономического строя которая складывается независимо от воли и сознания людей и надстройки идеологических отношений и институтов. В то же время Маркс и Энгельс не рассматривали определяющее значение экономики по отношению к праву прямолинейно не упрощали его: учитывалось влияние на право других факторов других частей...
81277. Право и мораль. Единство права и морали 38.26 KB
  Соотношение между правом и моралью сложное оно включает в себя четыре компонента: единство различие взаимодействие и противоречия. Единство права и морали состоит в том что: право и мораль представляют собой разновидности социальных норм образующих в совокупности целостную систему нормативного регулирования и в силу этого обладают некоторыми общими чертами у них единая нормативная основа; право и мораль преследуют в конечном счете одни и те же цели и задачи упорядочение и совершенствование общественной жизни внесение в нее...
81278. Формы (источники) права 38.83 KB
  Наряду с этим источником права следует также признать форму выражения государственной воли форму в которой содержится правовое решение государства. Обычно в теории называют четыре вида источников права: нормативный акт судебный прецедент санкционированный обычай и договор. В отдельные исторические периоды источниками права признавали правосознание правовую идеологию а также деятельность юристов.
81279. Нормативно-правовой акт: понятие, виды 39.43 KB
  Нормативные акты создаются в основном государственными органами имеющими право принимать нормативные решения по тем вопросам которые переданы им для разрешения. Нормативные акты характеризуются следующими признаками. Нормативные акты – это носители хранилища жилища правовых норм из них мы черпаем знания о правовых нормах. 2 Нормативные акты должны издаваться только в пределах компетенции правотворческого органа иначе по одному и тому же вопросу в государстве будет существовать несколько нормативных решений между которыми возможны...
81280. Норма права: Понятие, структура, классификация. Способы изложения норм права в нормативно-правовых актах 41.26 KB
  Нормы права – это правило поведения имеющее обязательный характер и поддерживаемое силой государственного принуждения. Внутренняя определенность нормы проявляется в содержании объеме прав и обязанностей четких указаниях на последствия ее нарушения. Она обладает качеством системности которое проявляется в структурном построении нормы в специализации и кооперации норм различных отраслей и институтов права. Структура нормы права объединяет три элемента: гипотезу диспозицию и санкцию.
81281. Система права и система законодательства 36.02 KB
  Система права как его содержание это внутренняя структура права соответствующая характеру регулируемых им общественных отношений. Система законодательства внешняя форма права выражающая строение его источников т. Структура права носит объективный характер и обусловлена экономическим базисом общества.
81282. Типология правовых систем 38.05 KB
  При классификации правовых систем используют различные факторы начиная с этических расовых географических религиозных и заканчивая юридической техникой и стилем права. Она основана на сочетании двух критериев: идеологии включающей религию философию экономические и социальные структуры и юридической техники включающей в качестве основной составляющей источники права. Основным признаком этой правовой семьи является ее формирование на основе римского права. Решающая роль в становлении ее принадлежала средневековым университетам Европы...
81283. Публичное и частное право. Материальное и процессуальное право. Международное и национальное право 41.33 KB
  Материальное и процессуальное право. Международное и национальное право. Основное деление всего права есть деление его на право публичное и частное или гражданское.
81284. Правотворчество: понятие, субъекты, стадии, принципы. Юридическая техника 38.91 KB
  Разработка проекта нормативно-правового акта и вынесение на рассмотрение компетентных лиц. Отклонение проекта или принятие на его основе нормативно-правового акта. Принятие решения внести изменения в систему действующих норм права может мотивироваться следующими обстоятельствами: Решение может приниматься по собственной инициативе правотворческого органа признавшего что его нормативно-правовой акт в той или иной части устарел и нуждается в изменении или коренной переработке. Вторым обстоятельством является вступление в силу...