Swift (プログラミング言語)
From Wikipedia, the free encyclopedia
| パラダイム | マルチパラダイム: プロトコル指向、オブジェクト指向、関数型、命令型、ブロック構造 |
|---|---|
| 登場時期 | 2014年6月2日 |
| 開発者 | Apple、Swift.org |
| 最新リリース | 6.3.1 / 2026年4月17日[1] |
| 型付け | 強い静的型付け、型推論 |
| ライセンス | Apache License 2.0 |
| ウェブサイト |
swift |
Swift(スウィフト)は、Appleが開発したiOS、macOS、watchOS、tvOS、Linux、Windowsなどで利用可能な汎用プログラミング言語である。2014年のWorldwide Developers Conference (WWDC) で発表された。
従来から用いられていたObjective-Cとの共存を念頭に設計されており、共通のランタイムライブラリを使用することで、既存のフレームワークをシームレスに利用できる[2]。
Swiftは、LLVMコンパイラ技術を用いて構築されており、高い実行パフォーマンスと安全性を両立させている。Objective-Cの「動的な特性」を継承しつつも、型推論やジェネリックプログラミング、Optional型といったモダンな言語機能を導入することで、バグを未然に防ぎ、開発効率を高めることに成功している。
特に、クラスの継承に依存しすぎない「プロトコル指向プログラミング」という概念を提唱しており、柔軟で再利用性の高いシステム設計が可能である。
歴史
Swiftの開発は2010年、Chris Lattnerによって開始された。2014年に1.0がリリースされ、2015年にはオープンソース化された。
- Swift 1.0 (2014):WWDC 2014で発表。
- Swift 2.0 (2015):エラーハンドリング(try/catch)の導入。
- Swift 3.0 (2016):大規模なAPIの命名規則変更。
- Swift 4.0 (2017):Codable(シリアライズ)の導入。
- Swift 5.0 (2019):ABI(Application Binary Interface)の安定化。OS標準ランタイムへの統合。
- Swift 5.5 (2021):Async/await、アクターモデルの導入。
- Swift 6.0 (2024):コンパイル時のデータ競合チェックの厳格化(並行処理の安全性確立)。
言語仕様と特徴
サンプルコード
基本的な変数と定数
let maximumAttempts = 10 // 定数
var currentAttempt = 0 // 変数
// 型推論によりInt型として扱われる
let message = "Hello, Swift"
Optional型の利用
var optionalString: String? = "こんにちは"
// optionalString = nil // nil(空)を許容する
if let constantString = optionalString {
print(constantString) // 安全に取り出された場合のみ実行される
}
構造化並行処理 (Swift 6対応)
func fetchData() async throws -> String {
// 非同期処理を同期処理のように記述
let (data, _) = try await URLSession.shared.data(from: URL(string: "https://api.example.com")!)
return String(data: data, encoding: .utf8) ?? ""
}
メモリ管理
Swiftは自動参照カウント (ARC)によってメモリ管理を行う。ガベージコレクションとは異なり、決定論的にメモリが解放されるが、クラス間で循環参照が発生するとメモリリークの原因となる。これを防ぐために、weakやunownedといった修飾子を用いた「弱い参照」の指定が必要となる。