Objective-C は古くさい?

Swift 全盛の今日この頃、Objective-C でプログラム組むのはいかなる理由によるものか?という命題があります。

当方、Swift には今のところあまり関心がない(もとい、学習する意欲がない)のですが、それは何でか自己分析しました。

まず、Objective-C を十分理解しているとは言い難いので、まずはこれを極めてからステップアップしようという心意気(意気込み)があります。職人は使う道具にこだわります。道具は苦楽を共にした戦友であり、良い部分・悪い部分含めて知り尽くしています。どんな難題も回避策が見出せます、見出してきました。実績を加味して信頼感が抜群です。そのような理由により、捨てがたいという理由です(もっとも、私の場合、極めていないので、まずは極めてからという心情が先に建ちます)。

次に、新しい技術は流行り・廃りが短期間に現れるのでそれを警戒している、というのがあります。新しい技術の学習コストはそれなりなのですが(日夜自宅で研究する日々)、いつの間にか廃れてしまって・・・という憂き目に遭いたくないので、十分浸透してから手を出そうという気持ちがあります。前例を挙げますと、config.sys、68k,漢字Talk(否、AppleTalk ?)、RealBasic, SCSI, FireWire など、かつて一世を風靡して今墓場行きの技術は、枚挙に暇なく、かつて、どれだけあったことかと・・・繰り返しますが、新技術は学習コストがそれなりにある、でも、熟練した時にもう廃れていた・・という事態を避けたいので、どうしても保守的になってしまうということです。

それで、Swift の今後はどうか・・・ですが、んー、そろそろ手を出そうかなという感じですね。Objective-C の古くさい言語仕様にちょっと、閉口気味なんで・・・

余談

FrameWork の問題ということもありますが、

メソッド呼び出しで、

[someClass someNethod];

someFunction(withArg);

のように、統一されていないのは、初学者にとって難関ではないかと。

最も、NextStep からの古参であれば、歴史的経緯を背景として十分理解できるのだと思いますが、beginner には明らかに取っつき難いでしょう・・・