Фрагмент для ознакомления
2
Введение
Язык является ключевым инструментом для общения и мышления. Без него общение и общество не могут существовать, так же как и человек. В мире существует множество языков, и каждый из нас использует свой уникальный способ общения. Однако, для людей, говорящих на разных языках, возникает необходимость изучать новые языки. Кроме того, стремление понимать окружающий мир и историю приводит к созданию «искусственных языков». Одним из таких примеров являются языки программирования. Исторический подход помогает нам разобраться в эволюции программирования: сначала использовались машинные коды, затем возникло мнемоническое представление через ассемблер, а позже - макроассемблер.
Общие тенденции в развитии языков программирования можно выявить, однако результаты будут носить запутанный и неопределённый характер. Это объясняется тем, что многие языки, такие как Фортран, не исчезли с течением времени, а продолжают использоваться и по сей день. Язык программирования выполняет две основные функции: он предоставляет инструменты для выполнения операций и формирует концептуальные основы, которые программист применяет в процессе разработки.
Тема изучения языков программирования имеет большую актуальность в сегодняшнее время. Это связано с тем, что развитие компьютерных технологий движется быстрее, чем создание новых языков программирования для записи алгоритмов. Таким образом, с прогрессом информационных технологий возникает необходимость как усовершенствования существующих языков, так и разработки новых. Важно также отслеживать эволюцию языков программирования и их историю. В современных условиях, когда языки продолжают развиваться и выходят новые версии, изучение языков программирования становится особенно важным. Поэтому выбранная тема курсовой работы является актуальной.
Предмет курсовой работы: структуры и типы данных в языках программирования.
Объект курсовой работы: процесс разработки и использования структур и типов данных в современных языках программирования.
Цель данной курсовой работы состоит в том, чтобы исследовать историю развития языков программирования.
Задачи курсовой работы:
- изучить языки программирования;
- изучить типы данных;
- изучить структуру данных.
Для достижения этой цели поставлены несколько задач: изучить различные языки программирования, проследить их эволюцию и определить наиболее актуальные на сегодняшний день языки.
В работе используются несколько методов, включая научно-исследовательский метод, статистический анализ, метод классификации, а также изучение и анализ литературных источников.
1. Языки программирования
В современности существует несколько трактовок термина «язык программирования». Во-первых, его можно охарактеризовать как формальную знаковую систему, предназначенную для создания программ и алгоритмов. Во-вторых, язык программирования представляет собой фиксированную систему символов, используемую для описания алгоритмов и программ. Наконец, он может рассматриваться как искусственный язык, обладающий строгими правилами записи программ.
Языки программирования отличаются от естественных языков тем, что имеют ограниченный словарный запас и строгие правила написания команд. Правила написания составляют синтаксис языка, а смысл команд — его семантику. Семантические правила определяют действия, выполняемые операторами, и суть алгоритма. Если команды написаны неверно, транслятор не сможет их понять и возникнет синтаксическая ошибка. Транслятор – это программа для цифровой вычислительной машины, которая переводит программы, написанные на естественном языке.
Основные требования к языкам программирования включают наглядность, единство, гибкость, модульность и однозначность.
- Наглядность предполагает использование символов, которые хорошо известны и понятны как пользователям, так и программистам.
- Единство означает, что одни и те же символы применяются для обозначения одинаковых понятий в разных частях алгоритма.
- Гибкость позволяет легко описывать распространенные методы математических вычислений с помощью различных графических средств.
- Модульность дает возможность представлять сложные алгоритмы в виде набора простых модулей.
- Однозначность обеспечивает недвусмысленность записи любого алгоритма.
Программирование начало развиваться задолго до появления компьютеров. Первой программисткой считается Ада Лавлейс, дочь поэта лорда Байрона, которая была ученицей математика Чарльза Бэббиджа, создавшего проект вычислительной машины в XIX веке. В ее честь был назван язык программирования, который нашел широкое применение в Министерстве обороны США. Язык программирования представляет собой формальную знаковую систему для записи компьютерных программ и включает набор лексических, синтаксических и семантических правил, определяющих структуру программы и действия, которые выполнит компьютер.
С момента появления первых программируемых машин было создано более 8500 языков программирования, и каждый год их число увеличивается. Некоторые языки используются только ограниченным числом разработчиков, в то время как другие становятся популярными среди миллионов людей. Профессиональные программисты нередко работают с множеством языков, часто используя более десяти из них в своей практике.
Создатели языков программирования по-разному трактуют их значение, однако существует ряд общепризнанных определений. Во-первых, язык программирования служит инструментом для написания компьютерных программ, которые позволяют передавать компьютеру инструкции для выполнения вычислений и управления устройствами. Во-вторых, в отличие от естественных языков, которые предназначены для общения между людьми, язык программирования предназначен для передачи команд от человека компьютеру. Таким образом, языки программирования можно рассматривать как средство передачи чётких указаний и команд, тогда как человеческие языки имеют более широкий спектр применения в обмене информацией. Кроме того, языки программирования могут содержать специальные конструкции для работы со структурами данных и управления вычислительными процессами. На сегодняшний день существует множество языков программирования, от нескольких десятков до сотен. Важно отметить, что компьютеры могут исполнять программы, написанные на машинном языке, который представляет собой бинарные коды — последовательности нулей и единиц. Такие программы создаются с использованием языков низкого уровня.
Язык программирования низкого уровня характеризуется тем, что его команды и структура зависят от командного формата и архитектуры конкретной вычислительной машины. Примером такого языка является Ассемблер, разработанный в 1950-х годах. Ассемблер позволяет использовать мнемоники, которые представляют собой специальные обозначения машинных кодов, что делает написание программ более удобным. Этот язык находит применение в тех случаях, когда требуется высокая производительность. Тем не менее, программирование на языке низкого уровня требует значительных усилий и навыков, что привело к разработке языков программирования высокого уровня, которые значительно упрощают процесс программирования.
Язык программирования высокого уровня — это язык, который позволяет описывать задачи в понятной и наглядной форме. Каждый такой язык имеет свои правила и систему записи, что можно сравнить с набором слов и грамматикой. Языки высокого уровня избавляют программистов от необходимости писать код на машинном языке, который понимает только компьютер.
Для перевода программ с языка высокого уровня в машинный код используются компиляторы и интерпретаторы. Компилятор сначала переводит весь исходный код в машинные инструкции, а затем выполняет программу. Интерпретатор, напротив, обрабатывает и исполняет код по отдельным командам.
Каждый язык высокого уровня имеет свои уникальные характеристики, правила и области применения. К основным языкам высокого уровня относятся:
Ада (Ada) — язык программирования, названный в честь Августы Ады Байрон, графини Лавлейс, известной своим сотрудничеством с Чарльзом Бэббиджем, изобретателем аналитической машины. Она написала почти завершённую программу для расчета коэффициентов Бернулли и ввела ключевые понятия программирования, такие как циклы и условные операторы. Язык Ада является универсальным и поддерживает различные методологии разработки, включая подходы "снизу вверх" и "сверху вниз". Он включает возможности для раздельной компиляции, абстрактных типов данных,
Фрагмент для ознакомления
3
1. Зыков, С. В. Программирование : учебник и практикум для академического бакалавриата / С. В. Зыков. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2023. — 285 с. — (Высшее образование). — ISBN 978-5-534-16031-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/530294 (дата обращения: 02.12.2024).
2. Казанский, А. А. Программирование на Visual C# : учебное пособие для среднего профессионального образования / А. А. Казанский. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 192 с. — (Профессиональное образование). — ISBN 978-5-534-14130-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/538155 (дата обращения: 02.12.2024).
3. Кувшинов, Д. Р. Основы программирования : учебное пособие для вузов / Д. Р. Кувшинов. — Москва : Издательство Юрайт, 2024. — 104 с. — (Высшее образование). — ISBN 978-5-534-07559-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/540199 (дата обращения: 02.12.2024).
4. Кувшинов, Д. Р. Основы программирования : учебное пособие для среднего профессионального образования / Д. Р. Кувшинов. — Москва : Издательство Юрайт, 2022. — 105 с. — (Профессиональное образование). — ISBN 978-5-534-07560-1. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/493565 (дата обращения: 02.12.2024).
5. Кудрина, Е. В. Основы алгоритмизации и программирования на языке C# : учебное пособие для среднего профессионального образования / Е. В. Кудрина, М. В. Огнева. — Москва : Издательство Юрайт, 2024. — 322 с. — (Профессиональное образование). — ISBN 978-5-534-10772-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/541725 (дата обращения: 02.12.2024).
6. Кудрина, Е. В. Основы алгоритмизации и программирования на языке C# : учебное пособие для вузов / Е. В. Кудрина, М. В. Огнева. — Москва : Издательство Юрайт, 2024. — 322 с. — (Высшее образование). — ISBN 978-5-534-09796-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/541687 (дата обращения: 02.12.2024).
7. Кудрявцева, И. А. Программирование: теория типов : учебное пособие для среднего профессионального образования / И. А. Кудрявцева, М. В. Швецкий. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 652 с. — (Профессиональное образование). — ISBN 978-5-534-15382-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/542169 (дата обращения: 02.12.2024).
8. Кудрявцева, И. А. Программирование: теория типов : учебное пособие для среднего профессионального образования / И. А. Кудрявцева, М. В. Швецкий. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 652 с. — (Профессиональное образование). — ISBN 978-5-534-15382-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/542169 (дата обращения: 02.12.2024).
9. Кудрявцева, И. А. Программирование: теория типов : учебное пособие для вузов / И. А. Кудрявцева, М. В. Швецкий. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 652 с. — (Высшее образование). — ISBN 978-5-534-11088-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/542163 (дата обращения: 02.12.2024).
10. Огнева, М. В. Программирование на языке С++: практический курс : учебное пособие для вузов / М. В. Огнева, Е. В. Кудрина, А. А. Казачкова. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 342 с. — (Высшее образование). — ISBN 978-5-534-18949-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/555533 (дата обращения: 02.12.2024).
11. Тузовский, А. Ф. Объектно-ориентированное программирование : учебное пособие для вузов / А. Ф. Тузовский. — Москва : Издательство Юрайт, 2024. — 213 с. — (Высшее образование). — ISBN 978-5-534-16316-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/537332 (дата обращения: 02.12.2024).
12. Черпаков, И. В. Основы программирования : учебник и практикум для среднего профессионального образования / И. В. Черпаков. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 196 с. — (Профессиональное образование). — ISBN 978-5-534-18760-1. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/545507 (дата обращения: 02.12.2024).
13. Черпаков, И. В. Основы программирования : учебник и практикум для вузов / И. В. Черпаков. — 2-е изд. — Москва : Издательство Юрайт, 2024. — 196 с. — (Высшее образование). — ISBN 978-5-534-18759-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/545506 (дата обращения: 02.12.2024).
14. Огнева, М. В. Программирование на языке С++: практический курс : учебное пособие для среднего профессионального образования / М. В. Огнева, Е. В. Кудрина, А. А. Казачкова. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2024. — 342 с. — (Профессиональное образование). — ISBN 978-5-534-18975-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/555593 (дата обращения: 02.12.2024).
15. Зыков, С. В. Программирование. Функциональный подход : учебник и практикум для вузов / С. В. Зыков. — 2-е изд. — Москва : Издательство Юрайт, 2024. — 150 с. — (Высшее образование). — ISBN 978-5-534-16942-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/537721 (дата обращения: 02.12.2024).