Автор работы: Пользователь скрыл имя, 10 Января 2013 в 16:09, реферат
Язык программирования — формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Введение: 3
Функция: 3
Исполнение: 3
Типы данных: 5
Структуры данных: 5
Семантика языков программирования: 5
Парадигмы программирования: 5
Компилируемые и интерпретируемые языки: 6
Языки высокого уровня: 7
Algol 7
Pascal 7
Basic 8
Prolog 8
СИ ++ 8
Полиморфизм 9
Среда программирования 9
Компоненты среды программирования: 10
Базовым принципом языка
является равнозначность представления
программы и данных (декларативность),
отчего утверждения языка одновременно
являются и записями, подобными записям
в базе данных, и правилами, несущими
в себе способы их обработки. Сочетание
этих качеств приводит к тому, что
по мере работы системы Пролога знания
(и данные и правила) накапливаются.
Поэтому Пролог-системы
Пролог критикуется в первую очередь за свою недостаточную гибкость, отчего решения на обычных языках программирования (типа C++, Java) в сочетании с базами данных оказываются более технологичными, чем аналогичные решения на Прологе. Негибкость заключается в трудности изучения языка, более высоких требований к квалификации программиста на Прологе, трудности отладки программы, неразвитости технологии программирования, плохой контролируемости промежуточных результатов.
Cи++ представляет собой интересный эксперимент по адаптации возможностей объектной технологии к традиционному языку программирования. Бьерн Страуструп вполне достоин аплодисментов за то, что ему в голову пришла мысль слить обе технологии воедино. В то же время в Cи++ сохранились проблемы старого поколения средств программного производства. Язык Cи++ обладает тем преимуществом перед Cи, что поддерживает некоторые аспекты объектной технологии, которые могут быть использованы для ограниченного проведения анализа требований и проектирования. Однако процессы анализа, проектирования и реализации проекта все еще в значительной степени остаются внешними по отношению к Cи++. Таким образом, в Cи++ не реализованы важные преимущества объектной технологии, которые прямо бы привели к экономичному производству программной продукции.
Полиморфизм - основополагающая концепция объектно-ориентированного программирования. В языке Си++ ключевое слово virtual предоставляет функции возможность стать полиморфической, если она будет переписана (переопределена) в одном классе-потомке или более. Однако слово virtual отнюдь не является необходимым, так как любая функция, переопределенная (overriden) в классе-потомке, может быть полиморфической. Компилятору только требуется генерировать коммутирующий код для истинно полиморфических процедур.
Если автор родительского
класса в языке Си++ не предвидит,
что класс-потомок захочет
Си++ также позволяет функциям быть перегруженными (overloaded); в такой ситуации вызов нужной функции зависит от аргументов. Различие между перегруженными и полиморфическими (переопределенными) функциями состоит в том, что в перегруженных функциях нужная определяется при компиляции, а в случае полиморфических определяется при выполнении.
Среда программирования – это набор инструментов, которые используются для преобразования символов в выполнимые вычисления.
1. Редактор – это средство для создания и изменения исходных файлов, которые содержат написанную на языке программирования программу.
Условно редакторы делятся на два типа.
Первый тип работает с последовательностью символов в текстовых файлах и обеспечивают расширенную функциональность – подсветку синтаксиса, сортировку строк, конвертацию кодировок, показ кодов символов и т.п. Часто такие редакторы называют редакторами кода, поскольку основное их назначение – это написание исходных кодов компьютерных программ. Примеры таких редакторов: Emacs (один из самых мощных по возможностям многоцелевой, свободный редактор); jEdit (свободный редактор на Java); Kate (мощный расширяемый свободный текстовый редактор с подсветкой синтаксиса для массы языков программирования и разметки); Notepad (входит в состав Microsoft Windows); Vim (один из самых мощных по возможностям редактор для программистов); EditPlus (текстовый редактор для Windows, предназначенный для программирования и веб-разработки) и др.
Второй тип редакторов имеет
расширенные функции
2. Компилятор – транслирует символы из исходного файла в объектный модуль, который содержит команды в машинном коде для конкретного компьютера.
3. Компоновщик или редактор связей – собирает объектные файлы отдельных компонентов программы и разрешает внешние ссылки от одного компонента к другому, формируя исполняемый файл.
4. Загрузчик – копирует исполняемый файл с диска в память и инициализирует компьютер перед выполнением программы.
5. Отладчик – это средство, которое дает возможность программисту управлять выполнением программы на уровне отдельных операторов для диагностики ошибок. Позволяет выполнять пошаговую трассировку (пошаговое выполнение программы с остановками на каждой команде или строке), отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т.д.
6. Средства тестирования – автоматизирует процесс тестирования программ, создавая и выполняя тесты и анализируя результаты тестирования.
7. Интерпретатор – выполняет исходный код программы в отличие от компилятора, переводящего исходный файл в объектный.
Вывод: Со времени создания первых программируемых машин человечество придумало уже более восьми с половиной тысяч языков программирования. Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.Ну,а нам простым смертным остается довольствоваться всем этим используя привычный нам язык!