Добавлен: 26.05.2023
Просмотров: 58
Скачиваний: 3
СОДЕРЖАНИЕ
1 Основные этапы развития языков программирования
2 Классификация языков программирования
2.1 Машинно-ориентированные языки
2.1.2 Языки Символического Кодирования
2.2.1 Проблемно – ориентированные языки
3 Современные языки и системы программирования
func factorial(x: Int) -> Int {
// The body of the function goes here...
}
Функция в Swift объявляется с использованием ключевого слова func(похожего на Go). В этом конкретном случае функция имеет один аргумент типа Intи имеет Intкак возвращаемый тип.
Свифт проводит четкое различие между неизменяемыми и изменяемыми переменными. Неизменяемые переменные называются константами, а их изменчивые аналоги называются переменными (как и ожидалось).
Константы объявляются с использованием let ключевого слова, а переменные объявляются с использованием var ключевого слова. Простая иллюстрация показана ниже:
let str: String = "Welcome to Swift Programming"
var x = 10
Первая строка объявляет константу str типа String, а вторая строка объявляет переменную x , тип которой вызывается как Int.
К сожалению, Swift очень медленно применяет функции параллелизма на уровне языка (хотя, похоже, некоторый прогресс начинается с Swift 3).
Возможно, самой знаковой особенностью Swift является наличие Swift Playgrounds , в котором есть своего рода песочница, в которой код Swift может исполняться « на лету ». Еще более интересным является тот факт, что игровые площадки также работают на iPads!
У Swift есть много других возможностей, чтобы сделать код более выразительным:
- Закрытие унифицировано с указателями функций
- Кортежи и множественные возвращаемые значения
- Дженерики
- Быстрая и краткая итерация по диапазону или коллекции
- Структуры, поддерживающие методы, расширения и протоколы
- Функциональные шаблоны программирования, например, карта и фильтр
- Собственная обработка ошибок с помощью try / catch / throw
Swift исключает целые классы небезопасного кода. Переменные всегда инициализируются перед использованием, массивы и целые числа проверяются на переполнение, а управление памятью происходит автоматически. Синтаксис настраивается, чтобы упростить определение вашего намерения - например, простые трехсимвольные ключевые слова определяют переменную ( var ) или константу ( let ).
Еще одна особенность безопасности заключается в том, что по умолчанию объекты Swift никогда не могут быть nil . Фактически, компилятор Swift остановит вас от попытки создания или использования объекта nil с ошибкой времени компиляции. Это делает код записи намного чище и безопаснее, и предотвращает огромную категорию сбоев во время выполнения в ваших приложениях. Однако есть случаи, когда nil является допустимым и подходящим. В этих ситуациях Swift имеет инновационную функцию, называемую опциональными . Необязательный может содержать ноль, но синтаксис Swift заставляет вас безопасно справляться с ним, используя ? синтаксис, чтобы указать компилятору, что вы понимаете поведение и будете безопасно обращаться с ним.
Есть замечательный ресурс для изучения Swift, - это бесплатное руководство, предлагаемое Apple, которое можно загрузить как файл ePub. Этот документ часто известен как « Быстрый язык программирования ».
Заключение
Компьютерные программы часто описываются как «наборы инструкций», а многие языки компьютеров считаются просто синтаксисом и лексикой для предоставления этих инструкций.
С этой точки зрения разные языки программирования могут иметь разные грамматики или разные словари. Каждый из них может обрабатывать полуколоны определенным образом или требовать капитализации, но они все равно похожи на все это.
Реальность программирования намного сложнее.
Большинство действительно «больших» идей в программировании были разработаны в 1950-х и 60-х годах. С тех пор появилось много новых языков, но ни один из них не представляет собой по-настоящему новый подход к логике и вычислению.
Развитие новых языков программирования за последние несколько десятилетий сфокусировалось на опыте разработчиков. Это может означать попытку включения кода, который легче писать (движущая сила Ruby) или более легкого для чтения (Python), или создания определенных типов логических структур и способов решения проблем более интуитивно понятными.
Некоторые языки были разработаны для решения конкретных проблем программирования (например, PHP и SASS), для управления некоторыми типами систем ( SQL ) или для работы в определенной среде или платформе (Java и JavaScript). Был разработан ряд языков с целью помочь новичкам научиться программированию (BASIC и Scratch являются классическими примерами).
Поскольку теории и практики в области языкового дизайна (в основном) опираются на широко признанную ортодоксию, большая часть новой и интересной работы по разработке практики программирования в настоящее время сосредоточена вокруг архитектуры системы.
Трудно сказать, в каком именно направлении идет программирование. В краткосрочной перспективе мы, вероятно, ожидаем большего ускорения тенденций, которые мы уже испытываем:
- Большие данные
- Виртуализация
- "Интернет вещей"
Но в долгосрочной перспективе, как известно, трудно сделать точные прогнозы. Квантовые вычисления могут привести к совершенно новой парадигме компьютерного программирования; компьютеры могут научиться программировать себя, приводя к Сингулярности и концу человеческой эры; мы можем узнать, как использовать программирование для имитации биологического интеллекта, приводящего к трансгуманизму. Или мы могли бы просто выяснить, как сделать наши телефоны меньше.
Независимо от будущего, становится все более и более очевидным, что программирование - возможность читать и писать код на нескольких языках - становится новой бизнес-грамотностью. Знакомство с концепциями программирования и логикой компьютерных систем и архитектуры быстро становится таким же важным, как основные бизнес-навыки, такие как продажи, маркетинг и дизайн.
Список использованных источников
- Алексеев В.Е. и др. Вычислительная техника и программирование. Практикум по программированию. - М.: ВШ, 2016, 200 с.
- Бондарев В. - М., Рублинецкий В.И., Качко Е.Г. Основы программирования. - Харьков: Фолио, Ростов н/Д: Феникс, 2015. - 368 с.
- Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 2013, 406 с.
- Исакова С., Жемеров Д. Kotlin в действии. - М.: ДМК Пресс, 2017. – 402 с.
- Кнут, Д. Искусство программирования для ЭВМ; М.: Мир - Москва, 2015. - 569 c.
- Кьоу, Дж.; Джеанини, М. Объектно-ориентированное программирование. Просто и понятно; СПб: Питер - Москва, 2015. - 238 c.
- Крюков Е.А. Язык программирования Go. Руководство 2016; Издательство: Accent Graphics communications, 2016. - 358 с.
- Саммерфильд Марк. Программирование на Go. Разработка приложений XXI века: пер. с англ.: Кисвелев А.Н. – М.: ДМК Пресс, 2016. – 580 с.
- Джим Блэнди, Джейсон Орендорф. Программирование на языке Rust; – М.: ДМК Пресс, 2018. – 550 с.
- Одерски Мартин, Спун Лекс, Веннерс Билл. Scala. Профессиональное программирование; "Издательский дом "Питер", 2018. - 685 с.
- Орлов С.А. Теория и практика языков программирования. Учебник для вузов. 2-е изд. Стандарт 3-го поколения; "Издательский дом "Питер", 2017. - 688 с.
- Усов В. Swift. Основы разработки приложений под iOS. — СПб.: Питер, 2016. — 304 с.: ил.
- Якунин, Ю. Ю. Технологии разработки программного обеспечения. Версия 1.0 [Текст] : / Ю. Ю. Якунин.- Красноярск , 2015. – 225 с.
- Язык программирования Kotlin / Сергей Пименов — К. : «Агентство «IPIO», 2017. — 304 с.
- Восхождение современных языков программирования [Электронный ресурс], режим доступа: https://medium.com/the-andela-way/the-rise-of-modern-programming-languages-c923a2b914fc (дата обращения: 25.06.2018).
- Технология программирования. Основные понятия и подходы [Электронный ресурс], режим доступа: http://www.arctic-cooler.com/programming/1/comptechnology0.htm (дата обращения: 25.06.2018).
- История развития языков программирования [Электронный ресурс], режим доступа: http://life-prog.ru/view_articles.php?id=41(дата обращения: 25.06.2018).
- История создания языков программирования [Электронный ресурс], режим доступа: http://www.shapovalov.org/publ/7-1-0-77 (дата обращения: 25.06.2018).
- Rust на примерах. Часть 1 [Электронный ресурс], режим доступа: https://habr.com/post/232829/ (дата обращения: 25.06.2018).
- Учебник по языку программирования Swift на Русском [Электронный ресурс], режим доступа: http://imania.do.am/swift/Swift_rus_imania.do.am.pdf (дата обращения: 25.06.2018).