〜Swift登場と次世代フレームワークの影〜C言語の万能性・汎用性は未だ強し組み込みやオープンソースソフトウェアの世界に目を向けると、Swift登場に伴うObjective-Cの廃止は現実的にあり得ないと思えてきます。なんだかんだ言ってObjective-CはC言語なのです。Mac以外の全OSでもSwiftが使えるような時代が10年以上前から存在していれば話は別だったも知れません。クロスプラットフォームの重要性は未だかつてないほどに高まっています。C/C++の知識と経験が活かせ、C/C++製のSDKやライブラリとシームレスにやり取りができるObjective-Cの利点は今後も活きてゆくでしょう。Cの切り捨ては熟練エンジニアの切り捨てそもそもObjective-Cを切り捨てるということはC言語世代の熟練エンジニアを一時的に切り捨てるということですから、そう簡単にできることでもありません。AppleがOSXやiOSの既存資産を今後も活用していきたいという方針を持っているのなら、Objective-Cが消えることも無いでしょう。Windows10プラットフォーム構想の件もありますし、今が一番大事な次期ですから、Swift強制移行でObjective-C勢のパワーを削るような真似はApple側もしないはずです。Objective-Cが自然消滅することはあっても、Appleが自らObjective-Cの首を切ることは無いのです。Swiftの魅力は圧倒的とはいっても、Swiftはかなり魅力的な言語ですから、開発環境が実用レベルに達すれば、Objective-C勢の中でも大半の人はSwiftに移行してしまうはずです。逆に初心者や元Webエンジニア的な人達は今すぐにでもSwiftに移行すべきです。C言語の学習コストに比べればSwift移行による一時的な消耗なんて大したものではありません。しており、また従来のプログラミングと異なるパラダイムも多く取り入れらています。Java)の知識や経験が活かせる、Objective-Cのほうが学習コストは少なくなる場合もあります)Objective-Cは変人向け言語の地位に今後はObjective-CはAppleデベロッパの中でも変わり者や上級者向け言語という地位に落ち着くと思います。それはプログラミング業界におけるLisp的な立ち位置に近いかもしれません。次世代フレームワーク登場の可能性は?SwiftはObjective-Cの動的特性を抑え、より高速で処理効率の高い言語として生まれ変わった言語です。現状のGUIアプリ開発では既存のObjC製のフレームワークに頼らざるを得ない状況にあり、Swiftのポテンシャルを100%引き出せる環境にないのが現状です。Swiftに最適化された次世代のフレームワークが出てきてもおかしくはないのではないかと期待したくなるところですが、果たしてそんな事は起こり得るのでしょうか。現実的には起こりえないでしょう。今日のOSX/iOS業界の発展ぶりを考えるとインパクトがあまりにも大きくなりますし、むしろ既存フレームワークをブラッシュアップし、徐々に次世代の要素を取り入れてゆく方が現実的で混乱も少なくなるはずです。Appleは近年AppKitとUIKitとの擦り合わせを強く意識しているように思います。これはおそらく両プラットフォーム間でのコード再利用性やUXKitのリリースを見越して両プラットフォーム間の整合性を高める意図があるのでしょう。Touchフレームワークは今後も次世代の要素を徐々に取り入れつつ発展を続けていくことでしょう。Objective-Cが共に発展し続けるとは限りません。Kitには既にSwift版が存在します。現段階ではLinuxやAndroid、Windows上での利用を想定したライブラリという側面が強いですが、将来的にApple側のライブラリもこれらに置き換わる可能性が考えられます。Touchフレームワークを含めて全面的にSwift化する事態もまた想定しておく必要があるでしょう。将来的にObjective-Cランタイムがお払い箱となる可能性が考えられます。仮にSwiftに最適化された新たなUIフレームワークが出てくるとすれば、その頃になるのでは無いでしょうか。Swiftオープンソース化なお、Swiftオープンソース化により今後、Mac/iOS以外のプラットフォームでもSwiftを使った開発が盛んになると思われます。いままでC/C++で実現していたコード再利用性をSwiftで実現できる時代がやってくるわけです。そのような時代を見越して今のうちからSwift移行しておくという考えはありかもしれません。Objective-C廃止時の対応もし仮にObjective-Cの廃止が決まったとしても完全廃止ではなく、きちんと互換性を担保した上での非推奨という形に落ち着くかと思います。APIのような生かしも殺しもしない状態です。社会インフラとなっているOSの影響力を考えれば当然の対応と言えるでしょう。コンパイラ側のObjCサポートが続く限りは、既存アプリが急に使えなくなる/保守出来なくなるといった事態にもならないはずです。いずれにせよ、Objective-C廃止は段階的にまた最小限の負担で行えるようになるはずです。オプショナルやジェネリクス、その他Swift由来の仕様や、より厳格な命名規則をObjective-C側に取り込み、Objective-CからSwiftへの安定的なコード変換の土台を徐々に整備し始めるはずです。SwiftとC++の連携機能も正式に出てくるかもしれません。それらの土台が出来上がった頃には皆笑顔で「動く城」と化したObjective-Cを切り捨てることでしょう。最新のXcodeではジェネリクスやNullabilityアノテーションのサポートが決まっています。Swift」のコード変換は可能なのかという疑問があります。言語コンセプト上それが困難になるようであれば、SwiftとObjective-Cの共存は永遠に無くならないのではないかとも思えてきます。そもそも、既存のコードを変換するという考えはあまり現実的ではなく、技術者たちの不安を助長してしまう恐れがあります。iOS(WinObjC)」はiOS向けに開発したコードをWindowsプラットフォームでも動かせるようにするためのバックエンド技術で、ライバル社のMicrosoftが開発しています。これによりObjective-Cの潜在価値が高まりました。逆にSwiftの発展には今後大きな足かせとなることでしょうWindowsプラットフォームへのアプリ流入・技術者流入を食い止めるためにAppleがSwiftへの移行を今以上に推し進め、Objective-Cの影響力を弱めようとする可能性が出てきます。Apple側の対応として考えられるのはObjective-C開発の非推奨化です。それは現実的な対応とは言えません。ちなみにWinSwiftが出てくればこれらの話は無意味なものとなります。Swiftはまだ実用レベルに達していないSwiftを業務利用する所は今でも少数だと思います。言語仕様の変更が明らかに多すぎますし、開発環境もまだまだ実用レベルに達していません。Swift開発環境はまだ弱い〜Objective-C環境と比較して気づいた問題や不満〜Objective-C経験者に限って言えば、そのような言語を実戦投入して得られるメリットはほとんど無く、むしろ消耗やリスクのほうが大きいと思われます。近年ではジェネリクスやNullabilityなど、Swiftの安全性やテスト効率等の利点をObjective-C側にも取り入れようとする流れが見られます。自発的にSwift移行する必要はなさそうです。今日のSwiftブーム・Swift推しはすこし行き過ぎているSwiftはAppleというブランドだけが先行してしまった言語という印象を受けます。支持者によって過剰に祭り上げられてしまった言語と言えるでしょう。パワーブロガー達がこぞって取り上げたり、ネットで話題になりすぎたゆえに、それがあたかも世の中の主流になってるだろうと錯覚してしまった人たちが多いのもまた事実です。Swiftに対して慎重な意見を主張した人たちがほとんどいなかったことは実に残念なことです。現段階でのSwiftはAppleの将来性や新規参入を促すためのパフォーマンス、言わば政治の道具でしかありません。長期的に見れば、Swiftの発表はアプリ業界・IT業界を次のフィールドへと進める優れた決断であったと賞賛できるでしょう。anywhere」を意識した言語になり、将来的にはC/C++の一歩手前に位置する言語になるはずです。Webの世界ではJavaの代替となるでしょう。当面は車輪の再開発が必要になります。Swiftのオープンソース化にはデファクトスタンダード化の意図だけでなく、車輪の再開発を促す意図があるのでしょう。Swiftは趣味で扱う分にはとても魅力的な言語ですが、これを実際の現場で使うとなれば話は別です。発展段階の言語である点をきちんと意識しておく必要があります。まとめいきなりObjective-Cが無くなることはないおそらくObjective-CはC/C++人気に支えられ当分は生き続けるSwiftはまだまだ発展段階の言語わざわざ自発的にSwift移行する必要はない。MaryCoreコメントは停止中です。