Язык программирования Swift.
Swift — открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и macOS. Swift работает с фреймворками Cocoa и CocoaTouch и совместим с основной кодовой базой Apple, написанной на Objective-C.Swift задумывался как более лёгкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objective-C
Старший вице-президент по разработке программного обеспечения Apple Крейг Федериги во время анонса этого продукта заявил, что язык программирования Swift был заложен ещё в платформе NeXT (ОС NeXTSTEP выпускалась в 1989—1995 годах), которая стала основой для современной macOS, а затем и iOS.
2 июня 2014 года на конференции WWDC язык Swift был официально представлен вместе с бесплатным руководством по использованию языка объёмом в 500 страниц, доступным на сервисе «iBookStore».
8 июня 2015 года компания Apple объявила о выпуске новой версии Swift 2.0.
3 декабря 2015 года была выпущена бета версия Swift 3.0 с поддержкой операционных систем OS X, iOS и Linux и лицензированная под открытой лицензией Apache 2.0.
10 апреля 2016 года Google объявила о намерениях сделать Swift так называемым «первым языком» для Android.
19 сентября 2017 года была выпущена версия Swift 4.0.
Часть функций языка выполняется быстрее по сравнению с другими подобными языками. Например, сортировка комплексных объектов выполняется в 3,9 раз быстрее, чем в Python, и почти в 1,5 раза быстрее, чем в Objective-C.
Код, написанный на Swift, может работать вместе с кодом, написанным на языках программирования C и Objective-C в рамках одного и того же проекта.
Apple разделила код Swift на несколько открытых репозиториев:
· компилятор и стандартная библиотека;
|
· библиотеки ядра;
· менеджер пакетов;
· клонированные репозитории.
Язык программирования Scala
Scala—мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
Первые версии языка созданы в 2003 году коллективом лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерски, язык реализован для платформ Java и JavaScript.
Язык был создан в 2001—2004 годах в Лаборатории методов программирования EPFL. Он стал результатом исследований, направленных на разработку улучшенной языковой поддержки компонентного программного обеспечения. За основу при разработке языка были взяты две идеи:
· Язык программирования компонентного ПО должен быть масштабируемым. Поэтому внимание было сконцентрировано на механизмах абстракции, композиции и декомпозиции
· Масштабируемая поддержка компонентов может быть предоставлена языком программирования, унифицирующим и обобщающим объектно-ориентированное и функциональное программирование.
Язык был выпущен для общего пользования на платформе JVM в январе 2004 года и на платформе.NET в июне 2004 года, в 2016 году создан LLVM-компилятор (ScalaNative
Прежде всего, язык впитал значительное число концепций и синтаксических соглашений Java и C#.Абстрактные типы в Scala очень похожи на абстрактные типы сигнатур в SML и OCaml, обобщённые в контексте полноценных компонентов.
|
Scala-программы во многом похожи на Java-программы, и могут свободно взаимодействовать с Java-кодом. Язык включает единообразную объектную модель — в том смысле, что любое значение является объектом, а любая операция — вызовом метода. При этом является также функциональным языком в том смысле, что функции — это полноправные значения.
В языке используется чистая объектно-ориентированная модель, похожая на применяемую в Smalltalk: каждое значение — это объект, и каждая операция — это отправка сообщения
Каждая функция — это значение. Язык предоставляет легковесный синтаксис для определения анонимных и каррированных функций.
Scala может взаимодействовать с кодом, написанным на Java. Все классы из пакета java.lang уже подключены по умолчанию, в то же время другие должны быть подключены явно.
Основные веб-фреймворки, написанные на Scala — Play, Lift. Социальная сеть LinkedIn использует микрофреймворкScalatra для поддержки своего Signal API. Важная составляющая инфраструктуры разработки на Scala — средство автоматической сборки Sbt — также написана на Scala.