Objective-Cの歴史とルーツを辿る|背景を知ってObjective-Cを深く理解しよう

入門

Objective-Cの歴史とルーツを辿る|背景を知ってObjective-Cを深く理解しよう

更新日時:

tech29

こんにちは!テクスタブログです!

IT業界に働いている方やプログラミングに興味がある方なら、1度は耳にしたことがあるであろう「Objective-C」。スティーブ・ジョブスがOS開発に用いたことで知られており、近年ではiOSアプリの開発でも使われ一躍脚光を浴びた、プログラミング言語の1種です。

名前の通りC言語にオブジェクト指向を組み込んだもので、ブラッド・J・コックスという人物によって開発されました。iPhoneのアプリ開発のために学ぶ人が増えたこの言語ですが、実はプログラミング言語としては相当古い歴史を持っています。

今回はこのObjective-Cが出来て現在に至るまでの歴史や背景を学んでいきましょう。歴史を知ることで、Objective-Cの新たな一面が見えてくるかもしれませんよ!

そもそもObjective-Cとは

Objective-Cは、1983年に生まれた、C言語にオブジェクト指向を組み込んだもの(正確には、そうしやすいようにマクロ的な拡張を行った言語)です。

Cとは同じ年に作られました。まだRubyやPythonはおろか、Javaすら生まれていません。Objective-Cは、C言語に世界初のオブジェクト指向プログラミング言語であるSmalltalkを組みあわせることで作られており、その構造から「Smalltalkの書けるC言語」と言われる事もあります。

Objective-Cの内容は、制御文や基本的な文法はC言語準拠のまま、そこにSmalltalkから持ってきたオブジェクトシステムがくっついたものです。この構造から、Cとオブジェクトの記述を混在させることができ、取り回しやコストパフォーマンスに優れ、使い勝手が非常に優れています。

何故この2つの組み合わせだったのでしょうか?C言語は、当時丁度はやり始めた頃で、様々なプログラマーが開発していたので、その流れの一環だったと言えます。Smalltalkに関しては、そもそもSmalltalkは世界初のオブジェクト指向プログラミングであり、後に続く言語の手本ともされています。だから、「当時のメジャー言語にオブジェクト指向を持たせてみる」という流れになると、この2つが挙がるのは当然とも言えたのでしょう。開発にあたって目標とされていたのは、「C言語のメモリ安全性とSmallTalkのスピードを合わせた言語」です。

Objective-Cの誕生と認知までの歴史

1983年にObjective-Cが開発された当初、この言語は開発者たちの努力もむなしく、マイナーな一言語としてプログラミングの歴史の中に埋没していました。

スティーブ・ジョブスがアップルコンピュータを辞めてNeXT社を立ち上げた際、開発言語としてObjective-Cが用いられるとことになりました。更に1995年には、ブラッド・J・コックスからObjective-Cの商標等を買い取られることとなります。NeXT社で作られたコンピュータは当時のユーザーの間で注目されましたが、Objective-C自体が世間で日の目を浴びることとなったのはこの後のことです。

その後、自社でのOS開発に行き詰まったアップル社が、NeXT社を買収します。その際に、NeXT社が開発していた「NeXTSTEP」というOSがアップル社の時期OSとして採用されることになりました。NeXTSTEPの開発言語であったObjective-Cの権利も、同時にアップル社に移行。ここでようやくObjective-Cは有名になるのです。この時、2002年。誕生から約20年近くが経った頃のことでした。

現在のObjective-C

上記のような歴史を経て、Objective-Cはその名を馳せたわけですが、それでもMacOSの実質的な専用言語というイメージが、一般的には強く根付いていました。言語仕様も公開されましたが、万人に使われる言語となったわけではありません。

そんな状態だったObjective-Cが、2000年代後半になってから一気に人気が爆発したのは、iPhoneの登場が理由です。Macと同じくアップル社によって開発されたiOSは、そのプログラムにObjective-Cを使用しています。となれば、アプリを作るために必然的にObjective-Cを学ぶ必要があるわけです。

終わりに

いかがでしたでしょうか? 以上がObjective-Cという言語がたどった歴史となります。

この文を書いている2016年4月現在では、iOSアプリ開発において、SwiftなどObjective-C以外の言語も登場しました。しかし、そうした言語はまだ開発途上であり、Objective-Cに頼る場面は数多くあります。決して、歴史に埋もれていっているような古びたものではないのです。

関連タグ

アクセスランキング

《最大6つの質問で診断完了!》
Facebook Messenger
経由で
あなたにマッチした転職を診断します。

今スグ診断(無料)

《最大6つの質問で診断完了!》
Facebook Messenger
経由で
あなたにマッチした転職を診断します。

今スグ診断(無料)