Введение
С появлением первых компьютеров в 50-х годах прошлого столетия появилась необходимость управления ими и постановки задачи для выполнения. Для этого первые программисты использовали команды, состоящие из нулей и единиц, что было очень трудоемко и занимало много времени. Что бы упростить себе задачу они придумали первые языки программирования, такой как мнемонический язык assembly. Когда роль компьютеров в жизни человечества возросла, стали появляться языки программировании нового типа, выступающие в роли посредника между машинами и программистами. Появились языки программирования второго и третьего поколения.
Постепенно стали появляться первые языки высокого уровня, которые решили проблему привязки программы к определенному типу электронно-вычислительных машин. Но каждый созданный язык высокого уровня имеет свои достоинства при применении его в самых различных областях человеческой деятельности. Что бы понять, какой язык применить к решению конкретной задачи, для ее быстрейшего и качественного решения, программисту важно иметь представление о передовых методиках, языках и технологиях программирования.
Тема, раскрываемая в данной работе актуальна тем, что чем больше программисту известно про различные языки программирования высокого уровня, тем качественнее будет выполнена задача, поставленная перед ним.
Для меня актуальна эта работа тем, что поможет мне расширить мои знания, и в итоге моя ценность как специалиста возрастет на рынке труда.
Предмет курсовой работы – языки программирования и история их развития.
Целью курсовой работы – изучить теоретический материал по классификации языков программирования высокого уровня.
Цели исследования:
1. Просмотреть общее сведения и уровни языков программирования.
Глава 1. Поколения и классификация языков программирования
1.1 Пять поколений языков программирования
Иногда различают пять поколений языков программирования, правда данное разделение является спорным:
Первое поколение (Поколение 1GL).
Начало 1950-х годов - язык первых компьютеров. Первый язык ассемблера, созданный по принципу «одна инструкция - одна строка». [11]
Машинные языки, языки низкого уровня - двоичные языки процессоров, представляющие собой набор (алфавит) команд, записанных в двоичном коде (0,1), которые данный процессор может выполнить непосредственно, если эти команды ввести в его память в виде последовательности или сразу подать в арифметическо-логическое устройство процессора. Примеры: язык процессора IBM-PC, язык ARM-процессора. [2]
Основная отличительная особенность: ориентирование на конкретный компьютер. [11]
Второе поколение (Поколение 2GL).
Конец 1950-х - начало 1960-х г.г. Разработан символьный ассемблер, в котором появилось понятие переменной. Это первая полноценная язык. [11]
Ассемблеры, автокоды, системные языки, языки среднего уровня - текстовые языки, понятные человеку и однозначно переводимые (транслируемые) в языки низкого уровня, то есть машинный двоичный код. Программирование на 2GL на порядок производительнее, чем на 1GL, так как более удобны для человеческого восприятия. Примеры: Макроссемблер, С, PL/1. [2]
Основная отличительная особенность: ориентирование на абстрактный компьютер с такой же системой команд. [11]
Третье поколение (Поколение 3GL).
1960-е гг. - Языки программирования высокого уровня. Их характеристики [11]:
• относительная простота;
Глава 2. Обзор и характеристика языков программирования высокого уровня
Охарактеризуем наиболее известные языки программирования высокого уровня.
1. Фортран (FORmula TRANslating system - система трансляции формул) старейший и сегодня активно используемый в решении задач математической ориентации язык. Является классическим языком для программирования на ЭВМ математических и инженерных задач. [5]
В 1954 г. группой разработчиков во главе с Джоном Бэкусом был создан язык программирования Фортран. Это первый язык программирования высокого уровня. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от Ассемблера, была концепция подпрограмм. Транслятор с Фортрана в машинные коды был весьма сложной программой, которая в отличие от современных трансляторов не выполняла контроль многих ошибок программиста. Кроме того, генерируемый машинный код был менее эффективен, чем если бы программа изначально писалась на Ассемблере. [10]
Со временем пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных. [10]
Фортран был задуман для использования в сфере научных и инженерно-технических вычислений. На этом языке легко описываются задачи с разветвленной логикой (моделирование производственных процессов, решение игровых ситуаций и т.д.), некоторые экономические задачи и особенно задачи редактирования (составление таблиц, сводок, ведомостей и т.д.). [10]
Глава 3. Понятие об алгоритме
Слово «Алгоритм» происходит от algorithmi – латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. Другое дело – реализация уже имеющегося алгоритма. Ее можно поручить субъекту или объекту, который не обязан вникать в существо дела, а возможно, и не способен его понять. Такой субъект или объект принято называть формальным исполнителем. [9]
Примером формального исполнителя может служить стиральная машина-автомат, которая неукоснительно исполняет предписанные ей действия, даже если вы забыли положить в нее порошок. Человек тоже может выступать в роли формального исполнителя, но в первую очередь формальными исполнителями являются различные автоматические устройства, и компьютер в том числе. [9]
Каждый алгоритм создается в расчете на вполне конкретного исполнителя. [9]
Те действия, которые может совершать исполнитель, называются его допустимыми действиями. Совокупность допустимых действий образует систему команд исполнителя. Алгоритм должен содержать только те действия, которые допустимы для данного исполнителя. [9]
Заключение
Данная работа предназначалась для теоретического знакомства с языками программирования высокого уровня. Работа поделена на три главы. В каждой главе рассмотрена часть изучаемого вопроса.
1. В первой главе было осуществлено знакомство с видами языков программирования и приведена их классификация.
2. Вторая глава работы посвящена обзору основных языков программирования высокого уровня.
3. В третьей главе приведена информация о основной части каждого языка – об алгоритмах. А также основные сведения о них.
При рассмотрении различных языков программирования высокого уровня и их характеристик, можно сделать вывод, что перед началом работы над конкретно поставленной задачей необходимо тщательно выбирать инструмент для ее исполнения. Иначе производительность и эффективность программы может оказаться малопродуктивной.