Smalltalk総合 Squeak Pharo

2013/02/16(土) 14:10:29.12
Squeak
http://www.squeak.org/
Pharo
http://www.pharo-project.org/home

商用
Cincom VisualWorks
http://smalltalk.cincom.jp/main/products/visualworks/
2017/04/30(日) 00:35:44.72ID:ePGtBcSN
>>364
それな
2017/04/30(日) 00:40:52.57ID:SbBDypWI
昔から英語圏の言語は日本語に厳しいのよ。。。
オープンソースだと対応する義務も無いから特に。
367364
垢版 |
2017/04/30(日) 01:58:36.51ID:Bxv2Awhp
他はなかなか良い感じなんですけどねぇ。アジア圏の他の国の人も困ると
思うけど。

Tekka 入れられたんでありがたく使ってますけど、本当は他所で書いて
コピペした方が実用的ではある…
2017/04/30(日) 22:26:02.97ID:ePGtBcSN
Squeak + Windows の方法は Pharo では使えないの?
http://phaendal.hatenablog.com/entry/2016/01/13/032456
369364
垢版 |
2017/04/30(日) 23:05:29.56ID:Bxv2Awhp
Windows ではまだ試してませんが、この辺を見ると Squeak と Pharo は
同じ手順で OK という訳にはいかなさそうです。

http://phaendal.hatenablog.com/entry/2016/12/12/221828
2017/05/01(月) 08:31:12.87ID:5t91h+DH
ほらやっぱRubyやPythonの方が楽じゃん
日本語の問題だけでもだいぶ苦しむ
371364
垢版 |
2017/05/01(月) 09:35:17.60ID:qKmHB6Zh
Windows7 と 95 にも入れてみました。

95では変換表示が pharo のウインドウの左上端に出るので、まぁ自分的にはOKかな。
Windows7では、変換表示はウインドウとして出て動かせるので、更にまし。

以前ダウンロードして積ん読状態だった Mac 版 Pharo1.0 では変換ウインドウが出
ますね。5 で同じようになれば良いんだけどなぁ。


> ほらやっぱRubyやPythonの方が楽じゃん
全部できれば良いだけでは?
2017/05/05(金) 20:15:03.44ID:TOnHpg4g
Sirenに興味を持っていじってみようと悪戦苦闘しているのですが
使ってたって人いますかね?
現状だともうメンテナンスもされてないみたいだけどSqueak3.0か
VW7.5で動くようなんですけど。
インストールの仕方も良く判らない
ttp://fastlabinc.com/Siren/
2017/05/06(土) 07:46:20.23ID:gBi5/Vqg
>>372
そのページのSiren7.5.zipはもう試されましたか?

You don't have to build the image from scratch, though; the Siren ZIP file 
has a pre-configured VW virtual image (Siren7.5.{im,cha}) that ought to 
work for you out of the box. 
http://forum.world.st/Siren-installation-td134174.html
374デフォルトの名無しさん
垢版 |
2017/05/06(土) 12:39:15.39ID:FrvZMHcY
>>373
VWは今インストールディスクを送ってもらっているところなので
Siren7.5はダウンロードして待機中です。
Squeakは2.7で動くらしいのですが、Windowsは専用のimageがある
ようで探したのですがもうダウンロードできないようでした。
2017/05/06(土) 22:03:17.44ID:xBPQmkVL
Cへのトランスレータとしてしか使ってない
2017/05/14(日) 11:16:56.51ID:tMuNfTLo
https://twitter.com/umejava/status/863400931081179136

5/31日の100回記念Smalltalk勉強会のLT受付開始しました。エントリ希望の方はコメント欄へ書き込みお願いします。
https://smalltalk.connpass.com/event/56564/
なお、100回記念缶バッチが配られます。抽選でPharoのTシャツもゲットできるかも。
2017/09/24(日) 11:07:47.66ID:ByZ250WW
その昔、Smalltalkは言語でありOSだった。
SmalltalkというOSがアプリそのものでもあった。
SmalltalkというOSで動いている唯一のアプリにワード、
エクセル、ゲームの機能を追加していくそういう世界であった。
アプリの終了はOSの終了、世界の終了を意味していた。
世界を終わらせること無く機能を追加していくために
Smalltalkは生まれたのである
2017/09/24(日) 12:50:44.01ID:dIaNhcU3
元ネタはこれかな
http://mevius.2ch.net/test/read.cgi/tech/1502182334/864

864 名前:デフォルトの名無しさん[sage] 投稿日:2017/09/23(土) 23:15:33.02 ID:OVoD4rc5 [3/3]
>>861
SmalltalkはOSと言語が合体している独自の世界だから

Smalltalk実行環境(=OS=開発環境)のみがコンピュータ上で動いており
Smalltalk実行環境は電源を消すまで動作しているという前提の話をするから
言語だけの話にならない。

例えば開発した新しいプログラムをOS上で起動するというのは
Smalltalkの世界では、Smalltalk実行環境上で新しいクラスを作って呼び出すということで
プログラムを一旦終了してバグを修正して再起動するということは
Smalltalkの世界では、ではクラスを動的に変更するということになる。

このように一般的なOSでは、プログラムの作成や修正という当たり前にできることが
Smalltakでは「オブジェクトは遅延結合が必要で動的に変更できなければならない」という
根拠になってしまっているから、お前らの世界では遅延結合や動的が必須なのだろうけど、
そのマイナーな世界を押し付けるな。そんなものはなくてもできる。という感じで荒れる
2017/09/24(日) 13:04:21.31ID:LuaboiDw
金持ち喧嘩せず
2017/09/24(日) 17:52:45.02ID:ZoycLPfe
Windowsの規模でイメージベースとかの
仕組みが上手くいってたかというと疑問だな

現状のSmalltalkでもイメージベースだけじゃなく
ファイルベースでも管理するのが普通だし
そうしないと少し不安なところがある

小規模なプロトタイピングを作るときに
いちいちファイルに分けない
イメージベースは快適ではあるんだけど
そのまま大規模なソフトを作れる
スケーラブルな方式だとはとても思えない
2017/10/03(火) 11:38:14.59ID:RTtut7OF
Dolphin Smalltalk7をwineで動かしてみたらヘルプの文字が表示がされない
直し方教えて
2017/11/11(土) 12:18:13.31ID:a5bFFm8x
VisualWorks8.3使ってる人いる?
383デフォルトの名無しさん
垢版 |
2017/11/12(日) 01:42:29.27ID:5d1CvKEj
Pharoに興味持って、MacのVer.6.1-64を動かしてみたんだが、
https://qiita.com/sumim/items/c2a38a42c3ccd70c18b2
の通りにやっていて、ハングアップしてしまう・・・
上のurlは5.0用みたいだから挙動が違うとかメニューが違うのはいいとして、ハングアップってどうなのよ?という感じ。
2017/11/12(日) 04:36:58.08ID:uPq3A6/l
32ビット版でも駄目でしたか?
2017/11/12(日) 10:14:24.34ID:jp8y5cxG
どこでハングするかぐらい書かないと
どこまで優秀なエスパーを期待しているのやら
386282
垢版 |
2017/11/12(日) 12:02:23.91ID:5d1CvKEj
http://pharo.org/web/download の32、64ビット版何れでも、self shouldBeImplemented」というスタブメソッドの内容を変更、保存した瞬間にハングアップ。
環境は、macOS High Sierra(10.13.1)
Pharo5.0で試してみるか・・・正直、チョットと動かしてみようと思ってただけなので、萎える。
2017/11/12(日) 14:55:49.34ID:z3rtvJrk
手元でその環境(High Sierra, Pharo6.1-64)を作って試してみましたが
件のスタブの書き換え(変更してコンパイル)を含め、問題はないみたいです
確か、6.0ではそういう障害が報告されていたようですが
6.1でもまだ完全に解決していないか、環境依存でたまたま起きた可能性がありそうですね

