Edited at

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

More than 5 years have 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++)で書くというのが今後もベストプラクティスだろう