2007年10月29日月曜日

MacPortでSearch

MacPortをupdateして

bash-3.2# port search squeak
squeak lang/squeak 3.9 Full, portable, Smalltalk-80 system

Squeakでてきた.
UbuntuでもインストールaptでSqueakを見つけられるけどportでもあるなんて,すごい感動.

Squeakって3.9って結構見かけるようになってきたので,なんだかうれしいです.

2007年10月27日土曜日

Bag探索 その1

以前書いたMagmaにはMagmaCollectionというのがあり,それはどうやらBagのようなイメージ?を持っていればいいようだが,Bagについてあまりにもしらないので探索をしてみることにした.

Bagはcontentsというインスタンス変数を持っているようだがそれはどうやらDictionaryらしい.
つまりDictionaryを内部で使っているようだ.

Bagの代表的なmethodとしてはadd:,remove:があるが最近それがよくわからなくなっている.
使い方というより,仕組みがよくわからない.
ただ内部的にDictionaryを使っていて,どうやらobjectをkeyとして使っているよう?だ.

う〜ん,メモリのことや,参照?ということがよく分かっていない(だと思う)ためこのあたりがよく分からない.
考えてみたら「参照」ということがよくわからないとCollectionやシンボルも本当に理解できているといえない,ましてはオブジェクト指向そのものがわかっていないのではないか.

Cのポインタとかをもっとしっかり理解するべきかもしれない.
プログラムに対してあまりに初心者で焦ってはいるが,最近は何かもっと言語について知りたいが多くなってきただけいいとしよう.

LeopardでSqueak

どうでもいいことだと思いますが,一応メモ.

Mac OS X LeopardでSqueak3.9-7067mac vm 3.8.18beta1Uを使ってSqueakを起動.
問題なしに起動.
よかった.

最近すこしだけObjective-Cが気になっています.

Xcode3.0も入ったことなので,勉強してみるのもいいかもしれませんね.

MacやSmalltalkにとても関係があるようですし・・・.




それにしても僕のDockはいれすぎですね・・・.

2007年10月20日土曜日

Smalltalkだけに

Squeakの素晴らしさに感動している自分ですが,やはり他人からの批判的な?意見が多いです・・・.
「触ったこともないのに,よくもそう言えますね・・・」っと言いたくなります.

って愚痴はいいとして・・・.
以前書いたようにSqueakの実行速度に関して聞かれることがあったりするので,自分ではどのような計測ならいいのかわからなかったので,ある先輩(この人はすごいプログラマー)から教えてもらったサイトで調べてみることに.

Gentoo : Intel Pentium 4 Computer Language Shootout

速度に関してはやはり厳しいものがあるのかな.

僕としてはSqueakはイメージを形にするものとして考えているので,別に実行速度など別にいいかなと思っています.

sumimさんがレイトレースのプログラムを書いていたので,僕も今度実行してみよう.

レイトレースベンチを Squeak Smalltalk で



最近,ヤジを対抗ために卒研が終わり次第,Squeakについてもっといろいろ勉強しようと思っています.



だがまず卒研がいまいちうまくいっていない.
プログラミングの才能がないのかな・・・.
はぁ〜・・・.

速度とか,言語とかの問題よりまず何より使う人が問題だ(僕のことです).

VisualWorksを入れてみる

卒研やアルバイトに疲れたので,気晴らしを.
少し前にsumimさんのBlogにVisualWorksのインストールを紹介したサイトのリンクがあったので,インストールしてみました.

http://www.sra.co.jp/people/h-asaoka/study/VisualWorksInstall/

浅岡さんのサイトですね(日経ソフトウェアでみたことがあります.最近お金がないので買っていませんが・・・)

ちなみに僕はMacユーザなので,Mac版を入れてみました.
intelMacもきちんと対応されていますね.

GNU Smalltalkよりやっぱり使いやすい.
やっぱりSmalltalkは環境があってこそSmalltalkなんでしょうね.

直系Smalltalkとのことなので,わくわくします.

ところで日本語は入力できるみたいだけど,何かおかしいです.
う〜ん,よくわかりません.

調べるのはまたにしよう.


VisualWorksを入れるときに思ったのですが,Macの場合X11のVMと普通のVMだと実行速度とか変わるのだろうか.
SqueakもいろいろVMがあるようですが,もしかしたらVMの違いで僕のSqueakは激変するのでしょうか.

VMはぜんぜん詳しくないので,困ったものです.
もっといろいろなことを勉強しないと.(言語そのものもそうだけど,Computer全体に関することも)

2007年10月18日木曜日

GNU Smalltalk

コマンドラインで使える?Smalltalk,GNU Smalltalkを入れてみました.

