Swiftとは?Swiftの特徴4つを現役エンジニア講師が噛み砕いて説明!


高速

pet-173005_640

時折、技術系の記事で「Objective-Cの方が早い」という記事を見かけることが有ります。これは、どちらかが嘘を言っているとかそういうわけではなくて、高速になった部分の違いなのではないか、と解釈しています。

Swiftは高速になりました。どの部分が高速になったかというと「アプリになってからの処理速度」が高速です。

それは公式サイト(https://www.apple.com/jp/swift/)にもあるように、Objective-Cよりも最大2.6倍、Python2.7よりも最大8.4倍高速になっています。ユーザーにとって便利になったわけです。

では、どの部分がObjective-Cの方が高速かというと「コンパイル」というプログラムを解釈してアプリ化する部分に当たります。

プログラムを作っている時は

1.「書けた!」
2.「実行して確認してみよう!」
3.コーヒーを一旦飲む時間
4.「ふむふむ、ちゃんと動いているな」(確認タイム)

これの繰り返しです。

そして、「3.コーヒーを一旦飲む時間」←これがコンパイルをしている時間です。

プログラムは勉強しないといけないですが、あくまでも「人間が読める言語」なので、機械が解釈できる「機械語」と言うものに変換しないとデバイスで動かすことができません。

この翻訳作業が「コンパイル」とよばれる処理になります。

確かにSwiftはコンパイルの処理が遅い感じはあります。ただ、書き方で結構解消される印象もあるので、プログラマさん次第かな、という気もします。

 

インタラクティブ

business-2703167_640

インタラクティブとは「対話」または「双方向」といった意味で、ユーザーがパソコンの画面を見ながら、対話をするような形式で操作する形態のことを指します。

XcodeにPlaygraundというツールが採用されており、プログラムを記述するとリアルタイムで実行結果が表示されるようになっています。これをオートコンパイルと呼ぶのですが、書いた途端に勝手にコンパイルが始まっていて結果が表示されるようになっているということですね。かわいい。

シミュレーターで実行してる最中も修正できたり文法チェックが自動で行われるのですぐに修正が可能になっています。

 

まとめ

いかがでしたでしょうか。Swiftの魅力を伝えられていたらうれしいです。

勉強したくなったらエンジニア留学是非来てくださいね♪

engineer-banner

Author Profile

IchinoheEriko
IchinoheEriko
ニュージーランド・オーストラリアを経てセブ島にやってきた、世界を飛び回るベテラン女性エンジニア。インターネット創世期よりWebサイト製作を経験。小売業販促アイテム印刷システム「ipopweb」の立ち上げに企画時から参画し、DB 設計・プログラミング 開発を担当しリリース。業務システムエンハンスやポータルサイトのリニューアル開発、運営、保守も多数手がける。OracleMaster保持者。PHP、JavaScriptを始め15以上の言語使用経験を持つ。茨城大学工学部システム工学科卒。