Файл: Интегрированные среды разработки программ (теории языков программирования).pdf
Добавлен: 22.04.2023
Просмотров: 329
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. ОСНОВЫ ТЕОРИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1.История становления языков программирования
1.2. Классификации языков программирования
Глава 2. ХАРАКТЕРИСТИКА СОВРЕМЕННЫХ ИНТЕГРИРОВАННЫХ СРЕД ПРОГРАММИРОВАНИЯ
2.1. Описание языка программирования С++ и среды C++ Builder
2.2. Описание языка программирования Java и среды NetBeans
2.3. Описание языка программирования C# и среды Visual Studio
Глава 3. СОЗДАНИЕ ГРАФИЧЕСКОГО ПРИЛОЖЕНИЕ С ПОМОЩЬЮ ЯП С++ BUILDER
3.1. Описание алгоритма программы
ВВЕДЕНИЕ
С развитием современной компьютерной техники появился так называемый машинный язык, с использованием которого программист мог указывать команды, оперируя с разными ячейками памяти, полностью используя все возможности машины.
Но использование большинства персональных компьютеров (ПК) на уровне машинного языка очень затруднительно, особенно касается это ввода-вывода.
Поэтому от использования его пришлось отказаться. На нынешнем этапе появилось множество мощных языков, которые позволяют выполнять даже самые различные функции.
В дальнейшем, с развитием высокоуровневых языков программирования, появилась прекрасная возможность адаптировать обработку информации с использованием созданных программных продуктов, которые являлись очень удобными, поскольку программисты могут создавать программу для конкретной предметной сферы. Вместе с этим начали разрабатываться программы с графической оболочкой.
Актуальными в теперешнее время является эффективность и надобность создания программ с графическим или оконным интерфейсом в современных интегрированных средах программирования.
Целью работы является описание популярных сред программирования и создания с использованием одной из них оконного графического приложения.
Исходя с поставленной цели надо решить следующие задачи:
– рассмотреть теоретические источники литературы и историю возникновения языков программирования (ЯП);
- рассмотреть классификацию ЯП;
- раскрыть основные понятия языков программирования Java, С++, C#;
- охарактеризовать интегрированные среды программирования;
- создать приложение с использованием графических компонентов и языка программирования высокого уровня.
Объект исследования – это инструментальное программное обеспечения (ПО) ПК.
Предмет исследования – интегрированные среды программирования.
По мере развития разного рода вычислительной техники возникали различные методики программирования. На этапах создавался новый подход, что помогал программистам с растущим усложнением графических программ. Этим занимались Б.Стауструп, С.Прата, П.Голдинг и другие программисты.
Глава 1. ОСНОВЫ ТЕОРИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1.История становления языков программирования
Физические принципы функционирования электронных устройств ЭВМ таковы, что ПК может воспринимать команды, что состоят только из определенного количества единиц и нулей, то есть машинный код. На этой стадии развития ЭВМ пользователю было необходимо составить программы на языке, который понятен компьютеру. Каждая команда состояла также из кода операций, адресов операндов, выраженных в качестве различных сочетаний бинарного кода.
Это приводит к необходимости найти такие средства, которые позволят более просто налаживать общение человека и ПК. И такое средство найдено: различные языки и соответствующие им модули-трансляторы (системы программирования).[5]
Язык программирования – специальный язык, что предназначен для написания команд для управления компьютером. Все языки программирования созданы только для того, чтоб людям было проще выполнять чтение и писать для ПК, но они затем также должны транслироваться (интерпретатором, транслятором) в машинный код, что только может исполняться лишь компьютером.
Языки программирования условно можно разделять на языки высокого и языки низкого уровня программирования.
Всю историю компьютерной индустрии с определенной точки зрения легко представить как историю развития ЯП.
Рассмотрим краткую историю ЯП:
1801 год – ученый И. Жаккард с использованием перфокарт впервые вышивает сочетание «hello world» на куске ткани.
1842 год – первая женщина-программист А. Лавлейс пишет первую компьютерную программу. Через почти 160 лет архитекторы корпоративных программных продуктов переймут технику Ады при написании моделей программ и назовут метод UML.[10]
1936 год – А. Тьюринг изобрел теорию языков программирования и описал их основные аспекты.
1957 год – Дж. Бакус и фирма IBM изобретают язык программирования под названием Фортран.
1964 год – Дж. Кемни и То. Курц создают революционный на то время язык программирования Бейсик.
1970 год – Н. Вирт создает процедурный язык программирования Паскаль.
1972 год - А. Колмеро изобретает специальный логический язык Пролог. Его сразу начинают использовать при выполнении обработки баз данных.
1983 год – Б. Страуструп на базе языка С, создает язык программирования С++.
1990 год. – группа разработчиков в составе П. Худака, Ф. Водлера, С. Пейтон-Джонса, Э. Катчера создает язык Хаскелл.
1996 год – Дж. Гослинг проектирует язык Java. Java - довольно типизированный объектно-ориентированный ЯП на основе классов, с современной сборкой мусора, одиночной диспетчеризацией, одиночным наследованием реализации , а также и множественным наследованием любых интерфейсов.
1.2. Классификации языков программирования
Процесс работы ПК заключается в выполнении разных инструкций, то есть перечня определённых команд в нужном порядке. Машинный вид информации, который состоит из 1 и 0, указывает, какое именно действие должен выполнять процессор.
Чтоб задать ПК перечень действий для выполнения, необходимо задать последовательность с двоичного кода. [15]
Программы, изображенные в так называемых машинных кодах, состоят с многих тысяч команд.
Написание их – занятие утомительное, сложное. Программист должен помнить полностью все комбинации 1 и 0 двоичного кода для каждых с команд, а также и бинарные коды адресов, которые используются при выполнении.
Но проще написать компьютер естественному языку, а работу по переводу в машинный код данной программы поручить ПК.
Язык программирования – формальная знаковая система, предназначенная для записи программ для ПК. Языком программирования определяется весь набор лексических, семантических, синтаксических правил, которые задаются для внешнего вида программ и действий для выполнения исполнителем.[2]
Все создатели языков толкуют понятие языка программирования по–своему. К самым популярным утверждениям, признаваемым абсолютным большинством программистов, относят:[6]
– язык программирования предназначается для разработки программ, которые будут применятся для передачи персональному компьютеру определенных инструкций для выполнения некоторого вычислительного процесса.
– языки программирования отличаются также от естественных языков предназначением для передачи данных от человека к ПК. Можно несколько обобщить эти определения: ЯП – способ передачи приказов, инструкций, четкого руководства к действиям, тогда как человеческие языки предназначаются только для обмена информацией.
ЯП могут использовать конструкции по манипуляции и определению структур данных и процессов вычислений.
Язык программирования представляется чаще всего в виде набора инструкций, определяющих его семантику, синтаксис. Для многих ЯП применяются международные стандарты. Специальные организации проводят систематические обновление спецификаций, определений соответствующего ЯП, продолжают модернизацию и их разработку.
После создания первых вычислительных машин разработчики создали более 2500 ЯП и с каждым годом число их увеличивается. Некоторыми языками программируют небольшое число разработчиков, а другие становятся популярными.
Нет такого программиста, что не мечтал бы разработать свой язык программирования: самый простой и функциональный, самый надежный и быстрый. Именно поэтому и за всю компьютерную предысторию человек придумал много ЯП.
В нынешнее время перед современными программистами ставится задача по проектированию систем хранения информации, которые ещё 30 лет назад казались невозможными. Появляются технологии, требующие новых подходов к выполнению процесса программирования, а развитие Интернета также предоставляет все новые не освоенные методы до конца по созданию технологий.
Всё это может служить хорошей почвой для создания новейших ЯП, которые отвечают всем задачам нынешнего времени и используют новые способы и парадигмы программирования, которые часто позволяют решать все актуальные проблемы.[17]
Но не смотря на огромное количество ЯП, только некоторые с них получили признание у программистов и известность.
При определении самых популярных ЯП воспользуемся данными компании «ITIOBE Software».
По информации фирмы «ITIOBE Software» самые популярные ЯП на апрель 2017 года представлены в таблице 1.
Таблица 1 – Рейтинг ЯП
|
№ |
Языки программирования |
Рейтинг |
Последний официальный релиз |
|
1 |
Java |
17.99% |
12.10.2014 |
|
2 |
C++ |
16.06% |
16.11.2010 |
|
3 |
C |
9.03% |
22.06.2015 |
|
4 |
PHP |
7.56% |
22.05.2013 |
|
5 |
C# |
6.63% |
12.03.2014 |
|
6 |
Python |
6.45% |
04.05.2013 |
|
7 |
Visual Basic |
5.12% |
12.03.2014 |
|
8 |
Objective C |
3.27% |
28.07.2003 |
|
9 |
Perl |
2.36% |
12.03.2014 |
|
10 |
Delphi |
2.16% |
04.07.2011 |
Все такие языки очень разные, ведь каждый имеет своё уникальное назначение.
Сравнительный анализ ЯП по возможностям, способам реализации или же сложности освоения является актуальной задачей. Оценить удобство семантических схем можно только на примере и для всех ЯП можно указать задачи, для которой будут пользоваться лучше, нежели остальными. Подобные сравнения также переходят иногда в самую настоящую «войну» между программистами. Тут каждая из сторон яростно выполняет защиту «своего» языка и не принимает доводы иной.
Первым шагом для проектирования языков, которые содержащих основные понятия, близкие человеку, стали такие языки, которые переводят разные символические обозначения в специальный машинный код (к примеру, Ассемблер).[4]
ЯП низкого уровня – язык программирования, что предназначен для определенного типа ПК и отражающий его машинный код; ЯП низкого уровня часто также называют машинно-ориентированными. Их сложно конвертировать для реализации на ПК с разными центральными микропроцессорами, а также довольно тяжело изучать, поскольку требуется хорошо знать принципы внутренней схемы ПК.[13]
К ЯП низкого уровня принадлежат специальные языки ассемблера – это специальные машинно-зависимые языки, что описывают действия, команды в терминах процессора.
Для каждого из типов процессоров существует также свой определенный язык, поэтому для портативности таких программ на другую платформу говорить не приходится.
Позже были созданы программы для трансляции разных арифметических выражений, и в 1957 году был запущен первый транслятор для Фортрана.
Язык высокого уровня – ЯП предназначенный для удовлетворения разных требований программиста; он зависит не всегда от внутренних машинных кодов ПК любого типа.
Язык высокого уровня используют при решении проблем и их часто называют поэтому проблемно-ориентированными ЯП.
Каждая команда ЯП высокого уровня эквивалентна сразу нескольким командам, написанным в машинных кодах, поэтому такие программы, более компактны.[14]
ЯП высокого уровня являются очень приближенными к естественным классическим понятиям. Они также являются машинно-независимыми. С их распространением и развитием ПК наметился процесс по появлению специальных и универсальных ЯП.
Программа, которая создана с помощью процедурного ЯП, описывается, используя понятия ветвления, цикла, следования.
Программа, что написана на непроцедурном ЯП, описывается, используя понятия: рекурсия, ветвление, подстановка.
Машинно-ориентированные ЯП – языки, наборы разных операторов и средства которые сильно зависят от ЭВМ (структуры памяти, внутреннего машинного языка и т.п.). Эти языки позволяют также использовать такие возможности:
- высокое качество ПО;
- предсказуемость объектного кода;
- возможность для использования конкретных ресурсов;
- для составления оптимальных программ нужно знать команды и особенности функционирования ЭВМ;
- низкая скорость при программировании;
- трудоемкость процесса составления ПО, плохо защищенного от ошибок;
- невозможность использования программы, составленных на этих ЯП, на других ЭВМ.