【プログラミング言語】Objective-C

当ページのリンクには広告が含まれています。

こんにちは、KiYOです。

システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。

新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。

KiYO
KiYO

今回はObjective-Cについて紹介します。

Cにオブジェクト指向を足したiOS/macOS向け言語です。

この記事でわかる事
  • Objective-Cの特徴
  • Objective-Cの歴史
  • Objective-Cの利用シーン

今回はこの本を参考に、私の独断と偏見で記事を書いています。

言語を5点中評価

容易性容易に言語習得できるか?
将来性将来性があるか?1.5
普及度普及しているか?
保守性保守性が高いか?
中毒性ハマるか?
12.5
目次

Objective-Cの特徴

macOS/iPhoneアプリ開発で活躍したCの亜種言語になります。

言語の特徴
  • Cをベースにしつつ、Smalltalkのようなオブジェクト指向機能を持たせた言語
  • Swiftと並ぶmacOS/iOSの公式開発言語の一つ
  • C言語にオブジェクト指向を持たせたものにC++があるが方向性が違う
    C++は広いプラットフォームで使用
    Objective-CはmacOS/iOS向けで使用

Swiftに置き換わっていく可能性が高い

Objective-Cの歴史

開発者Brad Cox(ブラッド・コックス)、Tom Love(トム・ラブ)、Apple
誕生2002年4月 C#1.0リリース
公式サイト(Wiki)https://ja.wikipedia.org/wiki/Objective-C
分類静的型付け、オブジェクト指向、手続き型
影響を受けた言語Smalltalk
C
影響を与えた言語Java
Swift
Groovy

言語の歴史

1980年台前半Brad CoxとTom LoveはObjective-Cを開発
1985年Appleを辞めたSteve JobsがNeXTを立ち上げ、Objective-Cに注目し、アプリ開発に採用
1988年NeXTにObjective-Cの開発を主導
1997年AppleがNeXTを買収。Apple製品のための中核的な言語となる
2001年Mac OS Xのコア言語として採用
2020年Swiftの台頭とともに利用が減っている
C++とObjective-C
  • Objective-CはC言語にマクロ的な拡張でオブジェクト指向が取り入れられたもの
  • C++もオブジェクト指向言語だが、方向性はだいぶ違う。文法的にも隔たりがある。
  • Objective-CはARCと呼ばれるメモリ管理を言語レベルで導入でき、C /C++とはメモリ管理に関する戦略なども異なる。
Cocoa
  • CocoaはmacOS向けのアプリ開発フレームワーク
  • デスクトップ向けのGUI開発を効率化
  • CocoaとObjective-Cの組み合わせがかつては定番だった
  • CocoaもNeXTSTEPの影響を強く受けている
NeXTSTEP
  • NeXTSTEPはObjective-Cを全面的に用いて開発されたOS
  • 商業的には失敗したが、その革新的なUIは、のちに登場したソフトやOSに大きく影響
  • macOSやiOSは技術的にNeXTSTEPの影響を強く受けている(Apple製品の先祖とも言える存在)
コラム

Objective-Cのオブジェクト指向は、C++やJavaと異なり、メソッドの定義と呼び出しが独特です。「@…」や「[…]」のような記述することになっているので、Cの経験さえあればある程度はわかりやすいと言えます。

Objective-Cの利用シーン

iPhone/iPadなどのiOSやmacOSのアプリを開発するのに利用されます。現在、Appleは新言語のSwiftにも注力しており、Objective-CとSwiftのプログラム共存できるようになっています。

Objective-CとSmalltalk
  • Objective-Cの独特のオブジェクト指向はSmalltalkからの影響が多い
  • Smalltalkはメッセージ中心のオブジェクト指向言語
  • オブジェクト指向とはいってもC++やJavaとはだいぶ雰囲気が違う

まとめ:apple製品の原型を作ってきたのはObjective-C

今回はObjective-Cについて解説しました。

Steve JobsがAppleを去り、NeXTを立ち上げた時に全面的に取り入れた言語だったんですね。歴史を感じます。

Objective-Cの必要性
  • macOS/iPhoneのアプリ開発で使用
  • C言語を把握している方は入りやすい(オブジェクト指向だが独特な記述あり)
  • 現在のmacOSやiOSの原型となるNeXTSTEPというOSに全面的に使用されていた実績

やりたいことを実現するために、Objective-Cの使い方をマスタしましょう。

何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!

以上です。KiYOでした!

今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になりました。

Udemyというオンライン講座でもプログラミング学習はできます。 再生速度を早めてみたり、何度も見返すことができるのでおすすめです! 私も色々なプログラムをここで学習しています。

[affi id=2]

まとめページで、他のプログラミングも紹介していますので、ご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITの事や自分の経験談など綴っていきたいと思っています。

コメント

コメントする

CAPTCHA


目次