トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン


スタッフ紹介
TSpythonへGO!

Pythonへの道

 前にどっかで書いたかもしれないけど・・・

 私がPythonにはまったのは、そんなに昔じゃないです。

 大学生時代にポケコンでBASICをいじりだしたのがプログラムの最初で、その次は廉価なMSX2で、やっぱりBASIC。

 で、しばらくMacのHyperCard(HyperTalk)で遊んだ後、DOS/Vに移行したあたりからハードウェアコントロールに興味を持ってAssemblerあたりをいじってました。

 Cは何度かやって挫折してましたが、K&R本でなんとか基本概念を押さえて、なんとなく書けるようになったのはこの頃だと思います。

 前後して、AWKやPascalなんかを使い出したのもこの頃。

 しかし、さらに欲を出してC++に挑戦するも何度も玉砕。

 ところが、なんかのきっかけでJavaを書いて、で、JavaからC++に戻ると、強制的にJavaでクラスに馴染まされたこともあって、結構簡単に理解できました(ちなみに、C++と同時期にPerlにも手を出していたのですが、玉砕。以降、未だ書けません。そーいやRubyにも手を出した覚えがありますが、あのころは説明ドキュメントがぜんぜん理解できなくて玉砕。こっちも未だ書けません)

 で、しばらくJava一色だったのですが、たしかDDJ日本語版(もう今は無いか)で、Javaのスクリプト言語としてJPython(現Jython)が紹介されていて、処理系を手に入れようとしたのだけど、その時期はInternet環境が不十分で手に入らず、しばらく捨て置かれました。

 ・・・今思い返して見ると、Pythonを改めて見直したきっかけは、多分図書館で借りてきた「オブジェクト指向言語」・・・だったかな、書名忘れちゃった・・・を借りて読んだこと。

 オブジェクト指向言語としてC++と双璧のSmalltalk(←コレが元祖だとも言えるけど、イロイロあるので控え目に)のコードを見て、「型が無い」言語の面白さを実感しました。

 んで、とりあえず身近にあるJavaScriptを書き出したのですが、classをfunctionで指定する気持ち悪さと、継承できない面倒くささがあいまって(Java→C++を使ってると、継承が無いのは耐えられない)他の言語を探してたところ、Pythonが目に付いた、ということです。

※この前後の記憶があいまいで、なぜPythonになったのかは、未だに謎です。

 最初のOREILLY刊の「Python入門」の分冊の最初を買って少し書いたものの、GUIについての説明が無く、しばらくtcl/tkで遊んだりとかなり寄り道しましたが、何度か書いてるうちにPythonに慣れてしまい、現在では頭の中のプロトタイピングは全てPythonになってしまっています。

 しかし、こうやって改めて書いてみると、なぜPythonになったのかは謎ですね・・・Python(ピュトーン)て、巫女に霊感を授ける神みたいな大蛇だったらしいので、もしかしたら電波かな?

Python関連で、今いじってるもの・・・

Squeak!

Python以外の関心事は、なんといってもSqueakです。現代によみがえったSmalltalk-80、なんてフレーズは全然似合いません。まさしく寄生型超OS! JavaがVM(仮想機械)なのに対し、Squeakは完全にOSです。でもって「子供の玩具」とバカにしていたeToyの凄まじいこと・・・PowerPointなんかよりよほど直感的にプレゼン用画面とか作れてしまいます。例によって、目を付けたのはかなり早い時期ですが、今頃になってはまっています。
不満は、コマンドシェルが無いこととPythonが動かないこと・・・Smalltalkerがシェルを軽んじるのは当然だけど、シェル利用が染み付いている身としてはやっぱ欲しいです。 (Workspaceだけではちと不満・・・)

[いやいや。そりゃ、Smalltalk-80 を見くびりすぎってもんですぜ...w --sumim]

[Squeak システム内で Python を使えさえすればいいのであれば OSProcess ってのがあります。追記:よく確かめたら、Win には未だ十分な対応をされていないようでした。機械さんは Win でしたよね。もしすでにお試しで、ノーティファイア(ピンクのウインドウ)の嵐に困惑しておられたら、ごめんなさい。--sumim]

[いや、OSProcessはしらべましたけど・・・インストールも実行も面倒そう(コマンドシェルとはなんだか雰囲気違うし)なので「これならWinに戻った方がマシぢゃいっ! とあきらめました(実際、Squeakにこだわらなきゃ問題無いし・・・)ちなみに私はWinとMacがメインでLinuxが触る程度です。--機械]

eToyとHyperCard

上にも少し書きましたが、私がプライベートなアプリケーションを書き出したのは、MacintoshのHyperCardという環境があったからです。

HyperCardは、非常に簡単な操作で手軽に「実用的な*1」アプリケーションを作ることのできるすばらしい環境です。

しかし、いかんせん古いシステムなので、その表現力については今見るとやや貧弱であると認めざるをえません。

ただ、HyperCardより表現力の高いシステムはその後沢山現れましたが、HyperCardより「手軽な」システムというのはなかなか現れませんでした。

eToyは(私が知る限り)タイルスクリプティングという方式をとることによって、「ある意味」HyperCardより手軽にアプリケーション作成が出来る初めてのシステムと言えるでしょう。

eToyはフレンドリーな見かけと異なり、かなり深いシステムなので、その実力を簡単に計り知ることはできませんが、私にとって重要なことは、HyperCardのような気楽なアプリケーション作成環境をもう一度(それも、Mac,Win,Unixで共用の)手に入れた、ということです。

往来のスタック作者の方は、もしまだ触れていないのなら、ぜひSqueakのStackMorphを触ってみてください(あの懐かしい感覚に再び出会えます)

HyperCard復活なるか、MetaCardが往く!

HyperCardライクな開発環境で、しかもマルチプラットフォームのMetaCardを、少し調べ始めました。表現は上々、ただ、日本語がやっぱ弱いなぁ〜(困)


*1 実用的、というよりは「作った実感がある」と言った方がいいかもしれませんね