Файл: Современные языки программирования.(общая характеристика языков программирования ).pdf
Добавлен: 18.06.2023
Просмотров: 29
Скачиваний: 2
Введение
Объектом исследования курсовой работы являются современные языки программирования.
Первая глава работы посвящена анализу особенностей наиболее распространенных языков, их классификации, описанию их достоинств и недостатков.
Предметом исследования данной курсовой работы является изучение такого актуального вопроса, как использование процедур, функции и подпрограмм в языках программирования высокого уровня, а также основных подходов к созданию пользовательских меню.
Использование подпрограмм позволяет значительно оптимизировать работу программиста, сократить объем памяти, занимаемый программой, сделать программный код более понятным. Создание пользовательских меню является одной из наиболее важных проблем при разработке пользовательского интерфейса.
Именно поэтому изучение этого аспекта программирования является особенно актуальным при написании современных программ на языках высокого уровня.
Таким образом, целью данной работы является раскрытие теоретических аспектов рассматриваемой темы, а также приобретение практических навыков использования процедур и функций на примере реализации конкретной задачи.
При выполнении курсовой работы перед нами были поставлены следующие задачи:
- Рассмотреть особенности и произвести квалификацию современных языков программирования.
- Обосновать выбор языка для дальнейшего исследования.
- Реализовать полнофункциональную программу, позволяющую продемонстрировать изученные теоретические вопросы на практике.
Общая характеристика языков программирования
Языки программирования и их классификация
Существуют различные классификации языков программирования.
По наиболее распространенной классификации все языки программирования, в соответствии с тем, в каких терминах необходимо описать задачу, делят на языки низкого и высокого уровня.
Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.
Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
К языкам программирования высокого уровня относят Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году), Пролог (в основе языка лежит аппарат математической логики) и т.д.
Эти языки машинно–независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.
Программу, написанную на языке программирования высокого уровня, ЭВМ не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы – трансляторы.
Существует три вида транслятора: интерпретаторы (это транслятор, который производит пооператорную обработку и выполнение исходного кода программы), компиляторы (преобразует всю программу в модуль на машинном языке, после чего программа записывается в память компьютера и лишь потом исполняется) и ассемблеры (переводят программу, записанную на языке ассемблера, в программу на машинном языке).
Языки программирования также можно разделять на поколения:
- языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.
- языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.
- языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
- языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
- языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.
Языки программирования также можно классифицировать на процедурные и непроцедурные.
В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.
Непроцедурное (декларативное) программирование появилось в начале 70-х годов 20 века, К непроцедурному программированию относятся функциональные и логические языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь делятся на еще более простые задачи и т.д. Один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Программа на Прологе содержит, набор предикатов–утверждений, которые образуют проблемно–ориентированную базу данных и правила, имеющие вид условий.
Можно выделить еще один класс языков программирования – объектно-ориентированные языки высокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно–ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме.
Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах Нигаардом и Далом.
Java – язык для программирования Internet, позволяющий создавать безопасные, переносимые, надежные, объектно–ориентированные интерактивные программы. Язык Java жестко связан с Internet, потому, что первой серьезной программой, написанной на этом языке, был браузер Всемирной паутины.
В последнее время, говоря о программировании в Internet, часто имеют в виду создание публикаций с использованием языка разметки гипертекстовых документов HTML. Применение специальных средств (HTML–редакторов) позволяет не только создавать отдельные динамически изменяющиеся интерактивные HTML–документы, используя при этом данные мультимедиа, но и редактировать целые сайты.
Для создания web-приложений используются веб-ориентированные языки программирования. К ним относятся PHP, Perl, ASP.Net и т.д.
PHP – простое и мощное средство для динамического построения страниц HTML на сервере. Одним из главных достоинств РНР является тот факт, что он внедряется прямо в HTML-код, поэтому программисту не приходится писать программу с множеством команд для простого вывода HTML. Благодаря наличию сотен стандартных функций РНР в состоянии решить практически любую задачу. В нем имеется обширная поддержка создания графики и операций с ней, математических вычислений, средств электронной коммерции, технологий XML, ODBC, а также работы со многими известными СУБД, в том числе и Oracle. Широкий выбор возможностей избавляет от необходимости рутинной и непростой работы по подключению сторонних модулей. Всё это делает его хорошим кандидатом для разработки приложений на стороне сервера.
ASP.NET – это часть технологии .NET, используемая для написания мощных клиент-серверных интернет приложений. Она позволяет создавать динамические страницы HTML. ASP.NET возникла в результате объединения более старой технологии ASP (активные серверные страницы) и .NET Framework. Она содержит множество готовых элементов управления, используя которые можно быстро создавать интерактивные web-сайты.
ASP.NET — инфраструктура разработки web-приложений. ASP.NET автоматизирует большую часть процесса разработки сложных web-приложений, включая взаимодействие с web-сервером, начальную обработку запросов и генерацию результирующего HTML. Процесс разработки web-приложений становится похожим на разработку обычных Windows -приложений, где разработчик визуально располагает элементы управления на форме, задает их свойства и пишет обработчики событий.
ASP.NET — это веб-платформа, предоставляющая все необходимые службы для создания серверных веб-приложений корпоративного класса. ASP.NET создана на основе платформы .NET Framework, поэтому все функции .NET Framework доступны для приложений ASP.NET. Приложения могут быть написаны на любом языке, совместимом со средой CLR, включая Visual Basic и C#.
ASP.NET является частью .NET Framework. Таким образом, такие приложения могут использовать классы .NET Framework, возможности защищенного программирования и другие преимущества управляемого кода. По мере развития ASP.NET процесс разработки становится все более визуальным (работа с компонентами и мастерами). Код приложения может быть написан на любом языке, совместимом с общеязыковой исполняющей средой (common language runtime), — например, Microsoft Visual Basic, C#, JScript .NET или J#.
Perl – это интерпретируемый язык, оптимизированный для просмотра содержимого текстовых файлов, выделения из них информации и генерирования отчетов на основе этой информации, а также просто хороший язык для выполнения многих задач системного администрирования UNIX. Он обладает большим набором преимуществ как язык сценариев общего назначения, которые проявляются через его характерные черты и возможности.
Первым в цепочке достоинств языка Perl мы назовем его интерпретируемость. Конечно, некоторые программисты, прочитав это, скажут: "Ну вот, нашли себе достоинство. Посмотрим, как быстро будет выполняться программа Perl длиной, скажем, в тысячу операторов?". Что ж, замечание существенное, если рассматривать Perl как язык создания больших информационных систем, и совершенно не выдерживающее критики, если вспомнить, для чего он предназначен — задач администрирования и обработки текстовых файлов — небольших по размерам сценариев, решающих нетрадиционные задачи, для программирования которых могло бы потребоваться взаимодействие нескольких специализированных языков. Разработка подобных решений с помощью компилируемых языков программирования потребовала бы на много больше времени, чем использование одного интерпретируемого: ведь цикл разработки программ на таком языке короче и проще, чем на компилируемом. Мы постепенно создаем программу, добавляя необходимые операторы, и сразу же получаем результаты, когда она завершена: интерпретатор perl постепенно компилирует все операторы во внутренний байт-код и программа готова к выполнению, как только в ней поставлена последняя точка (точнее точка с запятой, завершающая Последний оператор). Для небольших по объему программ — это достаточное преимущество, так как отладка занимает много времени. Да, интерпретируемая программа, естественно, будет выполняться медленнее программы, представленной в формате двоичного файла и выполняющейся без предварительной обработки интерпретатором, но если в этом возникнет необходимость, то можно решение на языке Perl использовать в качестве прототипа для компилируемого языка, например С. Суммируя все сказанное, можно заключить, что Perl позволяет легко и быстро получить требуемое решение задачи, сочетая в себе элементы компилируемых и интерпретируемых языков программирования.
Вторым преимуществом использования Perl для решения соответствующих задач (мы имеем в виду сетевые возможности) является его доступность для большинства серверных платформ: