SSブログ

macOS10.12 "Sierra" [日常のあれやこれや]

OS X、じゃないmacOS 10.12がリリースされたらしい。使う側から言うと名前なんでどうでもいい。でもいちばん大きな変更点がSwift3なので、僕にとってはメジャーアップデートという感じがあまりしない。新しいファイルシステムもデベロッパプレビューだけになっていてまだリリースするところまでは行ってないらしい。前の10.11ではMetalという大きなフレームワークのリリースがあった。今回はそういう大物のリリースはなかった。僕はなかなかMetalを使いこなすというところまでいってないので僕にはそれでいいんだけど。

細かく見ると、BNNS(Neural network Subroutines)がリリースされてるけど、まだちゃんとしたドキュメントはなくてサンプルコードが一つだけになっている。そういえばWWDC2014で出た線形計算ライブラリはドキュメントがないまま2回目のメジャーアップデートを迎えたことになる。まともなドキュメントがない限りは使い物にならないし、動かすことができたとしても次のアップデートでどうなるかわからないようなものは避けるしかない。いったいどういうつもりなのか。

Foundationフレームワークは地道に改良されているらしい。それはおそらくはSwiftでの効率改善が最も大きな動機だろう。FoundationフレームワークはAppleのコアコンピタンスの重要な部分だと僕は思っているのでそれは当然に見える。一方でCベースのCore Foundationはかなり手が入っているようで、Core FoundationよりもObjective-Cの同等のクラスの方が効率がいい、したがってToll Free BridgeでCとObjective-Cを行き来したとき実態がCore Foundationのオブジェクトだと効率がかえって低下するということが10.12では起こるらしい。

そういえばもともとオープンソースだったCore Foundationのソースは10.11ではとうとう見ることができない(どのマイナーリリースも"Comming soon!"となっている)まま10.12を迎えることになった。これのどこがオープンソースなんだ。これは僕が思うにCore Foundationのフェイドアウトの予兆である。というかCore FoundationのAPIは残るけど、実態はFoundationのObjective-Cオブジェクトが呼ばれるということになっていくんだろう。それはすなわちCoreなんとかというCベースの古いフレームワークはさらに速いスピードでフェイドアウトする、ということに他ならない。なぜならCベースのフレームワークの多くはCore Foundationのオブジェクトを前提にして書かれているからである。

やっぱりCよりもSwiftの方がずっと簡単で書きやすいし、LLVMの利点を発揮しやすいし、AppleとしてもSwiftの方が制御しやすい上に、iOSとのコンパチビリティを考えれば大筋としてはその方向だろう。まあ、Appleの好きにすればいいんではないだろうか。

僕はといえば、どうもまだSwiftに馴染めない。Objective-Cを使いこなせるようになるまでずいぶん苦労したというせいもあるけど、僕はSwiftを書いてるとJavaScriptを書いてるような気がしてきてわからなくなってしまう、というのもある。まあ、それも慣れの問題でしかない。でも僕の場合は「慣れる」ということはすなわち「量が質に転換された」ということなのですごく大きな意味を持っていることが多い。

やっぱり困ったもんだ。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。