Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Однако Языки программирования нужно знать





 


 

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

 

 

Языки программирования высокого уровня играют роль средства связи между программистом и компьютером, а также между программистами. Это обстоя­­тельство накладывает на язык многие обязательства:

 

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

 

(Язык, ориентированный на деловые сферы применений, должен содержать понятия, используемые в этом виде деятельности: документ, счет, база данных и т.п.).

 

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

 

(например, предложение “Найти документ X в базе Y“ должно породить программу в машинном языке, осуществляющую требуемый поиск).

 

3.Язык программирования не только поддерживает предметно-ориентирован­ную деятель­ность, но и стимулирует ее развитие

 

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

 

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

 

 

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

 


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

Идея языка программирования появилась так же давно, как и универсальные вычислительные машины - на рубеже 40-50 годов. Уже на первых шагах их эксплуатации выяснились недостатки использования машинного кода, определились методы устранения или уменьшения этих недостатков: использование библиотек стандартных подпрограмм, имен вместо адресов, предварительного распределения памяти и т.д.

 

Большое влияние на последующие разработки оказал язык Fortran, созданный в IBM под руководством Дж. Бэкуса (1954-57гг.) В то же время М.Г.Хоппер (Ramington-Rand Univac) и ее группа разработали язык обработки коммерческой информации Flow-Matic. М.Г.Хоппер принадлежит термин “компилятор”. Так называлась ее первая транслирующая программа.

 

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


Вот некоторые даты:

1957 г. Fortran США, IBM, Дж. Бэкус: по существу, первый широко применяемый язык, ориентированный на научно-инженерные и численные задачи.

1960 г. Cobol США, Объединенный комитет производителей и пользова­телей ЭВМ: язык для коммерческих задач.

1960 г. Algol-60 Улучшенный вариант языка Algol-58, Европа, США, международная рабочая группа: универсальный язык, прародитель Pascal-я и многих других языков европейского стиля.

1965 г. BASIC Дж. Кемени, Т.Куртц, США, Дартмутский колледж: язык для начинающих.

1969 г. Logo С.Пейперт, США, Массачусетский технологический институт: язык для детей.

1966 г. PL-1 группа IBM,США: Многоцелевой язык для систем коллективного пользования.

1968 г. Algol-68 Европа, международная рабочая группа: европейский ответ на PL-1.

1970 г. Pascal Н.Вирт, Швейцария, федеральный институт технологии, Цюрих: язык для обучения специалистов в области информатики.

1959 г. Lisp Дж.Маккарти, США, Массачусетский технологический институт: язык функционального программирования.

1972 г. Prolog А.Колмероэ и его коллеги из лаборатории Искусственного интеллекта, Марсельский университет, Франция: язык логического программирования, завоевавший широкую известность как язык для задач обработки баз знаний.

1972-75гг. С и его развитие С++. Д. Керниган, Д. Ричи, Б. Страустрап, AT & T Bell Lab.,: языки системного программирования, получившие широкое распространение благодаря своей эффективности и поддержке ведущих программистских компаний.

1975 г. Modula-2 Н.Вирт, Развитие языков Pascal и Modula для системного програм­мирования.

Первые языки программирования несли в себе явно выраженные признаки ориентации на структуру ЭВМ.

 

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

 

Перенесение акцентов с ЭВМ на программы еще более ярко выразилось в появлении принципиально новых стилей программирования

 

- функционального программирования (Lisp),

- логического программирования (Prolog),

- алгебраического программирования (Reduce, APS).

 


 

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

 

* Развитие языков программирования для мультипроцессорных и мульти­машинных систем;

* Развитие декларативных языков программирования, ори­ен­ти­рованных на задачи искус­ственного интеллекта;

* Развитие объектно-ориентированных языков, в которых иерархия абстракций позволяет наращивать средства языка, одновременно меняя архитек­ту­ру ЭВМ применительно к рассмат­риваемому классу проблем.


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

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

 

Он имеет свой алфавит, словарь, знаки препинания (разделители)

 

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

 

Примеры лексем:

 

394, -5678, 12.456, 67.5е8 - числа;

 

Integer, Cos, MaxInt - имена;

 

(,) - скобки.

 

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

 

Основная задача лексического анализа - проверка правильности написания и идентификация лексем в этом тексте.

 

Каждая лексема имеет свою интерпретацию (смысл).

 

Так, последовательность цифр, разделенная точкой, интерпретируется как вещественное число в десятичной нотации.

 

Cos - как имя функции.

 

Совокупность интерпретаций лексики языка называется его прагматикой.

 


 

Правила образования более сложных конструкций языка называются син­так­си­чес­кими.

 

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

 

Синтаксические конструкции языка интерпретируются как действия или описания.

 

Например, оператор присваивания x:=x+2 имеет смысл “сложить значение переменной x с числом 2 и результат интерпретировать как (новое) значение этой же переменной”.

 

Совокупность интерпретаций синтаксических правил называется семантикой языка.

 

Изучение языка программирования заключается в изучении его синтаксиса и семантики

Средства определения языка

 

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

 

Для формального опре­деления языковых конструкций используют т.н. метаязыки (фор­маль­ные языки описания формальных языков).

 

Описание языка программирования на метаязыке – составная часть т.н. спецификаций транслятора ЯП.

 







Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

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

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.