Swiftの現状と今後の予想

Objective-Cの概要

iOSについてしか知らないのでiOS5意向しか知らないです。
Objective-CC++同時期に誕生し、C言語オブジェクト指向を混在できるようにした言語です。Javaなど多くの言語に影響を与えてきました。
Objective-Cはメモリ管理やライブラリの管理など自分でやらないといけない部分が多く、非常に大変でした。しかし、時を重ねる毎にAppleが改良を加えていきました。

ARC

Objective-Cは参照カウント方式を採用しています。これはオブジェクトが参照されている個数記録し0になった時点でメモリを開放する。この個数の変更はプログラマが行っていました。常にメモリーリークの危険性が伴っていました。ですがGCが動いている間に処理が重くなることもありません。
 AppleはARCという機能を付けました。これは個数の変更するコードをコンパイラが自動的に挿入します。これによってメモリ管理をほとんどすることがなくなりました。

CocoaPods

CocoaPods登場以前gitのサブモジュール機能などを使って管理していました。ライブラリの扱いは統一されておらず、ソースを参考にして自分で実装し直すことがよくありました。
CocoaPods登場以降、プロジェクト毎にライブラリ簡単にインストールすることができるようになりました。これによってライブラリの管理はほとんどしなくて良くなりました。

AppCode

XcodeObjective-Cを書くのはIDEの機能は十分ではないです。コードの補完や自動的にimportの追加を自動的にやってくれます。AppCodeはXcodeの1.5倍は高速に書くことができます。

Swif

このようにObjective-Cは次第に改良されてきました。そのおかげでバグやコードの記述量は次第に減っています。ですが、結局のところCを拡張した言語の枠を超えられずモダンで効率的な記述することはできません。
 そこにSwiftが登場しました。swiftは様々な言語の特徴を併せ持っています。似ている言語を十人十色に言います。かなりモダンな記述が可能になっています。「Objective-C without the C」と紹介されました。その紹介通りObjective-Cの特徴は色濃く残されています。ARCやObjective-Cと互換があります。
 今のとことXcode-β4がでた程度の言語です。つまり、現在ある挙動は正しいものかわかりません。バグらしいものがあっても正式リリースの段階では治っていることはよくあります

一年後の予想

現在はライブラリの量や知見によってObjective-Cが有利な状況にあるといえるでしょう。しかしその有利な点は次第に失われいきます。ライブラリはSwift書き換えられ知見もたまっていくでしょう。CocoaPodsやAppCodeもSwiftに対応すると思います。
新規案件の50%がSwiftで書かれていることでしょう。

まとめとこれから始める人へ

今すぐ仕事で必要な場合を覗いてはSwiftでアプリを作るのがいいと思います(Swiftで作ったアプリは申請できないため)。現在は皆無と言っていいほど情報はありません。それでもHello worldやTodoリストくらいは作ることができるはずです。そこからObjective-Cの情報を見ていくといいと思います。多くの場合Objective-Cのコードは互換のある別のコードを書くことができます。