インストールはたぶん成功.
gstと入力するだけで起動しますが,readlineが使えないと困るのでrlwrapを使いながら起動.

rlwrap gst

GNU Smalltalk ready

st>

なんとか起動完了.

st> 1 + 2 !
3

!はオブジェクトにメッセージを送るために使うみたい.

st> 1 + 2
st> + 3 !
6

なるほど.

代入を・・・

st> x := 1 !
stdin:1: assignment to undeclared variable x

できない.
ならば,一時変数を宣言して
st> |x |
st> x := 1 !
1

できました.一時変数でなくする方法はないのかなとチュートリアルをちょっとみたら.

st> Smalltalk at: #x put: 0!

これを実行すると使えるみたい.

st> Smalltalk at: #x put: 0!
0
st> x := 1 !
1
st>

よくよく見ているとSmalltalkにxを登録しているってこと?
Workspaceがないから仕方がないのかな?

コマンドラインでSmalltalkが書けたらいいなと思って入れてみましたが,Squeakの環境になれているためかやはり違和感が・・・.


Bloggerは好きですけど,プログラミングメモとしてはちょっと使いづらいのかな?
CSSで囲むように宣言するのもいいけど,う〜ん.


GNU Smalltalk

2007年10月14日日曜日

今のSmalltalkは?

Smalltalkは有名なパロアルト研究所でSmalltalk-72,76,80という感じで生まれたのは少しだけ知っていますが,結局今そのSmalltalkは現在どれが正当なる継承者なんでしょうか.

調べる方法がないので,まずはWikipediaでSmalltalkだけでどれだけあるか調べてみることに・・・

* Smalltalk-80
* ObjectWorks
* VisualWorks
* Squeak
* Dolphin Smalltalk
* Smalltalk/V
* Smalltalk Express
* Smalltalk/X
* VisualAge Smalltalk
* Concurrent Smalltalk
* Smalltalk MT
* Distributed Smalltalk
* Little Smalltalk
* GNU Smalltalk
* SmallScript (S#)
* #Smalltalk
* Strongtalk
* PIC/Smalltalk
* Smalltalk/JVM
* Self 4.0 Smalltalk System
* Smalltalk 72 for Squeak
* Ambrai Smalltalk

この中で知っているのはSqueak,Visual Works,Ambrai Smalltalkぐらいでしょうか.
有名なものにGNU Smalltalkがあることは知っていますが,僕はみたことがありません.

Squeakは僕の今必須アイテムで,Visual Worksはときどき読む日経ソフトウェアで見かけます.
Ambrai SmalltalkはMacなSmalltalkとして以前インストールしたのですが,評価版なのでもう使えません.

これをみているとなんだか全てのSmalltalkの関係を分かりやすく図で表して欲しい物です.

これから少しずつ調べて書いていこうと思います.

全てをSqueak Smalltalkにするには?

Squeakに初めて出会ったとき,これさえあれば全てSqueakで実現できると思いました.

僕がやりたいことは全てSqueakがかなえてくれるだろうと.

大学ではC,Javaを少し学びましたが,お馬鹿な僕には・・・.
今考えるとそのままCとJavaだけだったらとても大学院へいこうとは思わなかったでしょう.

大学院でもSqueakは使っていこうと思いますが,最近ちょっと心配なことが.

実行速度?のことをよく聞かれますが,Squeakは果たして他の言語と比べるとどうなんでしょうか?
遅いとか聞きますが,実際どうなんでしょうね.(僕がたいしたことをやっていない証拠かもw)

僕としてはSqueak Smalltalkから離れたくないので・・・.

う〜ん,僕にとってはどうでもいいのに,周りからいわれると・・・.

仕方がないので,調べてみたいと思います.
さてどうやって調べましょうね.


最後にsumimさんがSqueak Smalltalkと書いているので,僕もまねさせていただきました.

2007年10月6日土曜日

OSC2007 fall 二日目

昨日はすごいいろいろな話ができました.
お昼をとる時間を忘れてしまうぐらい,いろいろ話したり,セミナーを受けました.

利用者側からの話や技術的な話.

ちょっとうれしいのが,Firefoxのシールとかグッズとかも貰えました.(昨日は企業がなので・・)

今日もがんばるぞ.←何をだ?

詳細はまた後ほど.

オープンソース・コミュニティ
http://itpro.nikkeibp.co.jp/article/NEWS/20071005/283949/?ST=oss

2007年10月5日金曜日

OSC2007 fallへ

ただいま東京へ到着.

今日は仕事ではなく,OSC(オープンソースカンファレンス)2007へ参加するため.
オープンソースのプログラミング言語の最新情報を勉強したいと思います.

また報告はのちほど.