Objective-Cとは今回は、作成したプログラミングコードをITエンジニアのコミュニティーであるGitHubにオープンライセンスで公開するとともに、世界中のプログラマーレビューしてもらう仕組みである「GitHubPullRequest」のシェア率で2019年1月~3月統計で第17位にエントリーされたObjective-Cについて見ていきます。

Objective-Cは、いわゆるC系言語の一つです。

C言語は1972年に登場し、汎用言語として様々なシステム、様々な環境で利用されてきましたが、オブジェクト指向という考え方は取り入れられていませんでした。

そこで「C言語をオブジェクト指向に対応させよう」という動きが起こり、いくつか新たなプログラミング言語が登場します。

そうした経緯で生まれたプログラミング言語の一つがObjective-Cです。

オブジェクト指向のC言語」という、非常にストレートなネーミングですよね。

ちなみに、オブジェクト指向に対応するようにC言語を拡張した言語として、C++も有名です。

どちらもC言語との上位互換性がある、という点では同じですが、記述方法がずいぶん異なるため、C++しか触ったことがない方が、いきなりObjective-Cのソースコードを読もうとすると戸惑うかもしれません。

Objective-C の独特な記述方法はSmalltalkというプログラミング言語(開発環境)の記述方法を参考にしているのが原因です。

Smalltalkは1970年代、Xerox社のパロアルト研究所によって開発されたプログラミング言語です。

当時、パロアルト研究所では、コンピューターは“ダイナブック”を目指すべき、という理念を持ち、その実現に向けた研究が行われていました。

“ダイナブック”とは「直感的な操作で、様々な情報を入出力することができて、子供でも持ち運べるノートサイズのコンピューター」です。

コンピューターといえばメインフレームが当たり前だった時代に、相当に野心的な理念だったのは言うまでもありません。

ちなみに、長らく東芝製ノートパソコンのブランド名となっていた“Dynabook(ダイナブック)”の名前の由来は、この“ダイナブック”です。

さて、話を戻すと、“ダイナブック”構想を実現するために「様々な情報を入出力することができ、誰でも扱えることができるプログラミング言語」として生み出されたのが、Smalltalkです。

パロアルト研究所では、“ダイナブック”やSmalltalkの改良のために、子供も含めた非IT業界の方に試用してもらっていましたが、その中で高校生やそれ以上に若い子供たちによって、実際にプログラミングができることも証明しています。

ただ、そのような特殊な経緯で生まれたものですので、他のプログラミング言語、特にSmalltalk誕生以前からあったC言語と根本的に記述方法が異なるのです。

そのSmalltalkの影響を受けたObjective-Cの記述方法はC言語の拡張言語とは、にわかには思えないくらいです。

では、なぜそのような“異端な”Objective-Cが主要言語の一つと見なされているのかと言いますと、答えは簡単で、macOSやiOSなどApple社製品の公式開発言語だからです。

現在はSwiftというプログラミング言語もApple社製品の公式開発言語に加わったため、“唯一の公式開発言語”ではなくなりました。

しかし、長い間、唯一の公式開発言語として、これまでに多くのiPhone、iPad向けアプリがObjective-Cで開発されてきました。

なお、これは筆者の推測ですが、Objective-CがApple製品の公式開発言語になったのは、故スティーブ・ジョブズ氏が、“ダイナブック”やSmalltalkをリスペクトしていたためではないでしょうか。

例えば、AppleはGUIコンピューターの『Lisa』を発売したことでコンピューター史に名前を刻みましたが、GUIはAppleオリジナルのアイデアではありません。

もともとは“ダイナブック”に搭載されていたもので、それをAppleのメンバーが視察し『Lisa』にも搭載させたのです。

昨年の順位と比較して考察

昨年の順位と比較して考察

2019年1月~3月統計で第17位のObjective-Cですが、2018年1月~3月統計で第15位でした。

順位の後退以上に、シェア率の低下が非常に大きく、2018年1月~3月統計では約0.536%でしたが、2019年1月~3月統計では0.483%と1割も減らしています。

