ラベル Smalltalk の投稿を表示しています。 すべての投稿を表示
ラベル Smalltalk の投稿を表示しています。 すべての投稿を表示

2008年9月1日月曜日

seaBreeze

umejavaさんの[Seaside] seaBreeze for Seasideより
http://ani.blueplane.jp/ume/130

最近,研究がまとまっていないので,Webブラウザ上からWebを開発できるアプリでも開発・研究をしてみようかなって思っていたのですが,もうすでに開発されているんですね.
やっぱり世の中同じことを考える人は多いようです.
(ただ,僕の場合プログラミング技術と知識がないから,これほどのものを超えるのは相当難しいだろうな・・・)

それにしてもSmalltalkerってほんとうにパワフルだなって思います.

2008年8月21日木曜日

円周率

C言語のMath.hに定義されている円周率は

#define M_PI 3.14159265358979323846264338327950288



となっている.

Squeak Smalltalkでは

Float pi ==> 3.141592653589793



VisualWorksだと

Float pi ==> 3.14159

Double pi ==>3.1415926535898d



DoubleというのはVisualWorksしかないクラスのようだ.

すこし分からないのが,Squeak SmalltalkのFloat piは3.14159265358979323846264338327950288と定義されているのだが,print itではきちんと表示されない.
何か別の方法を探さないといけないようだ.

時間がないので,またあとで.

2008年7月30日水曜日

BlackBookを読んで

BlackBookを読んでいたら,Smalltalkイディオムが欲しくなってしまいました.

イディオムはWebでも見れますが,やはり紙で読むというのはとても効率がいい勉強ができる気がします.




2008年7月7日月曜日

Squeak Smalltalk

sumimさんの日記により

Squeak は、Squeak Etoys なのか Squeak Smalltalk なのか区別しましょう

Etoys本がでるのはいいのですが,それがSqueakの全てと誤解されることが多く悲しい限りです.
というか最近人と話していると

Smalltalk > Etoys > Squeak Smalltalk

って感じの知名度のようです.
これは問題ありかなっと思ってしまいます.
Smalltalk by Exampleみたいな本が日本でもでればいいのかな?

青木さんのSmalltalk本がもうじきでますが,新しいSqueak Smalltalk本もでるといいかも.
(梅澤さんのSqueak自由自在はとてもすばらしい本だと思っています)

Smalltalk by Example本を訳したサイトでも作ればいいのか.
まとめサイトを作ってみようかな.(問題は僕のSmalltalkの能力と文書力と英語力.とほほ・・・)

2008年7月5日土曜日

Smalltalk本

ついに予約が開始されました.
青木さんが書かれているSmalltalk本です.
欲しいです!

これは絶対買わないといけませんね.
最近お金がないのですが,必要経費としますw

「ブラックブック」いいですね.



2008年6月20日金曜日

GNU Smalltalk と Seaside

いつの間にかGNU SmalltalkでもSeasideが対応しているみたいです.
夏休みにでも使ってみて調子がよければ,使ってみようと思います.

GNU Smalltalk

2007年11月25日日曜日

オブジェクト指向をもう一度勉強する

オブジェクト指向をもう一度勉強したいと思います.

なんとなくから,しっかりとした知識にしたいそう思っているのに実行できない.
無理をしてでも,やってみよう.

ちょっと個人的な用でJavaも勉強することになった.
Squeak Smalltalk,Javaを使いながらもう一度OOLを考えていきたい.

まずは計画.

2007年11月23日金曜日

VisualWorksの謎 [その2] の答え

前回まで書いていた謎について,紹介してあるブログを発見.

名前空間 - VisualWorks

やはり名前空間のようです.
詳しくは紹介したサイトに書いています.
ただ途中から僕のレベルでは途中からちょっと分からなくなりました.

VisualWorksをよく分からないうちに新しいことを学ぶからでしょう.
もうちょっとスキルがついたら読もうと思います.
オブジェクト指向も最初は難しいと思いましたが,今ではSqueakのおかげで普通に使えます.(むしろ他の言語はもう忘れて・・・w)

やっぱりSmalltakは楽しい.

2007年11月17日土曜日

VisualWorksの謎 [その2]

VisualWorksも使ってみたい!ということでダウンロードしたのはいいのですが,Squeak Smalltalkとはやはりちょっと違う様子.

VisualWorksのクラス定義はCore.Timeは

Smalltalk.Core defineClass: #Time
superclass: #{Core.Magnitude}
indexedType: #none
private: false
instanceVariableNames: 'hours minutes seconds '
classInstanceVariableNames: ''
imports: ''
category: 'Magnitude-General'

となっていた.

Squeak Smalltalkのように

Magnitude subclass: #Time
instanceVariableNames: 'seconds nanos'
classVariableNames: ''
poolDictionaries: 'ChronologyConstants'
category: 'Kernel-Chronology'

ではない.

う〜ん名前空間みたいなのがあるようですね・・・.
プール辞書がない?,privateみたいなものが存在しています(これはJavaのあれなのか?).

Squeakの親戚といっていても,似ているようで似ていないのかな.

おとなしくSqueakだけにしようかな.

2007年11月16日金曜日

VisualWorks謎

