iOSやMacのネイティブアプリ開発において、従来は「Objective-C」が使われてきましたが、Swiftは「Objective-C」に代わる新たなマルチパラダイムのコンパイルプログラミング言語として開発されました。
Objective-Cで厳密だった「型宣言」や「メソッド定義」などが緩和され、コード作成が容易なスクリプト言語に近い仕様になっています。
Swiftアプリケーションは「OS X version 10.9」「iOS 7」以降で稼働できます。
Swiftは「Objective-C」「Objective-C++」「C言語」と共存できる設計になっています。
Objective-Cで非常に面倒だった記述が、Swiftでは大幅に簡略化され、学習コスト減少と開発生産性向上を見込めます。
「コンパイラによる変数型補完」や「自動メモリ管理機能」により、「変数の中身が格納されるメモリ上のアドレスをポインタに格納」「不要になった変数のメモリ割当て解放」などのコードは不要になっています。
Swiftは「システムプログラミング」「モバイルアプリケーション」「デスクトップアプリケーション」「クラウドサービス」までの幅広い用途で使用できる汎用的なプログラミングとして設計されています。
「実際の実装メカニズムがプラットフォームごとに異なる場合でも、すべてのプラットフォームでSwiftのソース互換性を提供すること」を目標としています。
Swiftは、開発者にとって正しいプログラムを書いて維持しやすくするために、メンテナンス性を高めるように設計されています。
「コードをよりクリーンに」「バグを少なくするため」「コードの読み書きを容易にするため」の各種機能が含まれています。
・型推論サポート
・モジュールではヘッダー削除
・名前空間の提供 など
Swiftは、スクリプト言語であるRubyやPythonなどの最新の設計思想を取り入れたモダンな言語になっています。
そのため、これらの言語でプログラミングを学び始めた方にも取り組みやすく、簡単にアプリを開発できる言語になっています。
・ジェネリクス---型を変数とした型関数を扱う
・関数型プログラミング---処理を関数の定義の組み合わせとして記述
・タイプインターフェース
・名前空間
・タプル
・複数の戻り値
・クロージャ---関数ポインタで統一
・Optional型の採用
・構造体---メソッド/拡張/プロトコルをサポート
・機能的プログラミングパターン---マップおよびフィルタ
・高度な制御フロー---do/guard/defer/repeatキーワード
・コレクション---高速で簡潔な繰り返し
・強力なエラー処理機能 など
Swiftは、コンパイラ言語でありながら、インタプリタとしてスクリプト実行も可能です。
対話実行環境(REPL)も用意されています。
Swiftは、既存のプログラミング言語において記述ミスによるバグが発生しやすかった部分について文法的な対処が行われ、安全ではないコードが少なくなるように設計されています。Cベース言語よりも安全であるように設計されており、安全ではないコードのクラス全体を排除しています。
各種安全対策により、コード作成がよりクリーンで安全になり、ランタイムクラッシュなどの発生を減少できます。
・静的型チェック
・変数初期化強制
・オーバーフローチェック---配列と整数
・自動メモリ管理---参照カウント
・if文のブレース(波括弧)省略禁止
・switch-case文の自動フォールスルー禁止
・nilオブジェクトの存在チェック---存在するとコンパイル時にエラー など
SwiftはCベース言語(C/C++/Objective-C)の代用として意図されているため、それらのパフォーマンスに匹敵する程度の高速動作ができることを目指して設計されています。
Swiftは、高速コンパイラ「LLVM」により、現代的なハードウェアの性能を引き出すための最適化されたネイティブコードに変換されます。
Swiftを使うと、一般的な検索アルゴリズムがこれまでよりも大幅に速いスピードで完了します。処理速度ベンチマークとして「Objective-Cよりも最大で2.6倍高速」「Python2.7よりも最大で8.4倍高速」と発表されています。
「Swift System」とは 「Swift System」は、サポートされているすべてのSwiftプラットフォームの低レベルシステムインターフェース向けオールインワンライブラリ。 ...
OSS×Cloud ACCESS RANKING