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

4/01/2009

SmallTalk R4.1

Smalltalkにはいろいろな種類がありますが,SqueakのMLを読んでいたら,SmallTalk R4.1というのがあるそうです.

サイトの内容を引用すると

  • Rubyばりにpが使える。デバッグに最適
  • PHPのようにGOTOをサポート
  • JavaのごとくFinalクラスをサポート
  • Eiffelのようにaliasが使える!?
  • C++にあまり似ていないfriendメソッドが使える。enemyメソッドも使える!
  • 31個までのwith:のサポート
  • 組み込みのsingletonメソッド
  • ビルトインのフィボナッチベンチ用メソッド


ダウンロードするしかない!
SmallTalk R4.1 - http://smalltalk.smalltalk-users.jp/

サイトの画像が,先日書いたiPod shuffleの写真というのが,いいw

人気blogランキングへ

3/22/2009

新iPod shuffleについて気になること

Apple.comで新iPod shuffleを紹介するTOPページ.

相変わらず,かっこいいですが,それより気になることがあります.

Small talk

つなげるとSmalltalk.

small talkっておしゃべりっていう意味で,新iPod shuffleが話すといういみで,
変ではないのですが,どうしてもプログラミング言語が思いついてしまいます.

言語のSmalltalkもおしゃべりという意味からのようですから,不思議ではないのですけれど,
どうしても書きたいと思って,書いてしまいました,


人気blogランキングへ

9/01/2008

seaBreeze

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

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

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

8/21/2008

円周率

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ではきちんと表示されない.
何か別の方法を探さないといけないようだ.

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

7/30/2008

Potential - 勉強編: BlackBookを読んで

Potential - 勉強編: BlackBookを読んで

BlackBookを読んで

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

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




7/07/2008

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の能力と文書力と英語力.とほほ・・・)

7/05/2008

Smalltalk本

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

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

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



6/20/2008

GNU Smalltalk と Seaside

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

GNU Smalltalk

12/15/2007

Squeakと正規表現 あとVisualWorks(情報をください)

最近またまた正規表現で困っています.
正直,超ど素人な僕にはとても高度な文字列処理プログラムは書けないので頼りたいのですが,Squeak by Exampleで書かれているRegexではやはり少しもの足りないです.(勉強不足もあるだろう)

VisualWorksだとどうかなと思ったら同じRegex11を使っているみたい.


Squeaker's Scrapbookを見ていると

Squeakで文字列処理プログラム

Regular Expression Pluginを紹介されています.確かにSqueakだと以前にも書いたように3.9でも動きますが,今度はVisualWorksが問題になってしまいそうです.

フォーラムに書かれているようにRubyへ行くべきなのかな.
正直コンピュータを学ぶ学生ですが,まだHaskellも勉強中なので新しい言語は保留にしたいです.(以前Railsのために少し勉強した時期はありますが・・・)

やっぱりSmalltalkがいいですし.

Smalltalkerのみなさんは本当にどうしているのでしょうか.
もしよろしければ教えてください.

11/25/2007

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

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

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

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

まずは計画.

11/23/2007

VisualWorksの謎 [その2] の答え

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

名前空間 - VisualWorks

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

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

やっぱりSmalltakは楽しい.

11/17/2007

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だけにしようかな.

11/16/2007

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で何か作ってみるとのいいかもしれません.

11/15/2007

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

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

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


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

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

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

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

11/12/2007

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たちも魅力的ですね.

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

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

10/20/2007

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全体に関することも)

10/18/2007

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