ちょっと試すだけなら5.0で良さそうに思いますので面倒かもしれませんがリトライしてみてくだい

あと今回の件とは関係なさそうなのであくまで一般論&余計な事かもですが
Smalltalkのチュートリアルを試す際は、処理系を同じにするのはいうまでもない事ですが
バージョンについてもそのチュートリアルが対象にしているのと極力同じバージョンを選ぶ
(もちろん可能な範囲でですが…)のが萎える要素を少なくできて良いと思います

Smalltalkの学習の初期の段階では他言語の習熟者ほどストレスフルに感じる疑問が多く発生しがちなので…
388382
垢版 |
2017/11/12(日) 18:53:31.00ID:5d1CvKEj
>>387
おかげさまでPharo5.0で試すことが出来ました。
テストをサクッと書ける(しかも作成中のクラスへの表示も)のが良いですね。
(Java、RubyだとWebアプリ作る際にテストライブラリを別導入したりするので、人に勧めたり説明するのがチョット手間)
まだアプリの作り方とか全く分かりませんが、もうチョット遊んでみようかと思います。
389382
垢版 |
2017/11/12(日) 19:58:08.24ID:5d1CvKEj
最初に試したiMacとPharo6との相性が悪かったようです。(多分、iMacの環境のせい)
別のMacBookPro(El Capitan 10.11.6)では
Pharo5.0、6.1、6.1-64bit ともに正常に操作出来ました。
2017/11/12(日) 20:40:12.95ID:z3rtvJrk
>>388,389
それはよかったです。次はこちらの1〜4章をそのままPharo5.0で試されるのはいかがでしょうか?
http://files.pharo.org/books/updated-pharo-by-example/
2018/01/03(水) 08:15:12.64ID:jID8SJMc
今からでも遅くないSmalltalk入門
https://www.slideshare.net/umejava/smalltalk-85443326
2018/01/03(水) 08:19:45.61ID:jID8SJMc
Learning Object-Oriented
Programming, Design and TDD
with Pharo
http://files.pharo.org/books-pdfs/learning-oop/2017-09-29-LearningOOP.pdf
2018/01/03(水) 16:09:51.77ID:hSDjyllz
Smalltalk難しいねぇ
2018/01/03(水) 21:21:59.90ID:jID8SJMc
例えばどんなところでそう感じましたか?
2018/01/13(土) 02:40:12.95ID:Cv24YujM
Pharoで標準入出力ってどう扱うの?
シンプルなコマンド作ってbashで他のコマンドとパイプでつないで使うところから始めたいです
2018/01/13(土) 04:09:17.13ID:WpIPvjD2
その方向からならPharoよりGNU Smalltalkの方がよくない?
2018/01/13(土) 04:23:40.51ID:WpIPvjD2
あえてPharoでやるならこんなのはどうでしょう?

Scale aims to take Pharo into the shell.
That is, to write shell scripts in Pharo, use its power,
and have a better syntax instead of the ugly bash one :).

DISCLAIMER: Scale is tested only in Linux.

https://github.com/guillep/Scale
2018/01/13(土) 05:11:07.78ID:WpIPvjD2
GNU SmalltalkはAPIやライブラリーの充実度でPharoには遠く及びませんが
今回のようにshellとの連携からの入門には十分でむしろ優れていると思います

参考までGNU Smalltalkでの対話的なコーディングに欠ける機能を補う試みとしてこんなのもあります

