Воскресенье, 21.06.2026
Шпаргалка :)
Меню сайта
Категории раздела
Мои статьи [172]
Наш опрос
Оцените мой сайт
Всего ответов: 259
Форма входа
Главная » Статьи » Мои статьи

_. История развития и классификация языков программирования

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

История развития: 1. В машинных кодах; 2. Язык ASSEMBLER; 3. Язык FORTRUN 1954; 4. Язык COBOL 1960; 5. BASIC 1963; 6. PASCAL 1970 (Николас Вирт); 7. С 1972 (Ритчи, Кернеган).

Язык С хорошо зарекомендовал себя эффективностью, лаконичностью записи алгоритмов, логической стройностью программ. Во многих случаях программы, написанные на языке С, сравнимы по скорости с программами, написанными на языке ассемблера; при этом они более наглядны и просты в сопровождении. Одним из основных достоинств языка Си считается высокая переносимость написанных на нем программ между компьютерами с различной архитектурой, между различными операционными средами. Язык С имеет ряд существенных особенностей, которые выделяют его среди других языков программирования. Это язык программирования высокого уровня, обеспечивающий необычайно легкий доступ к аппаратным средствам компьютера. Иногда С называют языком программирования "среднего" уровня. С одной стороны, как и другие современные языки высокого уровня, язык С поддерживает полный набор конструкций структурного программирования, модульность, блочную структуру программ, раздельную компиляцию. С другой стороны, в С реализованы некоторые операции низкого уровня (в частности, операции над битами). Некоторые из таких операций напрямую соответствуют машинным командам. Базовые типы данных языка С отражают те же объекты, с которыми приходится иметь дело в программе на языке ассемблера, — байты, машинные слова, символы, строки. Несмотря на наличие в языке С развитых средств построения составных объектов (массивов и структур), в нем практически отсутствуют средства для работы с ними как с единым целым (нельзя, например, сложить две структуры). Язык С поддерживает механизм указателей на переменные и функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически так же легко, как на языке ассемблера.

 

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

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

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

Процедура – Часть программы выполняющая некоторые операции над данными в соответствии с задаваемыми параметрами. К процедурным языкам программирования относятся фортран, си, паскаль, Алгол.

Логическое программирование – класс языков, который основывается на символической логике. Пример: пролог. Логические языки программирования  наиболее приспособлены для реализации в рамках вычислительных архитектур с высокой степенью параллелизма. Логические языки программирования являются основными при проектировании систем искусственного интеллекта, систем управления базами знаний и экспертных систем. Логические языки программирования позволяют хранить информацию в базах фактов и знаний, которые представляются в них в виде решающих правил. Вычисления сводятся к определению фактов и продуцированию выводов на основе логики вида «если существует факт 1, то сущ. факт 2» или «если истина А, то выполнить В».

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

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

Инкапсуляция – хранение в объекте данных и методов их обработки. Этот принцип позволяет жестко ограничить набор способов модифицирования данных. Наследование позволяет создавать объекты с использованием средств ранее использованных объектов. Полиморфизм позволяет автоматизировать процесс обработки данных за счет автоматического выбора способов обработки в зависимости от вида данных. Все это значительно повышает производительность.

Классификация языков программирования: 1. Неструктурный (преобразование машинных кодов на языке Assembler); 2. Модульные (задачи→подзадачи →алгоритмы→функции); 3. Логический подход; 4. Объектно-ориентированный подход; 5. Функциональный подход; 6. Смешанный подход; 7.  Компонентно-ориентированный подход;
Категория: Мои статьи | Добавил: Eskander (27.01.2010)
Просмотров: 4106 | Комментарии: 1 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2026
    Бесплатный конструктор сайтовuCoz