Seasideを入れたあと,Timeクラスを使おうとしたらReplace画面が表示された.

Core.Time dateAndTime

としないといけなくなってしまった.
このCoreはどういう意味なんだろう.




さて今日ももう寝なければ・・・.

VisualWorksにSeaside

sumim'sさんにVisualWorksについて教えていただいてから(今のSmalltalkは? - 参考),すごくVisualWorksが気になっています.

前回入れたVisualWorksにSeasideを入れても見ました.
Public RepositoryからSeasideWebforKitをloadで完了.

SeasideのSample codeとして含まれているalltest内のlinkを実行.
おお!何か早い.
Seaside2.8ということもあるかもしれませんが,すごくいい反応です.
Squeakでやるのはもちろんですが,こちらもいいですね.

春休みにVisualWorksで何か作ってみるとのいいかもしれません.

2007年11月15日木曜日

パッケージをネットワークから取得する言語

VisualWorksのPublic Repository,Squeak SmalltalkのSqueakMapを見ていると,本当に僕みたいな人にはありがたいと思います.

RubyもGemsがあって便利ですが,僕にはこちらの方がいいですね.
なんだかんだ言って,僕もやはりGUI世代なんでしょうね・・・.


それにしてもRubyは春以来勉強していないので,ほとんど忘れてしまいました.
やっぱりSqueak Smalltalkを見ているとこちらの方が落ち着くので,結局卒研もそちらなのですが,やはり他の言語も書けないと世の中に通じないのかなって思ってしまいます.

もっとSmalltalkを理解するためにLisp,Haskellかな.
それともやはりJavaかC++をやるべきだろうか.

Pythonというのもいいのですが,やはり僕の今の能力だとたくさんの言語を学べる力がないのでどれかに絞りたいと思っています.

それにしてもプログラミング言語というのは本当に面白いですね.可能であれば全部知りたい.

2007年11月12日月曜日

Transcript

先日の丸めを再び調べ始めているのですが(う〜ん,よくわからない・・・),ちょっと本当の親戚VisualWorksを使ってみたのですが,そのとき気がついたのがTranscirptがSqueakと少し違うようです.

Squeakは例えば
Transcript cr;show:1.

で引数にobjectを取れるのですが,
VisualWorksはStringのみみたいです.

Transcript cr;show:1. "error!!"

VisualWorksでSqueakみたいにTranscriptを使うには

Transcript cr;printOn:1.

でよさそうです.
他の方法としてはSpTranscript>>(class)show:でもよさそうです.

SqueakはTranscriptはTranscriptStreamでできているようですが,VisualWorksはTextCollectorでできているみたいです.

ちなみにSqueakのTranscriptStream>>show:のコメントには

"TextCollector compatibility"

と書いてあります.
いつもお世話になっているmethodですが,こうやって見てみると面白いですね.

Squeakの直感的な感じもいいですが,VisualWorksの豊富なClassたちも魅力的ですね.

言語を作る人ってやっぱりすごいなと思います.

さて丸めを調査しないと・・・.

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年8月29日水曜日

Smalltalkを死なせない2

Smalltalkを死なせないためにはSmalltalkについてもっと知らないといけないことを今気がついた自分・・・.

そもそもSmalltalk自体は僕が生まれる前に誕生した言語であり,最終形態?のSmalltalk-80も僕はまったく知らない・・・.

知らないことばかりだ.
そもそもSqueakに出会ったのは大学3年生の春.(現在4年)

Smalltalkについて知らないことばかり・・・.
Smalltalkの資料は大学にもほとんどないし,ほぼ英語ばかり.
英語がわからない僕にはちょっとつらい.

まぁ多少の苦労は仕方ないとして,妙にいろいろ調べたくなりました.

そういえば,ここはプログラミングメモなのに普通に記事を書いている・・・.
まぁいいか.

Smalltalkは死なせない

最近sumimさんのBlogを読んで,Smalltalkを死なせるような人がいることを知った.

これは僕の意見ですが,言語(プログラミング言語だけではなく人間の言語)はそれを使う人(話す人)がいなくなったら死んだといえると思う.
ただ僕は死んだという表現は好きではない.
死んだという表現使うより「古き言葉」として扱えばいいと思う.

とにかく悲しいものです.

というかSqueakがあるのでSmalltakは死んでいないのでは?と思える.(SqueakはSmalltalkであってSmalltalkではないと思っている方がいましたら失礼.未熟な学生の意見として聞き流してください)

ちなみにSqueakは大学院生になっても使いますし,今後も使う予定.
まぁ僕が60歳までいきるとして,僕の意見によるとあと39年は「死んだ言語」といえないですね.

人は自分の経験とか意見と異なるものを嫌う性質があるようなので,そういう性質が死んだとかいう発言になるんでしょうね.プログラミング言語も宗教に近いものなのかな?

最後は無視していただいて,Smalltalkはまだ死んでいないという結論に僕はしたいです.


[Smalltalk] この教授には Smalltalk を本当に理解することなど永久に不可能かも…(追記あり)
[Smalltalk] なぜかくも人は Smalltalk を殺したがるのか?
[Smalltalk] Smalltalk は死につつある…とかってバカじゃね?CommentsAdd Star