CUIなSmalltalkでメソッド調べる小技
https://qiita.com/tetha/items/1833cff9f4024595be78
2018/01/13(土) 06:58:10.20ID:j1Mload2
32bit Pharo なら OSSubprocess が定番。
https://github.com/marianopeck/OSSubprocess
400デフォルトの名無しさん
垢版 |
2018/01/14(日) 00:48:50.85ID:Ef+VW+Yv
Pharo使って見始めたが、これ全てがメッセージ、というのが興味深い。
ただ、チーム数人で、Smalltalk使って開発するときって、ソース管理(メンバー間での同期、マージ)はどうしてるんだろう?
JavaやRubyでは基本的にはテキストファイルだから、Gitが定番だと思うが。
2018/01/14(日) 06:54:21.87ID:AVBBJtiI
git使ってるけど何か?
2018/01/14(日) 08:23:10.42ID:hv8hpGAp
>>400
Pharo には iceberg というツール(Pharo6.1 からリリース時にインストール済み)があって Git も使えます
https://github.com/pharo-vcs/iceberg

Git 以前はチーム開発には Monticello(や、その拡張)が使われました
これは、Smalltalkで古くから「カテゴリー」という
クラスをグループ分けして整理するための属性を「パッケージ」とみなして
差分等の情報を zip で固めてレポジトリーに置き共有するツールです
http://squeak.qp.land.to/wiki/index.php?Tools%2FMonticello

iceberg にはこの Monticello の機構もいろいろ利用されています
2018/01/14(日) 09:12:16.66ID:M9z7wx70
>>400
古典的にはSmalltalkではソースを環境内でメソッド単位で管理することになっていますが
それぞれを、ディレクトリー(パッケージ名とクラス名、インスタンスメソッドかクラスメソッドか)と
ファイル名(プロトコルとメソッド名)を使って個々のファイルにマッピングすることで Git で管理できるようになります

前述の iceberg がその方式で、それ以前にも Filetree といったそうしたマッピング専用のツールがありました
念のため
404デフォルトの名無しさん
垢版 |
2018/01/14(日) 10:32:07.95ID:Ef+VW+Yv
>>402,403
おおっ、そういうのが有るのですね。
早速見てみます。
(iceburgってのがメニューのトップに有ったけど、何だろう・・・あとで調べるか、と思ってましたw)
2018/02/01(木) 00:06:38.87ID:4kb1aa3G
富士ゼロックス、米ゼロックスと経営統合へ
1/31(水) 17:37配信

富士フイルムホールディングス(HD)は31日、子会社の富士ゼロックスと米事務機器大手ゼロックスを経営統合させたうえで買収すると発表した。
富士フイルムHDは最終的に統合会社株の50・1%を保有する。
富士ゼロックスは1962年に設立され、現在は富士フイルムHDが75%、米ゼロックスが25%をそれぞれ出資している。複写機市場がペーパー
レス化などで低迷する中、経営規模を拡大する一方で、1万人の人員削減などによるコスト削減を図り、合理化を進める。

