iPhone XS
iPhone XS Max
iPhone RS
iPhoneって仮面ライダーのような名前になってるなぁ
「プログラム言語夜話ファンの皆様」ご無沙汰しております。
久しぶりにプログラム言語について語ってみたいと思います。
今回の小僧の教えてITは、
iPhone開発言語の救世主 プログラム言語夜話 第11話 Swift
と題して
iPhone開発言語で有名なSwiftというプログラム言語を取り上げます。
最後まで読んでいただけたら幸いです。
注意:このブログは、Swiftの解説やテクニック講座ではありませんのでご注意ください。
スポンサーリンク
目次
Swift
読み方は、「スウィフト」
名前の由来は、ツバメ(Swift)なんでしょうけど調べても由来がわかりませんでした。
「高速な処理」=「高速で飛行するツバメ」
ということでしょうか?
アイコンもツバメです。
歴史
iOSとかMacのために、Apple社が作った2014年発表の言語です。
たった4年前ですね。
半世紀以上の歴史あるFortranから比べれば「ひよっこ」です。
と言っても世界中のiPhoneで動作しているプログラムの殆どはSwiftで書かれたものです。
おそらく、発表から普及までかかった時間が最速ではないでしょうか!
発表は、2014年のWWDCというApple社の開発者会議
それまでiPhoneやMacintoshの開発は、Object-Cという古典的な、分かりづらい言語で作成されていました。
Swiftは、「モダン、安全、高速、インタラクティブ」という流行りを取り入れた美しい言語となりました。
モダン
クロージャやタプル、ジェネリックプログラミング、Optional型の採用などが挙げられる。
安全
静的な型チェック、変数の初期化の強制、数値型のオーバーフローの検査、自動参照カウントによるメモリ管理などが挙げられる。
また、if文のブレースの省略禁止、switch-case文は明示的に指定されない限りフォールスルーしないなど、既存のプログラミング言語において記述ミスによるバグが発生しやすかった部分を文法的に解決している。
インタラクティブ
Swiftはコンパイラ言語でありながら、インタプリタとしてスクリプトを実行することも可能で、対話実行環境(REPL)も用意されている。
Swiftと同時に発表されたXcodeバージョン6では、コードの実行結果をグラフィカルに確認しながら開発できるPlaygroundsが実装された。
ウィキペディア
プログラマー以外の人には、分かりづらいので要約します。
モダン
・適当な入れ物をつくっても入れるものに合わせてサイズを合わせてくれる。
安全
・人間のミスを出しづらいように手を引いてくれる。
・枠から飛び出さないように囲いができている。
インタラクティブ
・待ち時間なしの田舎の携帯電話屋さん
こんな感じです。
開発者
クリス・ラットナー
Chris Lattner(英語名)
ソフトウェア開発者
生年月日: 1978年 (年齢 40歳)
学歴: イリノイ大学アーバナ・シャンペーン校、 ポートランド大学
著名な活動: LLVM、 Clang、 Swift
LLVMというのは、コンパイラ(過去のブログを見てね)の基礎部分なようなもので
プログラム言語の裏方のようなものです。
こういう、地味な開発をしていた人が、世界的な言語であるSwiftを開発して世に出てくるというのは、同じエンジニアとして嬉しいものである。
サンプル
いつものHello Worldですが、
print( "Hello, World!" )
さすがにちょっと少なすぎるので少し変更
一見、C言語に似てますが、遥かにいろいろなことができます。
他にもプログラマーなら
「そうそう これこれ 便利なんだよなぁ」
というアイテム?やギミック?があって、効率的で美しいプログラムを書くことができます。
自分が一番感動したのは、それまでのObject-Cという
「宇宙言語じゃないのか?」
という職人い的で、古臭く、癖のある言語から、最新のスマートな言語に変わったことです。
このSwiftに変わってiPhoneのアプリは、一気に増えました
iPhone専用言語じゃないよ
このSwiftは、iPhoneやMacintosh(Apple社のパソコン)の開発が主になっていますが、実は、オープン化されていて以下のサイトからダウンロードして使えます。
と言っても Windowsで動作するわけでもなく Ubuntu というLinux(UNIX互換OS)の仲間で動作します。
しかし、Apple社の「秘密主義」&「囲い込み」体制にしては、珍しい出来事です。
と言っても、他の環境でSwiftを使う意味もなく、事実上iPhoneやMacintosh専用言語と言っていいでしょう。
まとめ
iPhoneのプログラム開発は、Macintoshでしかできません。
しかし、マイクロソフト社のXamarin(ザマリン) という技術で
iPhoneとAndroidを「同時に開発できちょうっ環境」ができてからSwiftはm減るかも知れません。
特にゲーム会社は、iPhone、Androidを別々に開発するのはコストがかかります。
そこで一度に基本部分を開発して2つのデバイスに展開するのが、主流となっています。
と言っても最終的には、MacintoshのXcodeという開発環境がある限りSwiftもなくなることは、ないでしょう。
個人的には、プログラムの構文が、美しく、クセもないので好きですが、事実上、Macintoshでしか動作しないのが難点です。
なんと言ってもObject-Cの開発環境からSwiftになって、開発が200%以上楽になりました。
まさに「救世主現る」と言ったところでしょうか!
[amazonjs asin="B07BR8YYDK" locale="JP" title="Learning Swift: Building Apps for macOS, iOS, and Beyond"]
スポンサーリンク