Objective-CとはApple社のiOSアプリを開発するために使用するプログラミング言語です。ブラッド・コックスとトム・ラブらによって1983年にリリースされました。
Objective-Cは名前の通りオブジェクト指向言語で、C言語がベースとなっています。C言語はObjective-Cが誕生する10年前から存在しており、Objective-Cが誕生した同年にはC++も誕生しています。
また、C言語をベースにしながらも、Smalltalkというオブジェクトにメッセージを送るというアイデアを元に作られたプログラミング言語も取り入れています。Smalltalkは元祖オブジェクト指向言語と言われており、Objective-C以外にも様々な言語・環境のベースになっている大きな影響を与えた言語です。
Objective-C開発者によると、C言語のメモリ安全性と SmallTalk のスピードを混合した言語がObjective-Cと説いています。
またGithubではどの言語でプルリクエストがどれくらい行われているかということを公開しており、Objective-Cがどれくらい使われているのかがわかりますが、Objective-Cは15位となっており、トレンドとしても下がっています。
なぜObjective-Cの比率が下がっているかというと、Swiftの台頭が大きな理由として挙げられます。
SwiftとはObjective-Cと同じくApple社のiOSアプリを開発するために使用されるプログラミング言語です。2014のWWDC(Worldwide Developers Conference)で発表され、その後は進化を遂げてバージョンアップが続いています。
Apple社は「モダン」「安全」「高速」「インタラクティブ」をSwiftの大きな特徴として発表しました。Objective-CよりもSwiftの方が開発しやすいという理由でSwiftは多くの方に支持されています。
ただ、人によってはSwiftよりもObjective-Cの方が開発しやすいという方もおり、ここは好みが分かれるところです。
Swiftはマルチパラダイム、Objective-Cはオブジェクト指向とパラダイムを見ても大きく異なっており、構文の書き方も異なります。Swiftの方が柔軟に書ける・素早く開発ができる、Objective-Cの方が更新が少なく新たに覚えることが少ないなどそれぞれ使うメリットが異なります。
iOSアプリ開発において完全にObjective-CからSwiftに移行したというわけではなく、Objective-Cにも未だ強い人気は残っています。自分の好みでどちらかを選択すると良いでしょう。
Objective-Cはブラッド・コックスとトム・ラブらによって1983年にリリースされました。
当初はC言語をベースにしながらも、Smalltalk(オブジェクトにメッセージを送るというアイデアを元に作られたプログラミング言語)を取り入れることで、SmalltalkのスピードとC言語のメモリの安全性を取り入れる目的で開発されました。
Objective-Cという名前の通り、C言語とオブジェクトを混在させられるという意味で、かなり使いまわしが良い言語となっています。なぜ、このObjective-CとC言語の組み合わせなのかというと、当時はC言語の開発が進んでおり、またSmalltalkという世界初のオブジェクト指向言語が登場したからです。
その当時の流れを組んで、当時人気だったC言語とオブジェクト指向言語であるSmalltalkを組み合わせたプログラミング言語であるObjective-Cが登場しました。
この誕生した当時のObjective-Cは認知度も低く、多くのプログラミング言語の中にある埋もれてしまっている状態でした。
続いてObjective-Cの黎明期・成長期についてです。Objective-Cは誕生した当時の認知度の低い状態からいったいなぜ有名になれたのでしょうか。
この背景には皆さんがお使いのiPhoneやMacbookを販売しているAppleの存在があります。スティーブ・ジョブズがAppleを追いやられた後にNeXT社というコンピューターの製造販売を行う会社を立ち上げました。ジョブズはこの際に開発言語としてObjective-Cを選定しました。
具体的にはNeXTSTEPというObjective-CをベースにしたオペレーションシステムをNeXT社は開発したのですが、当時のオペレーションシステムでオブジェクト指向言語を採用することは非常に珍しく、ディズニー等の大企業にそのシステムが使われることになりました。
このNeXT社の成功はジョブズを追いやったApple社には無視できないものとなり、その後にNeXT社はAppleに買収されることになり、NeXT社のNeXTSTEPを元にしたオペレーションシステムであるMac OS Xが誕生しました。
この誕生はObjective-Cが誕生してから約20年後の出来事となり、このタイミングでObjective-Cは世間から注目されることになり、Macアプリの開発として開発者に使われることになり、その後の2007年にはObjective-C2.0の登場、2008年にはiOSアプリ開発言語に採用され、多くの開発者に愛される言語になりました。
現在、Objective-Cは主にMac OSのアプリ開発、iOSアプリ開発に使われています。皆さんも身近なところでObjective-Cで作られたアプリに触れているはずです。
最近だと、Swiftを用いたiOSアプリ開発が多いですが、依然Objective-Cで作られているiOSアプリもあります。
2017年では日本人スマホユーザーの68.6%がiPhoneを使っています。日本のApp Store利用は世界3位となっており、iOSアプリはかなり多くの人々に使われています。
転職で見ると、Webサービスをリリースしている企業もサービスのアプリ版を開発し始めるといった事例も多く、企業はこぞってiOSアプリを開発できるエンジニアを募集しています。また、既にリリースしているiOSアプリの改修や更新作業ができるエンジニアを募集している企業も多いです。
iOSアプリ開発では、基本的にSwiftとObjective-Cのどちらかが使われますが、求人比率としてはおおよそSwift:Objective-C=1:2となっており、Objective-Cの求人は多いことがわかります。
今回はプログラミング言語であるObjective-Cの歴史について見てきました。
Objective-Cが誕生した背景やその後の歴史についてなかなか興味深い話が多かったでしょう。
今回の内容をまとめると
となります。
プログラミング言語の歴史については様々な話があり、常に人々の手によって進化しています。Objective-Cもその言語の一つで、変化をしながらも従来の信頼度の高さは変わらずに、不動の地位になっています。
今回でObjective-Cに興味を持った方はまずObjective-Cを使ってみてください!
3つの質問に答えるだけで、フリーランスエンジニアとしての単価相場を算出します。 スキルやご経験にマッチする案件もあわせてご紹介いたしますので、気軽にご活用ください! ※単価相場の算出に個人情報の回答は必要ございません。