https://headlines.yahoo.co.jp/hl?a=20180131-00050116-yom-bus_all
https://www.fujixerox.co.jp/company/profile/identity/images/index-fig-01.jpg
2018/02/09(金) 10:12:22.15ID:dUg6ANh3
シンコムさんからメディアが届いた
週末は久しぶりにSmalltalk三昧できそうです
もう忘れかけてるから頭リセットしなきゃ
2018/02/16(金) 06:44:16.01ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
2018/04/13(金) 18:20:06.97ID:EZzW/npt
スモールトークって日本の会社で使われてるの?
2018/04/13(金) 19:06:40.38ID:9JnZG0o7
使われてる
2018/04/13(金) 20:07:19.98ID:mZ0Pl0ro
少しは使われてるけど
ほぼ使われてないと言っても同じようなもん
2018/04/13(金) 20:43:08.59ID:RiDqcW69
アンチの憎悪をここまでかきたてるのは何なんだろうね
2018/04/13(金) 20:48:42.35ID:mZ0Pl0ro
いやたんにマイナーなだけでしょ
2018/04/13(金) 21:33:00.42ID:RiDqcW69
マイナーなんだから出しゃばるなとかそういう了見の狭さか
2018/04/13(金) 22:36:21.27ID:mZ0Pl0ro
マイナーなこと自体は仕様がないけど
普及を阻む使いにくいところは
もっと早く変えた方が良かった
2018/04/13(金) 23:19:15.33ID:bso+BPDq
あの時代遅れなIDEを積極的に使わせようとするの謎
IntelliJ使ってるユーザが乗り換えるわけないじゃん
そら普及しないわ
2018/04/14(土) 05:21:09.94ID:uQLblPcP
IDEは良いけどイメージベースでEXE作らないとかの独自仕様が
アイディアとしてはともかく実用的には使いづらかった
2018/04/14(土) 08:50:38.22ID:fhbFUszr
だったらMTを使ってあげたらよかったのに
2018/04/14(土) 21:53:31.18ID:lPD9m89j
あのIDEが時代遅れ…? まあいいけど。
2018/04/15(日) 14:17:22.66ID:CMfqpLbm
キラーアプリってあるの?
2018/04/16(月) 00:36:30.80ID:qJAv5j5e
ないんだね?
2018/04/16(月) 07:23:51.13ID:FdHixnmZ
nil
2018/04/16(月) 12:10:20.75ID:Atf+jFUX
(Smalltalk keys noneSatisfy: #isValuable) ifTrue: [^self]
2018/04/16(月) 18:22:13.76ID:CDYmh3h5
>>422
ほー、Behavior>>isVariableの駄洒落ですか。
2018/04/16(月) 22:15:27.58ID:uhjkKwR2
nearly
2018/04/17(火) 10:09:39.24ID:GKRJ1eqH
スモールトーク自身ウンコなので、それ自体がキラーアプリってなのは成立しない
そもそも成立してたら普及してるって
2018/04/17(火) 22:09:36.52ID:v3nFCu9f
???
2018/04/20(金) 01:13:20.77ID:9ezFSTgp
ストロングゼロのコピペみたいだな
2018/04/20(金) 11:20:23.52ID:bkJaUb8N
これか

ストロングゼロの氷結のストロングゼロのウォッカ入ってるんだけど、この氷結のチューハイ毎日ではないけどかなりのペースで飲むと2本
今も例えば月曜日とかだと氷結でストロングゼロ飲んでって感じで飲んでるから人気になるんだと思う
楽でいろんな味だしね


おそらくはこういう意味?

ストロングゼロや氷結ストロング等の“ストロング”系チューハイにはウォッカが入っていて
口当たりがたいへん良いので毎日というわけではないけどペースが乗ると日に2本とか普通に飲めてしまう
実際、まだ週が始まったばかりだけど氷結ストロングでも飲むかってつい飲んでしまったよ
こんな感じで皆が気軽に飲めるから人気がでるんだと思う
いろいろな味があって楽しめるしね
2018/05/02(水) 07:52:15.83ID:eZ4RbFHr
>>419
squeak
2018/05/06(日) 12:52:03.40ID:0BdRz9nO
Smalltalkをいま使ってる日本企業ってゼロ?
431デフォルトの名無しさん
垢版 |
2018/05/13(日) 01:58:02.20ID:VwqkeNW/
windows10で
http://files.squeak.org/1.1/Squeak1.1.zip
を使おうとしてるんだけど、このzipファイル内のVMで実行してると、
firefoxとかで調べ物をしたあとで戻ってくると、かなりの頻度でnot respondingになってしまう。
じゃあ、と思ってsqueak5.1のVMでSqueak1.1.imageを読ませようとしてもCould not openといわれる。
どこかの時点でイメージファイルのフォーマットが変わった?
現時点でSqueak1.1.imageのような昔のイメージを実行するならどのVMを使えばいい?
2018/05/13(日) 08:48:35.81ID:faxTAPZS
手元の環境では特に問題ない感じなので何かの相性の問題かもしれません
あと、仮想イメージは同時期に提供されたVMでしか開けないと思った方がよいでしょう

目的にもよりますが、どうしてもSqueak1.1をちゃんと動かしたいということでしたら
VMwareなどで仮想環境を用意してやるのもひとつの手かもしれません
その場合、可能であればSqueak1.1が提供された当時のOSである方がベターでしょう

軽く動かしてみるだけでよいなら、SqueakJSという選択肢もあります
https://squeak.js.org/run/

Drop Squeak images and other files here. に件の.zipから
.image、.changes、.sourcesをドロップインするとFirefox内(あるいはその他のブラウザ内)で起動できます
お試しあれかし
433デフォルトの名無しさん
垢版 |
2018/05/13(日) 12:25:36.62ID:VwqkeNW/
>>432
レスありがとうございます。
squeak1.1を動かそうとしていたのは、このサイズならsmalltalkの全貌が把握できるかなと思ったからでした。
squeakjs.imageは590KBとさらにサイズが小さいのでこっちに乗り換えようと思います。
ですが、ブラウザで動かしてるとテキストをコピーしてもwindows側のクリップボードに入ってくれないのが痛いですね。
デバッガやブラウザで動きを追いかけながら、気になったコードをコピーしてメモをつけてブログに記録していきたいので。
でも、以下のURLでは、the interaction with JavaScript for clipboard access.って書いてありますね。本当はコピペできるのかな。
https://www.freudenbergs.de/bert/publications/Freudenberg-2014-SqueakJS.pdf
2018/05/13(日) 17:38:01.18ID:faxTAPZS
試してみたところ、こちらの実装では(alt + c ではなく) ctrl + c でクリップボードにコピーできるみたいです。

https://lively-web.org/users/bert/squeak.html

まず(ページ読み込み完了後)左下の Load image から fetch mini image from server して(Squeak 起動後)
適当な文字列を選択→ ctrl + c → メモ帳などにペーストを試してみてください。

もしうまく選択文字列の持ち出しができないようでしたら、右側の説明文を同様に試すなどすることで
まずページ内で(LivelyWeb 経由の) ctrl + c によるコピー操作が機能しているか確認してください。
Filefox でうまくいかないようならブラウザを Chrome に変えてみるのもよいかもしれません。

mini からの ctrl + c による文字列の持ち出しが確認できたら、Load image の並びにある Import: 右脇のボタンで
すでにダウンロードしてある Squeak1.1.image、同 .changes、SqueakV1.sources を選択してインポートします。
うくゆくと Load image に Squeak1.1.image が現れるのでこれを起動して学習に用いてください。
(.changes 、.sources が揃っていないイメージだとソースがデコンパイルで生成されるので何かと不便なので)

最悪、ctrl + c がどうしてもうまくいかない場合でも、こちらのバージョンでは Export File.. 経由で
ファイルの持ち出しができるので、

| file | file _ FileStream newFileNamed: 'hoge.txt'. file nextPutAll: Smalltalk clipboardText; close.

などで明示的に書き出せば(ちょっと面倒ですが)件の Export file.. からダウンロードできます。
こちらも参考まで。
435デフォルトの名無しさん
垢版 |
2018/05/13(日) 21:49:05.91ID:VwqkeNW/
>>434
ctrl+cでコピーできました!ありがとうございます
https://squeak.js.org/demo/simple.html
↑の方でもctrl+cでいけますね。

私は力技でvw.jsの
primitiveClipboardText: function(argCount) {
の中で
this.display.clipboardString
から値を取り出すことを考えてましたが、
もうその必要がなくなってよかったです。
あと、この経緯でついでに<primitive: 141>まわりの実装が勉強になった。
2018/05/13(日) 22:43:23.98ID:faxTAPZS
よかったです。Smalltalk世界の散策を楽しんでください。
437デフォルトの名無しさん
垢版 |
2018/05/14(月) 19:34:42.78ID:lPclUDfn
昔のsqueakにはメニューにdebug itがなかったんですね
仕方がないので、例えばBrowser openBrowerの処理を追いかけたいときは、ワークスペースを開いて
self halt.
Browser openBrowser.
の2行を書いて、それをマウスで選択してdo itで実行させてるんですが、
当時の人たちはこういうときはどうやってデバッガを起動してたんでしょう?
2018/05/14(月) 20:33:15.66ID:4It9UKJw
Smalltalk面白いと思うんだが、何で流行らないんだろ?
2018/05/14(月) 22:34:27.48ID:EYH3vlbi
>>437
halt は何にでも送れるので Browser halt; openBrowser でいけます

古いっていうだけでもう相手にされないか、そこを突破できても
実際に古臭い点も多々あるんで本当におもしろいところまで行き着けないんでしょうね

あと今の人は学ぶことが多すぎて、余計な事を学ぶ気持ちや時間の余裕が持てないのが大きそう
2018/05/15(火) 17:48:20.70ID:KcubxIhK
Smalltalk、プチコンくらい流行らせてみたいね
441デフォルトの名無しさん
垢版 |
2018/05/15(火) 21:41:26.28ID:PalvXpXe
>>439
「halt;」を書き足すだけでいいので便利ですね。
そのアイデアいただきます!
442デフォルトの名無しさん
垢版 |
2018/05/19(土) 11:55:39.59ID:WnkT4MGt
scratchって、Small talkクローン?
2018/05/19(土) 12:37:47.71ID:H78Ay5zU
Scratch は、古いバージョン(バージョン 1.4 まで)が
Smalltalk(MIT版 Squeak)で実装されたというだけで
Smalltalk とは別の独立した言語処理系です。
2018/05/19(土) 16:02:38.18ID:h32pPDAO
>>443
なるほど、ありがとう。
LOGO、Smalltalk、scratchを触ってみて言語のバックグラウンドが似てるように見えたのはそういう事だと腑に落ちました。
ブロックを自分で定義出来ると色々遊べそう(センサーのエミュレーションとか)。
まだまだ勉強中です。
2018/05/19(土) 16:58:11.77ID:MhrkVOUh
>>444
Scratch の開発リーダー、ミッチェル・レズニックはシーモア・パパートの弟子で
LOGOの並列化版 StarLogo の開発者でもあるので、Scratch は Smalltalk よりは LOGO の影響の方が色濃いのかもしれません。
2018/05/23(水) 08:37:32.04ID:PUSKgIep
>>438
キラーアプリがないから
ドキュメントが少ないから
独自仕様に従うのが大変だから
447デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:11:50.57ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

2EWEB
2018/05/23(水) 20:49:27.58ID:q7XxH5QM
>>446
独自って何?
449446
垢版 |
2018/05/24(木) 03:23:54.45ID:CzEEKu6Z
>>448
たとえばイメージベース(EXE出力しない)とかね
2018/05/24(木) 10:59:12.28ID:39xdh1LE
イメージベースのメリットを損なわずに迎合するにはどうしたらいいのだろうね
2018/05/25(金) 07:27:46.27ID:DOfNtjf2
Smalltalk MTを使う
2018/05/25(金) 09:39:03.58ID:yjK2xLmS
kwsk
2018/05/27(日) 18:30:14.83ID:yuKEfzlu
ggrks
454デフォルトの名無しさん
垢版 |
2018/05/28(月) 19:28:09.07ID:r5GUJbyu
以前質問させていただいたhttps://squeak.js.org/demo/simple.htmlで学習中の者です。
現在、どのメソッド内のコードがマウスカーソルの表示処理をしているのか探してますが、うまく見つけられません。
squeak2.2ベースでMorphicではなくMVCで恐縮ですが、どこを見ればいいかご存知でしたら教えてください。

調べたこと&わかったこと。
Cursor normal displayでマウスカーソルの単発表示ができることを発見。
Cursor normal halt displayをデバッガで追っていき、表示直前に以下のメソッドが実行されることを発見。
DisplayScreen>>copyBits:from:at:clippingBox:rule:fillColor:map:
上記メソッド内の冒頭に以下のデバッグコードを挿入。
sf = Cursor normal ifTrue: [self halt].
Cursor normal displayを再度doitしてhaltで止まることを確認。
この状態でウインドウのないDisplayScreen上でマウスを動かしてみる。
が、haltで止まらないことからこのメソッドは表示処理に使われていないと予想。
他は何を調べればいいでしょう?
455デフォルトの名無しさん
垢版 |
2018/05/28(月) 19:31:54.25ID:yucnVNXj
そろそろmaximumtalkが出てきてもよい。
2018/05/29(火) 08:26:49.06ID:mlXbo3Of
ハードウェアカーソルなんじゃないの?よく知らんけど。
2018/05/29(火) 13:21:37.74ID:KXlYVobD
>>454
カーソルの表示処理を知りたいのであれば、Cursor nomal halt; show を追っかけた方がいいですね。
display はご自身でお調べになった結果からも分かるように
レシーバーである画像オブジェクト(カーソルもこれに属します)を画面左上(0@0)に表示するだけの処理になります。
たとえば From fromUser display とすると、選択した矩形領域を切り取って左上に表示するコードになります。

あと、showの方もおっかけると分かりますが、最後はプリミティブ(VMの関数呼び出し)に行き当たるので
どんな処理をしているかは該当するVM内関数のコードを見てあげる必要があります。
458デフォルトの名無しさん
垢版 |
2018/05/29(火) 19:03:44.38ID:xdaZSLqM
>>456,457
いいヒントになりました。感謝!

現時点での自分の理解
Cursor>>beCursorが<primitive: 101>を呼び出す。
vm.jsのprimitiveBeCursorがカーソル形状データをcursorCanvasにセットする。
squeak.jsのupdateMousePosがcursorCanvasの座標をマウス移動に応じて変更する。
というわけで、SqueakJSの場合は、マウスカーソル専用のcanvasを別に用意して、画面用のcanvasの上に重ねて表示していると理解。

確かにこれでは、メソッド内でマウスカーソルとウインドウの重ね合わせ処理を探しても見つからないはずだ。
ちなみに、Interpreter>>primitiveBeCursorのコメントに
"Set the cursor to the given shape. The Mac only supports 16x16 pixel cursors."
とあったので、Mac版ではOS自体のカーソルの形状を変更して利用してるみたいですね(未確認)
マウスカーソルが画面外に出たときの挙動を比べると、
SqueakJSではcanvas製のマウスカーソルが画面端においていかれるのに対して、
Squeak.exeではマウスカーソルが画面端に残らないのがそのせいかな、と思ったり。
2018/06/06(水) 18:48:46.42ID:CR/iRC+P
この言語しばらく使ってるとゴミさが身に染みてくるんだよな
うっかり間違って採用しちゃった企業も途中で捨てるから、いつまでも利用者が増えない
2018/06/07(木) 10:22:09.81ID:hfG4kssF
アンチもゴミさが分かるくらいまで使えれるならたいしたものだがな
2018/06/07(木) 23:43:33.75ID:UtcVrbmV
そういや一時期Smalltalk使ってるのをアピールしてる日本の会社あったよね
昔じゃないよ去年とか一昨年くらいの話
あそこってどうなったの?まだSmalltalk使ってる?
2018/06/09(土) 09:40:57.88ID:bWDMGgNI
沈黙が答えになる事って…あるよねw
2018/06/09(土) 21:41:13.38ID:1/KaWO1v
SqueakかPharoのCogDroidβ以外のAndroid用のVMってあります?
2018/06/12(火) 07:34:59.34ID:ce6DqrlW
シンプルにオワコン
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況