Swift 入門 | Swift を使う準備 | Swift の特徴
Swift とはどのような言語なのだろうか。ここでは、その特徴を簡単に整理する。
モダンな言語
Objective-C は、現代の言語が採用している便利な機能の多くをサポートしていなかった。Swift では、処理を値のように扱えるクロージャや、さまざまな種類の値を扱えるジェネリクスなど、Objective-C では利用できなかった言語機能が用意されている。
安全性を重視した言語
Swift には、バグの原因になりやすい要素をコードから減らすための構文がある。たとえば、変数は初期化する必要があり、オブジェクトが存在しない状態は Optional で明示的に表現する。変数には最初から型があり、制御構文の処理は必ず波かっこで囲む。これらの機能によって、プログラマーの不注意によるミスを減らせる。
対話的に実行できる言語
Swift はコンパイル言語である。プログラムをあらかじめコンパイルし、コンピューターが直接実行できるバイナリーコードに変換できる。同時に、Swift は対話的にも実行できる。Xcode には Playground が用意されており、その場で文を書いてすぐに実行できる。まずはこの方法で Swift の基本を学んでいく。
高速な実行
Swift にはさまざまな便利な機能があるため、Objective-C のアプリケーションのほうが高速に動作すると考えるかもしれない。しかし Apple は、Swift で作成したプログラムが Objective-C より高速に実行できると説明していた。
初期の Swift には多くのボトルネックがあるという指摘もあり、常に Objective-C より高速だと言い切れるわけではなかった。ただし、言語の成熟に伴って性能が向上することが期待されていた。
Objective-C と同じ基盤
macOS や iOS で Objective-C が使われてきたのは、OS 自体がこの言語向けに最適化されていたためである。Swift のような新しい言語が登場しても、この基盤は変わらない。macOS や iOS に組み込まれたフレームワークは Objective-C 向けに作られており、Swift もそれらをそのまま利用する。言語は新しくても、OS の機能を利用するときには Objective-C で使っていた機能の多くを引き続き利用できる。新しい言語のために、すべての機能を最初から学び直す必要はない。Objective-C で学んだ知識の多くをそのまま活用できる。