Swiftとは
iOSアプリの開発ができる言語としてはObjective-CとSwiftがあります。
Androidアプリの開発をするためのJava と Kotlin と使うことと同じです。
本人は現業でSwiftを通じてiOSアプリを開発しているため、スイフトに関する文を作成したいと思いました。
では今日は、Swiftとは何かについて見ていくことにしよう。
スイフト?Swift!
スイフトはアップルのiOSとmacOSのためのプログラミング言語で、2014年6月12日に初めて紹介され、9月に正式発表されました。 既存のアップルOS用言語はObject-Cで、このように使用するために作られました。
従って、Object-Cと同様にLLVM(コンパイラ)を通じてビルドとなり、同じランタイムを共有します。
Object-Cにはなかった機能が追加されました。(クロージャー·多重リターンタイプ·ネームスペース·ジェネリック·タイプ類推など)
現在はアップルがオープンソースとして共有しながら、アップルプラットフォーム以外の様々なプラットフォームで使用できるようになっています。
スイフトの言語的特性です。
アップルが初めて公開したとき、スイフトの特徴をSafe、Modern、Powerfulといいましたが、オープンソースに切り替わると同時にSafe、Fast、Expressiveと訂正しました。
- 安全性です
スイフトは、安全なプログラミングを目指しているが、プログラマーが犯す可能性のあるミスを厳格な文法で適用し、未然に防止しようと努力しました。 オプショナルという機能をはじめ、guard構文、エラー処理、強力なタイプコントロールなどを通じてスイフトは安全性を構築しています。
2.迅速ですね
C言語を基盤としたC、C++、Object-Cのようなプログラミング言語を代替しようとする目的で作られたので、Cと似たようなレベルの性能を維持するのに焦点を合わせて開発されました。 実行速度の最適化だけでなくコンパイラを持続的に改良し、より速い性能を実現しています。
3.表現性です
スイフトはもっと使いやすく見やすい文法を具現しようと努力しました。 そうだそうです:)
スイフトプログラミングパラダイム
スイフトは、様々なプログラミングパラダイムを借用したマルチパラダイムプログラミング言語です。
これについて簡単に調べましょう!
1.オブジェクト指向です。
コンピュータプログラムをコマンドリストで見る既存の命令型プログラミングパラダイムの視点から離れ、いくつかの独立した単位であるオブジェクトの集まりとして把握しようとしているのです。
そのため、プログラムを柔軟で容易に変更できるように作成でき、大規模ソフトウェア開発に使われやすいです。
また、メンテナンスが簡便になるメリットもあります。
2.関数型です
関数型のメリットは、大規模並列処理が容易である点です。
プログラムの状態変化なしに、データ処理を数学的関数計算で扱おうとするパラダイムです。
したがって、値や状態の変化に集中していたのとは異なり、関数そのものの応用を重要視しています。
まあ一応そうだと言うが理解するのが難しいです... ですね。
関数型パラダイムでプログラムを作成する場合、
種々の演算処理作業が同時に起こるプログラムを作りやすいといいます。
そして、マルチコアあるいは複数の演算プロセッサを使用するシステムで効率的なプログラムが作りやすいです。
その他にも、状態変化による副作用から自由になるので、純粋に機能実現に焦点を合わせることができます。
3.プロトコルを目指します
プロトコル指向は参照タイプのクラスのインスタンスよりも値タイプの方が効率的に使用でき、エラーを減らすことができるそうです。
スイフトでは、構造体と列挙型に従来のクラスで実装できたカプセル化、抽象化、アクセス制御などの機能をすべて実現することができます。 さらにプロトコルにエクステンションを活用できるため、プロトコル指向プログラミングが可能になったそうです。
つまり、多重相続が不可能な限界を乗り越えて、より良い抽象化メカニズムを実現できるわけです。
以上、スイフトの背景と特徴を探りました。
一生懸命に勉強します!!