
AppleのSwiftが開発者を喜ばせる5つの方法
ウェイン・ビショップ著

私たちエンジニアはこだわりが強い集団です。アプリやウェブサイトのコーディングに数え切れないほどの時間を費やしています。そのため、ツールやプログラミング言語に関しては、様々な意見を持っています。iOS向けの新言語が最近発表されたことで、Swiftはテクノロジーコミュニティの多くの人にとって、嬉しい驚きではあるものの、予期せぬサプライズとして受け止められています。一般ユーザーにとってはモバイル体験にほとんど変化がないかもしれませんが、ソフトウェアを開発する企業にとっては全く新しい方向性を示すものとなるでしょう。
開発者仲間と共に、この新しい言語を研究し、25年前の先行言語であるObjective-Cと比較検討してきました。Appleは古い言語を放棄する予定はないと主張していますが、Objective-Cが静かに消えていくのは時間の問題であることは明らかです。

一見すると、Swift は物事を成し遂げるための全く異なる方法を提示しているように見えます。注目すべきは、Objective-C と C を比較した場合のように、Swift が Objective-C と異なる点です。Swift のコードはほぼ JavaScript のように読みやすく、多くの開発者が当たり前だと思っている Objective-C の複雑さの多くを排除しています。今年後半に正式リリースされるこの新しい言語が、iOS 開発者にとって喜ばしい5つの点をご紹介します。
1. タイピングの手間が減る
Objective-Cは、難解で構文が重く、「冗長」な言語として広く知られており、現代の言語に見られる多くの利便性が欠けています。対照的に、Swiftは正確で表現力に優れています。まず、Swiftではクラスの宣言と実装が1つのファイルにまとめられています。プロパティ修飾子は依然として存在しますが、豊富な選択肢はstrong、weak、unknownの3種類に絞られています。
オブジェクト生成に関しては、クラス作成に必要な定型コードの多くが削除されました。つまり、super、init、alloc、newの呼び出しは不要になりました。また、便利な初期化子もリファクタリングされ、独立した関数ではなく、オーバーロードされたメソッドのように動作するようになりました。
2. ポインタ構文なし
これだけでも祝うべき点です!自動参照カウントの概念はObjective-Cにも既に導入されていますが、Swiftは循環参照や自動解放プールを完全に排除することで、アプリ開発を21世紀へと導きます。コードの可読性が向上するだけでなく、Swiftは開発者がゾンビコードやヌルポインタ例外のデバッグに煩わされることなく、設計に集中できる環境を提供します。
3. オプション
SwiftはiOS開発のルールを書き換え、オブジェクトとプリミティブの両方に適用できる単一の「番兵」(例: nil )を提供します。Swiftで記述された変数は、オプションか非オプションかを指定できます。オプションの型はコンパイル時(実行時ではなく)に強制されます。これにより、Swiftコンパイラはあなたのテストパートナーとなり、入力時に予期せぬnil代入やキャスト例外をスキャンします。 nil、NULL、[NSNull Null]の複雑な仕組みを理解する必要はもうありません。
4. ジェネリック医薬品
Javaと同様に、Swiftはジェネリクスを利用して、配列や辞書などのオブジェクトの型をコンパイル時にチェックします。これにより、入力量、予期せぬnil代入、キャスト例外も削減されます。素晴らしいですね。
5. 統一された言語
4年の開発期間を費やしたSwiftは、現代のコード開発における落とし穴に対処するために設計されました。Objective-Cはモバイルの世界をかつてないほどの高みへと導きましたが、CとC++の混在した解釈は、多くのWeb、Windows、Javaエンジニアにとって障害となってきました。Swiftはこれらの懸念に真正面から取り組み、革新的な作業効率化手法を提案しています。
ウェイン・ビショップは、製品開発とソフトウェアエンジニアリングを通じてデジタルトレンドを探求するソフトウェア開発者です。@waynewbishop までご連絡ください。また、彼は自身のウェブサイトで定期的に記事を執筆しており、この記事はこのサイトで初めて公開されました。