Автор работы: Пользователь скрыл имя, 06 Сентября 2013 в 20:47, реферат
Цель работы – исследовать виды языков программирования тенденцию развития, иерархию и способы программирования.
В процессе выполнения работы необходимо было проделать следующее.
Изучение языка Ассемблера
Изучение языков высокого уровня
Изучение объектно-ориентированных языков
Изучение парадигм программирования
ВВЕДЕНИЕ 3
1. ЯЗЫК АССЕМБЛЕРА 4
2.ЯЗЫКИ ВЫСОКОГО УРОВНЯ................................................................................................8
2.1 FORTRAN................................................................ ........ ... ....... .........................................10
2.2 LISP..................................................................... ...... .......... ........................ . ......................12
3. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ 14
3.1 ЯЗЫК С++ 15
4. ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ: 18
4.1 Процедурное программирование 18
4.2-Модульное программирование 18
4.3-Абстракция данных 18
4.4-Объектно-ориентированное программирование 19
4.5-Поддержка абстракции данных 21
4.6-Поддержка объектно-ориентированного программирования 21
ЗАКЛЮЧЕНИЕ 23
ЛИТЕРАТУРА.............................................................................................................................239
Суть объектно-
Руководящая идея
этого подхода заключается в
стремлении связать данные с
обрабатывающими эти данные
Фактически объектно-
Объектная модель
способна одинаково хорошо
В языке C++ полностью поддерживаются принципы объектно-ориентированного программирования, включая три кита, на которых оно состоит: инкапсуляцию, наследование и полиморфизм.
Одновременно
с появлением и детализацией
концепции появились и
Пусть, например, нужно
определить для графической
Суть объектно-
Те функции, для которых
можно определить заявленный
интерфейс, но реализация
Определите, какой класс
вам необходим; предоставьте
Если общность между
классами отсутствует, вполне
достаточно абстракции данных. Насколько
применимо объектно-
Нахождение общности
среди отдельных типов системы
представляет собой
Для представления на С++ множества взаимозависимых классов можно использовать дружественные классы ($$5.4.1).
Еще один способ выражения
общности понятий в языке
Поддержка программирования
с абстракцией данных в
перегрузка операций.
Поддержку объектно-
Основная трудность для языка, который создавался в расчете на методы упрятывания данных, абстракции данных и объектно-ориентированного программирования, в том, что для того, чтобы быть языком общего назначения, он должен:
- идти на традиционных машинах;
- сосуществовать с
- соперничать с традиционными
языками программирования в
- быть пригодным во
всех основных областях
Это значит, что должны
быть возможности для
С++ проектировался для поддержки того принципа, что всякая программа есть модель некоторых существующих в реальности понятий, а класс является конкретным представлением понятия, взятого из области приложения. Поэтому классы пронизывают всю программу на С++, и налагаются жесткие требования на гибкость понятия класса, компактность объектов класса и эффективность их использования. Если работать с классами будет неудобно или слишком накладно, то они просто не будут использоваться, и программы выродятся в программы на "лучшем С". Значит пользователь не сумеет насладиться теми возможностями, ради которых, собственно, и создавался язык
ЗАКЛЮЧЕНИЕ
Выделим некоторую общую тенденцию в развитии языков программирования: языки развиваются в сторону все большей и большей абстракции. И это сопровождается падением эффективности. Но это стоит того: повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше -- не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования. А с потерей эффективности придется смириться.
Целью данного обзора была попытка дать представление о всем многообразии существующих языков программирования. Среди программистов часто бытует мнение о всеобщей применимости того или иного языка (C, C++, Pascal и т.п.). Это мнение возникает по нескольким причинам: недостаток информации, привычка, инертность мышления. Настоящий профессионал должен постоянно стремиться повышать свои профессиональную квалификацию. А для этого нужно не бояться экспериментировать. Разумеется, прежде чем приниматься использовать новый язык, нужно внимательно изучить все его особенности, включая наличии эффективной реализации, возможности взаимодействия с существующими модулями и т.п., и только после этого принимать решение. Конечно, всегда есть риск пойти не тем путем, но не ошибается лишь тот, кто ничего не делает.
Часто проводятся дискуссии вида <язык A лучше, чем язык B>. Прочитав этот обзор, можно убедится в бессмысленности таких споров. Максимум, о чем может идти речь -- это о преимуществах одного языка над другим при решении той или иной задачи в тех или иных условиях. Вот здесь действительно иногда есть о чем поспорить. И решение подчас отнюдь не очевидно.
Этот обзор языков программирования задумывался как ответ тем, кто кричит <язык X MUST DIE>. Надеюсь, что ответ получился достаточно адекватным и убедительным.
ЛИТЕРАТУРА
1 Ваулин А.С. Языки программирования. кн.5 - М.: Школа-Пресс, 1993.
2 Вычислительная техника и программирование. / Под ред. А.В. Петрова – М.: Высш. шк., 1990.
3 Касвандс Э.Г. Введение в программирование на языке Ассемблер. ч.1 – М.: ЮНИТИ – ДАНА, 1993.
4 Малютин Э.А. Языки программирования. – М.: Просвещение, 1982.
5 Журнал «КомпьюТерра» №37-38 1994.
6 http://www.assembler.
Федеральное агентство по образованию ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ" (ОмГТУ) Кафедра «Прикладная математика и информационные системы» | |
Учебная научно-исследовательская работа На тему: КРАТКИЙ ОБЗОР ОСНОВНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ | |
Принял: Преподаватель: Ефимова Е. Ш.
подпись, дата Выполнил: Студент: гр. МО-310 Максимова А.В.
подпись, дата |