これは新たなAppleの公式開発言語であるSwiftへの乗り換えが進んだ影響だとも考えられますが、Swiftは13位から13位と順位の変動がありません。

ただし、シェア率の方はしっかりと(?)低下しています。

理由としては、2016年にMicrosoftが買収したXamarin(ザマリン)の影響が大きいように思います。

Xamarinとは簡単に言えば、Unix/ Linux・Windows・android・iOSとったOSの差異を気にせず開発を進めることができるクロスプラットフォーム開発環境のことで、近年ではMicrosoftの統合開発環境であるVisual Studioに組み込まれています。

つまるところ、これまではandroid用アプリはJavaで開発し、iOS用アプリはObjective-CやSwiftで開発するという風に住み分けがありました。

しかし、Visual Studioとその対応言語であるC#やPythonなどを使えば、androidでもiOSでも動作可能なアプリが開発可能になった、ということです。

わざわざ「Apple製品専用言語」状態になっているObjective-CやSwiftを学習し利用する必要もなくなり、利用者離れが起きている、と各所で言われていましたが、その噂を裏付けるものになっています。

Objective-Cは転職に強いのか

Objective-Cの知識のある方。経験者の求人自体は正社員としてもフリーランスとしても、もちろん一定数はあります。

ただ、Objective-C/Swiftの形になっていることもあります。

また、すでに見てきた通り、Apple製品の公式開発言語としてSwiftの利用率がすでにObjective-Cを上回っており、さらに、そもそもApple製品の公式開発言語自体の利用率が低下傾向にあります。

もっといえば、iOS製品つまりiPhoneのシェア率自体、近年、androidスマホに押され気味です。

ですので、Objective-Cのみしか扱えない、という方やObjective-C/Swiftのスキルセットはあるが、それ以外のプログラミング言語は扱えない、という方は、そのほかの言語が扱える他の応募者との競争で不利になるかもしれません。

もちろん、開発速度に自信がある、非常に注目を集めたアプリ開発にかかわったなど、なにか“売りになるネタ”があれば、また状況も変わってきます。

活躍できる業種と年収

すでに触れていますが、Objective-CはiOSやmacOSなどApple製品専用プログラミング言語と半ば化している状況ですが、現時点では、他のプログラミング言語との間に年収格差があるようには思いませんでした。

各社求人サイトを見ていると、おおむね正社員の提示年収は300万円~1200万円、フリーランスの提示単価は40万円/月~150万円/月で、平均は80万円前後です。

自社アプリを提供している非IT業界以外からの求人もわずかながら存在していますが、基本的にはIT業界・ゲーム業界が主な活躍できる業種になります。

なお、開発速度が求められるなどの理由からか、ゲーム業界の平均提示年収はやや高めのように見えました。

まとめ:Objective-Cは過去の技術になりかけ?

繰り返しになりますが、Objective-Cは唯一のApple製品の公式開発言語として特別な地位を築いてきました。

しかし、後発言語としてSwiftが登場し、唯一のApple製品の公式開発言語ではなくなりました。

さらに、Xamarinの登場により、公式開発言語であるObjective-CやSwiftを使わなくても、iOS向けアプリの開発も可能になりました。

現状、Objective-Cには逆風が吹いていると認めざるを得ない状況です。

実際問題、いずれの求人も新規開発というよりは、すでにあるObjective-Cにて開発されたアプリケーションの保守改善がメインのように見えました。

まったくプログラミング初心者の方が最初の言語としてObjective-Cを選ぶのは、状況的におすすめできません。

活躍の余地だけでなく、言語の習得難易度という意味でも、PythonやJavaScriptなどの方が良いかと思います。

また、すでにObjective-Cで活躍している方も、今後のことを考えて、他のプログラミング言語、例えばPythonやC#などの習得を進めておいた方が良いでしょう。

今すぐシェアしよう!
今すぐシェアしよう!