Objective-C/Smalltalk

クラシック・オブジェクト指向

 公園にあるオブジェをモノとして見るように、ボタン、テキストボックスなどをモノとしてデザインすることがオブジェクト指向と定義づけをする。ボタン、テキストボックスなどはクラスで実装する。そして動的にふるまう。型付けがない言語はランタイムエラーになる。動かして確認することがモノを扱うコツと考えるのが、クラシック・オブジェクト指向なんだろう。(自分ではクラシック・オブジェクト指向と表現しています。)

 グラフィック処理能力が低いときに、ボタン・テキストボックスなどのコントロールを求めすぎだったと思います。

 

 

 


Objective-C

USER INTERFACE GUIDELINES アジソンウェスレイ マニュアル
DEVELOPMENT TOOLS TECHNIQUES アジソンウェスレイ マニュアル
OPERATING SYSTEM SOFTWARE アジソンウェスレイ マニュアル
NETWORK AND SYSTEM ADMINISTRATION アジソンウェスレイ マニュアル

OBEJECT-ORIENTED PROGRAMING

AND THE OBJECTIVE C LANGUAGE

アジソンウェスレイ マニュアル
PROGURAMING INTERFACE SUMMARY アジソンウェスレイ マニュアル

ネクストガイドブック

NeXT GUIDE BOOK

SE SE編集部
The NeXT Book

アジソンウェスレイ

トッパン

B・ウェブスター

竹内清隆&プラン・ドゥグループ

Objective-Cオブジェクト指向のプログラミング

アジソンウェスレイ

トッパン

L・J・ピンソン/R・S・ウィナー

石川克己訳

オブジェクト指向のプログラミング

ソフトウェア開発技法の進化

アジソンウェスレイ

トッパン

B.J.コックス
NextSTEPプログラミング プレンティスホール

アレックス・D・ニュム

生田りえ子

PCユーザーのためのNEXTSTEP導入ガイド AI出版 本田雅一・寺本貴幸・長野由木雄
MacOSXプログラミング入門 Objective-C 広文社 荻原剛志
MacOS X Cocoa プログラミング 第3版 ピアソン・エデュケーション アーロン・ヒレガス/村上雅幸
OpenStep for Enterprise 毎日コミュニケーション

Nancy Craighill

椎名遥/酒匂雫

NeXTComputerをキャノンゼロワンショップで見たときは衝撃でした。本体価格は高価でとても手が出ないのでせめて本を購入して勉強しようと思いました。まだ、所持して本棚にある書籍一覧が上記のものです。いつか、NeXTSTEPを使ってみたいと思い、InterfaceBuilderでコーディングしたいと願っていました。ずっと「夢の途中」として置き放しのままでした。やがて、NextSoftwareがAppleに買収されて開発環境はMacOS XのCocoaになりました。MacOS X TigerのObjective-Cでコーディングしたときは、やっと「夢が叶った」と感動もありました。でも、自分としてはグレーの角張ったデザインがやっぱり良いと思い込んでいるので、「夢の続き」は「GNU Step」でやってみようと思っています。

Smalltalk

Little Smalltalk入門 アスキー出版局 Timothy Budd
オブジェクト指向プログラミング アスキー出版局 石塚圭樹/横手晴彦
オブジェクト指向入門 オーム社 酒井博敬/堀内 一

オブジェクト指向とSmalltalk

システム操作入門から信号処理への応用まで

CQ出版 小林史典

Smalltalk/Vによるオブジェクト指向プログラミング

日刊工業新聞社 加藤木和夫

Smalltalkベスト・プラクティクス

シンプル・デザインへの宝石集

ピアソン・エデュケーション ケント・ベック

Smalltalkで考えさせられるのは、OS・言語・ハードウェアがセットになっていることです。

メモリ管理は、OSがメモリ(ハードウェア)管理するものと役割分担が明確になっていました。

3つがセットになっていることも興味を惹くのですが、プログラミング言語として考えると、

・C++は、C言語でSimulaを実現した。

・Objective-Cは、C言語でSmalltalkを実現した。

別々のアプローチでおもしろいと思い、Smalltalkを勉強してみる気になりました。

 

SmalltalkのC言語版なので、Objective-Cは最初からオブジェクト指向が言語で実装されていました。

コックス氏の本で、ボタン、テキストボックスがオブジェクトの階層で表現されています。

結局は、「ウィンドウシステムのインターフェースが、イコールオブジェクト指向になる。」

それが判っただけでした。

本当は、Objective-C、Smalltalkどちらもあまり習得の勉強は進まなかった。

理由は、言語構造が旧くてObjective-Cについては、C言語特有のメモリ管理がついてまわりインテリジェンスでない。

メモリリークしないようにちゃんとPG設計をするものと言えばそれまでですが、タッチパネルのような扱いをするアプリ開発においては、もうついて行けていない感じがします。

・VisualStudioでは、C#

・Embarcaderoでは、C++Builder・Delphi

ターゲットになるプラットフォームを問わずアプリを開発できます。

実際、セミナーに参加して実感しました。

ただ、Delphiは名称で損をしているように思います。

DelphiでiPadの開発デモを見たりすると、なかなか良いと思いました。

Embarcadero Studioとかにすれば、もっと開発に使うユーザーも増えるだろうと思ったりします。

(EmbarcaderoJapanのホームぺージを確認したら、RAD Studioとありました。)

いずれにしても、Smalltalk、Objective-Cは過去のものだと実感しました。

 

iPad/iPhoneは、通信処理などハードウェアに依存する処理などは、Objective-Cが必要かもしれません。

私は、iPad/iPhoneの商用アプリの開発経験がないので詳しいことは知りません。

また、SmalltalkはVisual Worksでコーディング・実行できます。

 

マニュアルのイメージ