libro
www.tuyano.com
初心者のためのSwiftプログラミング入門

Swiftの準備を整えよう! (2/4)

作成:2014-07-12 11:46
更新:2014-07-12 11:46

■Swiftってどんなもの?

では、このSwiftってどういうものなのでしょうか。その特徴を簡単に整理しておきましょう。

・まだ「ベータ」です!
最初に、これを頭に入れておかないといけません。Swiftは、現在、ベータの段階であり、正式リリースされたものではありません。一般ユーザーは入手できず、アップルに開発者登録している人のみアップルのデベロッパーサイトから入手することができます。正式リリースは、2014年の秋に登場する予定です。

・「モダン」言語である
Objective-Cは、昨今の言語が採用しているさまざまな「クールな機能」の多くが未対応でした.Swiftは、Objective-Cでは使えなかったさまざまな言語上の機能を利用できるようになっています。「クロージャ」と呼ばれる値のように処理を扱える機能や、ジェネリックと呼ばれるさまざまな種類の値を扱うための機能などが用意されています。

・安全である
Swiftは、プログラムにバグが混じりやすいさまざまな機能をコードから取り除く文法となっています。例えば、変数には必ず初期値を設定しないといけなかったり、オブジェクトを扱う変数で「オブジェクトがない空っぽな状態」を禁止したり、変数には最初から型を設定するようになっていたり、制御構文では必ず{}で処理を囲わないといけなかったり……。とにかく「プログラマによるうっかりミス」をなくすようにできています。

・インタラクティブである
Swiftはコンパイラ言語です。あらかじめプログラムをコンパイルしておき、コンピュータが直接実行できるバイナリコードとしてプログラムを作成します。が、同時にインタープリタ(逐次実行する方式)としても動かすことができるんです。Xcodeには「プレイグラウンド」と呼ばれるものが用意され、その場で文を書いて実行しながら動かすこともできます。当面は、このやり方でSwiftの基本を覚えていくことになるでしょう。

・実は高速!
こうしたさまざまな機能が盛り込まれていることから、「なるほど、便利そうだけど、でも作ったアプリはObjective-Cのほうがてきぱき動きそうだな」と思うかもしれません。が、実はそうでもありません。アップルによると、Swiftで作られたプログラムはObjective-Cよりも高速に実行できるとのこと。

――ただし、さまざまなプログラマにより、Swiftには多くのボトルネックが存在することがわかっており、現時点で「Objective-Cより高速」と断言はできませんが、いずれ正式リリースされるときにはおそらくそれなりの性能を実現していることでしょう。

・実はバックボーンはObjective-Cと同じ
そもそもMacやiOSでObjective-Cが使えたのは、OSそのものがこの言語のために最適化されていたからでした。Swiftという新言語が登場してもこの点は変わりありません。Mac OS X/iOSに組み込まれているフレームワークなどはObjective-C用であり、Swiftでもこれをそのまま利用します。つまり、言語としては新しいけれど、実際にMac OS XやiOSの機能を利用するときはObjective-Cで使っていた機能がそのまま利用される、というわけです。したがって、「新しい言語向けにすべての機能を一から全部覚え直し」ということはありません。今までObjective-Cで覚えた知識の大半はそのまま活かすことができます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのSwiftプログラミング入門」に戻る