Objective-Cとは、C言語をベースにSmalltalk言語のオブジェクト指向を取り入れた言語である。
開発者はBrad CoxとTom Love。C言語の上にSmalltalk風インタプリタを乗っけただけという、非常に直球な設計をしている。C同様気をつけないと危ない言語なのだが、変に煩雑な安全装置を付けるよりは、これぐらい割りきった作りの方がいいのかもしれない。分かって使う分にはとても便利なので、ハック魂のある人には割と好かれている。
二人はこれで言語ベンチャーを立ち上げるも、大ヒットしたという話は特にないよう。そのまま行けば埋もれた言語で終ったのだろうが、新興企業のNeXTがライセンスを取った事で、潜在能力の高さだけは世に普く知られるようになった。
NeXTがAppleに買収された後は、Carbonに代わってMacintosh(Mac OS X)のCocoa、iPhone OS(現:iOS)のCocoa Touchのフレームワークの主力言語として使われている。なんというか、20年遅れて春が来た感じである。
C言語の完全上位互換なのでC言語的な記述も許されている。オブジェクトシステムが動的であることが特徴。「Objective」な部分は向き不向きがかなりハッキリしており、大まかな内容をざっくり書くには非常に便利な反面、細かいチューニングを行うにはパフォーマンス的にも記法的にも全く向かない。そういう部分はCかC++で書いて「Objectiveなグルー」を書くのが粋なスタイルである。ヘンテコな最適化技法も多く、ハマると結構奥が深かったりする。プログラマに出来ることは制限しない!
最近Objective-C2.0として近代化し、ガベージコレクションが付いたりC#風のプロパティが付いたりした。
でもiPhone OSではリソース制限が厳しいのでAutoreleaseで解放をする。
最新版ではAutomatic Reference Countingという怪しさ満点の拡張が施され、参照カウントなんだけどGCチック(でも命名規約は守ってね!)な変態言語に。それどころか10.8でガベージコレクションが廃止されるという斜め上の展開である(そんな言語Objective-Cだけだろう)。Appleがコンパイラに投資した結果がこれだよ!
Interface BuilderではNSButtonをAppControllerのアクションに接続、NSTextFieldをAppControllerのtextFieldアウトレットに接続
掲示板
18 ななしのよっしん
2022/12/28(水) 13:03:48 ID: f2h8q8QYbe
19 ななしのよっしん
2023/01/10(火) 02:23:03 ID: f2h8q8QYbe
JavaやC#で飼い慣らされてると思うのは勝手だが、世の中はそのくらい当たり前にできる言語はゴロゴロ存在することは知っておくべきだな。Appleに飼い慣らされてる信者どもは。
20 ななしのよっしん
2024/05/14(火) 22:27:19 ID: f2h8q8QYbe
もう救いようがねぇわ
https://
https://
急上昇ワード改
最終更新:2025/04/16(水) 12:00
最終更新:2025/04/16(水) 12:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。