SwiftがiOS/OSXからObjective-C/C/C++をすぐに駆逐できないたった一つの理由

  • 24
    Like
  • 0
    Comment
More than 1 year has passed since last update.

そもそもAppleはObjective-Cを駆逐する気などない

いまのところは

Swiftは独立したランタイムを持たない

  • Swiftは初めからObjective-Cのランタイムで動作すると発表されている
  • Objective-Cのランタイムは、CC++で書かれている
  • つまりSwiftObjective-Cを通してCC++に依存している

よってSwiftは(iOS/OSXのパラダイムシフトが起こらない限り)これらの言語を駆逐することはできない

AppleはランタイムをSwiftで書き直す準備をしている?

そんな感じがしないでもない

ベストプラクティスは変わらない

  • そもそもObjective-Cの利点の一つに、C/C++を自由に統合できるというのがあった
  • SwiftもまたCの関数を自由に呼び出せるので、速度的に問題のある箇所や、ライブラリといった資産を活用する場合はC(もしくはObjective-C++を通してC++)で書くというのが今後もベストプラクティスだろう