Contents
Objective-Cの特徴=できること
Objective-Cでできることを知るために、まずはその特徴を理解しておきましょう。
Objective-CはC言語をベースにオブジェクト指向言語であるSmalltalkを取り入れて開発されたプログラミング言語で、歴史的には1983年から存在するのですが一般的に認識されるようになったのはiPhoneアプリ(iOSアプリ)の開発用言語として知られるようになってからでしょう。
独特な記述が物議を醸したObjective-Cですが、現在では後継の言語としてSwiftが登場したことで次第に移行が進んでいます。
当初はObjective-CとSwiftを比較した記事も多かったのですが、最近は投稿数も落ち着いてきたように感じます。
もちろん、Objective-Cにも長所はたくさんあります。そうでなければ、これまで生き残ってきてはいなかったでしょう。詳細な言語的特徴については『Wikipedia:Objective-C』の項目をご参照ください。
Objective-Cを使いこなせるようになるためには、C言語とオブジェクト指向プログラミングについて深い理解が必要とされ、熟練のプログラマーにとっては納得のいくプログラミング言語でもあるようです。
他の言語とObjective-Cを比較すると
Objective-Cは、当初はAndroidデバイス・アプリケーション開発用の「Java」と比較されることが多かったのですが、これは言語の比較というよりもプラットフォームの比較という色が強く、結局はどちらのプラットフォームに向けてプロダクトを出すか次第でした。
また、言語の名称に「Objective」と付いていることから他のオブジェクト指向プログラミング言語と比較されることもありますが、これは単なる機能比較に過ぎず「Objective-C」がどのような特徴を持った言語であるかを理解するためには役立つものの、比較自体には意味がありませんでした。
「Swift」が発表されてからは、Objective-Cの比較対象は専らSwiftとなりましたが、世間の反応を見る限りではSwiftに軍配が上がるのは仕方がありません。
特殊な書き方にすっかり慣れ親しんだObjective-Cエンジニアにとっては多少の寂しさはあるようですが、現実的な開発効率を考えるとSwiftの素晴らしさを認めないわけにはいかないようです。
Objective-Cのこれまでとこれから
本記事の執筆時点では、Swiftが発表されてから約2年近くが経過しています。世の中のiOSアプリにはまだまだObjective-Cで書かれたソースが存在しています。
このままいつまでもSwiftに書き換えられることのないまま、埋もれていってしまうソースを別にして、メンテナンスや改造を必要とするアプリケーションはまだしばらくはなくならないでしょう。
これからプログラミングを学び始める人が今さらObjective-Cを始めるとは考えづらく、新しくてモダンなプログラミング言語であるSwiftを選択するのが自然な流れでしょう。
これからはますますObjective-Cエンジニアは減少していくと考えられます。
しかし、そこを逆手に取ってObjective-Cの案件をこなしていくという仕事の取り方もありではないでしょうか。
今現在プログラミング経験のない人がObjective-Cを学んでいくことはお勧めしませんが、既にObjective-Cエンジニアとしてそれなりの経験を積んでいたり、他言語でプログラミング自体には熟練していたりするエンジニアであれば、Objective-C案件を受注するためにObjective-Cを続けていくのもひとつの案と考えられます。
具体的なObjective-Cの求人数
現実的にObjective-Cの求人数の推移を見てみましょう。
人材市場の統計情報メディアとして有名な「HRog」からの引用です。
参考:
『プログラミング言語別給与ランキング【2015年版】』
『【プログラミング言語別!】求人給与額ランキング』
2014年が「掲載件数:1,110件」だったのに対して、2015年には「掲載件数:659件」と減少傾向にあります。
しかし、それはSwiftの登場を考えれば当然のことです。むしろSwiftが登場したにも関わらず求人件数がそれほど低下していないと考えられます。
掲載件数で見ればPerlの「掲載件数:620件」よりも、Pythonの「掲載件数:488件」よりも上位となります。
需要が減っていくのは間違いないのですが、なくなるまでには随分と時間がかかるでしょう。
それまでの間にコツコツとObjective-Cの案件をこなしつつ、Swift等の代替プログラミング言語を習得しておくのがひとつの生存戦略として考えられます。
少し視点を変えての話となりますが、原稿執筆時点でリクナビネクストをチェックしたところ、求人件数は「8件」でした。
参考:
『リクナビネクスト:Objective-Cの求人一覧』
純粋にObjective-Cエンジニアを求めている求人はないのですが、社員としてのObjective-Cエンジニアの募集はこれからも少なくなっていくでしょう。
企業としては採用した社員はできるだけ長く在籍してほしいので、Objective-Cという今後消えていくと考えられる技術のエンジニアを採用するとは考えにくいものです。
するとどうなるかと言えば、どうしてもObjective-Cで開発や修正が必要な案件が出てきた場合は外注に出すことになります。
そして、外注に出すとなれば昨今では選択肢はいくらでもあり、できるだけ外注費を抑えようとするとフリーランスのObjective-Cエンジニアに出番が回ってくることになります。
こうした流れを想定して、会社員といえどもフリーランスとしてクラウドソーシングサービス等に登録しておくのが最近のトレンドとなりつつあります。
特にObjective-Cのようなニッチな分野にいると、競争率が下がり、需要のあるときに単価が上がりやすい傾向があります。
フリーランスもしくは半フリーランスとして収入を得ようと狙っている人にとってはObjective-Cは狙い目のプログラミング言語かもしれません。
少ないのは「ない」のと同じだと考えがちな人が多いのですが、コップの水の喩えと同じで「まだ水がある」と考えるか「もう水がない」と考えるかで機会をつかめるかどうかが変わってくることを忘れずにいたいものですね。
Objective-Cエンジニアにできること
Objective-Cは斜陽だなんて嘆いてばかりではなく、できることを探していくつもりであれば、お勧めしたいことがあります。
ひとつはSwiftとの比較を実際に手を動かして理解しながら「Qiita」などのエンジニア向けのメディアやTwitter等のSNSでポストしていくことです。
既に当たり前のようにやっている人も多いかとは思いますが、まだそうした活動の経験がない人はこれを機会に始めてみてはいかがでしょうか。
また、他にも「teratail」のようなエンジニア向けQ&Aサイトで質問に答えるのも良いですね。
もちろん、ブログサービスを活用したり自分でブログを立てたりして、ブログを書くという手もあります。
エンジニア層には「はてなブログ」が人気でしたが、最近はQiitaを使っている人が増えてきたと感じます。
自分でブログを立てる場合は、サーバ構築や保守運営の練習にもなり一石二鳥ですね。
ただし、自分でサーバを立てる場合にはセキュリティ面には十分な注意を払ってください。
こうした活動がひいては自分自身のスキルアップにつながるばかりではなく、就職・転職のキッカケ、フリーランスとしての仕事の受注などにつながっていきます。
また、いつかは消えてしまうかもしれないObjective-Cに関する情報を世の中に残していくという意義もあります。
Objective-Cエンジニアとしてできる限りのことをしながら、Swiftや他言語や他分野の技術にスキルセットを広げていけるように、しかもそれが無理なく楽しく広げられるように工夫していけると良いですね。
まとめ
いかがでしたでしょうか。
Objective-Cでできることを把握するだけでなく、Objective-Cを取り巻く状況を理解することで、今後Objective-Cとどのように接していくのが良いかを考える材料になったのではないでしょうか。
どのプログラミング言語にも言えることですが、これからのエンジニアは「Objective-Cエンジニア」のように特定の言語のみに特化はできなくなっていくでしょう。
Objective-Cエンジニアと言うよりはiOSエンジニアという立ち位置でSwiftも学んだり、スマートフォン・アプリケーションエンジニアという立ち位置でJavaも学ぶなど、Objective-Cのみに偏ることなく他の言語や技術分野への展開を考えつつ生涯勉強を続けていくことが、エンジニア人生を長生きしていくコツだと考えられます。
- 高額案件を定期的に紹介してもらいたい
- 週2日、リモートワークなど自由な働き方をしてみたい
- 面倒な契約周りはまかせて仕事に集中したい
そのような方はぜひ、ITプロパートナーズをご利用ください!
まずは会員登録をして案件をチェック!