C言語とObj-C

小噺

世界の4大文明は、水と肥沃な大地がある大河流域に発生しています。
これらの文明は、農耕を基礎として、統治組織を持ちました。農作による富の蓄積、その富を使い灌漑工事を始めとする大規模土木工事による農地整備、再投資が生産を拡大する構造があります。大規模な土木工事には、強力な統治機構がなければ、実現できません。
いまどきの資本主義も、本質、構造として、同じものです。その構造は、大規模なものから小規模なものまで規模の大小はありますが、本質、同じです。そのなかで支配階層は他者を受け入れにくいです。求職活動をするときは、そのあたりを考慮していきましょう。

C言語、その歴史と意味

大昔、機械語で開発していました。それを超効率的に人間が理解しやすく書けるようにしたものが、C言語というプログラミング言語です。機械語に対して、高級言語と呼ばれたりします。
C言語を実行できる機械語に変換するソフトウェアを、コンパイラと呼びます。
C言語の概念は、広大なメモ帳と、計算機があり、その計算の実行順番と、メモ帳のどの場所にどのような値を書き残すかを指定していくことです。
C言語は、機械語で書けるものを、とても効率的に書くことができます。ですが、例えば、10文字分しか確保されていない文字配列に11文字を書き込んでしまい、隣接メモリ領域を”意図せずに”破壊できるなど、機械語での開発で生じるミスも、そのまま再現する可能性があります。
また膨大な数の関数をどう使うかを覚えておかないといけません。

オブジェクト指向

小学校で、1+1=2を林檎に例えて教えたと思います。ですが、1も+(足す)も数学体系で、林檎を数えるのは、その応用例似すぎません。目の前にあるもの、それまでの経験で、例えで教えることは、”わかったつもり”の状態にすることは容易いですが、”わかったつもり”でしかなく、20歳を超えたいまとなっては、そこに意味はありません。

オブジェクトを、林檎などに例えることはしません。

Objective-Cは、C言語を、オブジェクトという考えが使えるように拡張したものです。
”クラス”という概念があります。クラスは、変数とメソッドの宣言の塊です。変数は、プライペートなものとパブリックなものがあります。プライペートな変数は、クラス内部で処理をするためにだけ使うもので、外部から読み書きはできません。パブリックな変数は、クラスが外部に何かを知らせる、あるいは外部から動作を指定するために、そのクラスが外部に公開しているものです。

クラスをメモリに実体化したものを、インスタンスといいます。

MVCモデル

省略

Delegate(デリゲート)

省略

ノート




白板