X



Smalltalk総合 Squeak Pharo
0388382
垢版 |
2017/11/12(日) 18:53:31.00ID:5d1CvKEj
>>387
おかげさまでPharo5.0で試すことが出来ました。
テストをサクッと書ける(しかも作成中のクラスへの表示も)のが良いですね。
(Java、RubyだとWebアプリ作る際にテストライブラリを別導入したりするので、人に勧めたり説明するのがチョット手間)
まだアプリの作り方とか全く分かりませんが、もうチョット遊んでみようかと思います。
0389382
垢版 |
2017/11/12(日) 19:58:08.24ID:5d1CvKEj
最初に試したiMacとPharo6との相性が悪かったようです。(多分、iMacの環境のせい)
別のMacBookPro(El Capitan 10.11.6)では
Pharo5.0、6.1、6.1-64bit ともに正常に操作出来ました。
0395デフォルトの名無しさん
垢版 |
2018/01/13(土) 02:40:12.95ID:Cv24YujM
Pharoで標準入出力ってどう扱うの?
シンプルなコマンド作ってbashで他のコマンドとパイプでつないで使うところから始めたいです
0397デフォルトの名無しさん
垢版 |
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
0398デフォルトの名無しさん
垢版 |
2018/01/13(土) 05:11:07.78ID:WpIPvjD2
GNU SmalltalkはAPIやライブラリーの充実度でPharoには遠く及びませんが
今回のようにshellとの連携からの入門には十分でむしろ優れていると思います

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

CUIなSmalltalkでメソッド調べる小技
https://qiita.com/tetha/items/1833cff9f4024595be78
0400デフォルトの名無しさん
垢版 |
2018/01/14(日) 00:48:50.85ID:Ef+VW+Yv
Pharo使って見始めたが、これ全てがメッセージ、というのが興味深い。
ただ、チーム数人で、Smalltalk使って開発するときって、ソース管理(メンバー間での同期、マージ)はどうしてるんだろう?
JavaやRubyでは基本的にはテキストファイルだから、Gitが定番だと思うが。
0402デフォルトの名無しさん
垢版 |
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 の機構もいろいろ利用されています
0403デフォルトの名無しさん
垢版 |
2018/01/14(日) 09:12:16.66ID:M9z7wx70
>>400
古典的にはSmalltalkではソースを環境内でメソッド単位で管理することになっていますが
それぞれを、ディレクトリー(パッケージ名とクラス名、インスタンスメソッドかクラスメソッドか)と
ファイル名(プロトコルとメソッド名)を使って個々のファイルにマッピングすることで Git で管理できるようになります

前述の iceberg がその方式で、それ以前にも Filetree といったそうしたマッピング専用のツールがありました
念のため
0404デフォルトの名無しさん
垢版 |
2018/01/14(日) 10:32:07.95ID:Ef+VW+Yv
>>402,403
おおっ、そういうのが有るのですね。
早速見てみます。
(iceburgってのがメニューのトップに有ったけど、何だろう・・・あとで調べるか、と思ってましたw)
0405デフォルトの名無しさん
垢版 |
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
0406デフォルトの名無しさん
垢版 |
2018/02/09(金) 10:12:22.15ID:dUg6ANh3
シンコムさんからメディアが届いた
週末は久しぶりにSmalltalk三昧できそうです
もう忘れかけてるから頭リセットしなきゃ
0407デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:44:16.01ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0414デフォルトの名無しさん
垢版 |
2018/04/13(金) 22:36:21.27ID:mZ0Pl0ro
マイナーなこと自体は仕様がないけど
普及を阻む使いにくいところは
もっと早く変えた方が良かった
0415デフォルトの名無しさん
垢版 |
2018/04/13(金) 23:19:15.33ID:bso+BPDq
あの時代遅れなIDEを積極的に使わせようとするの謎
IntelliJ使ってるユーザが乗り換えるわけないじゃん
そら普及しないわ
0416デフォルトの名無しさん
垢版 |
2018/04/14(土) 05:21:09.94ID:uQLblPcP
IDEは良いけどイメージベースでEXE作らないとかの独自仕様が
アイディアとしてはともかく実用的には使いづらかった
0425デフォルトの名無しさん
垢版 |
2018/04/17(火) 10:09:39.24ID:GKRJ1eqH
スモールトーク自身ウンコなので、それ自体がキラーアプリってなのは成立しない
そもそも成立してたら普及してるって
0428デフォルトの名無しさん
垢版 |
2018/04/20(金) 11:20:23.52ID:bkJaUb8N
これか

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


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

ストロングゼロや氷結ストロング等の“ストロング”系チューハイにはウォッカが入っていて
口当たりがたいへん良いので毎日というわけではないけどペースが乗ると日に2本とか普通に飲めてしまう
実際、まだ週が始まったばかりだけど氷結ストロングでも飲むかってつい飲んでしまったよ
こんな感じで皆が気軽に飲めるから人気がでるんだと思う
いろいろな味があって楽しめるしね
0431デフォルトの名無しさん
垢版 |
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を使えばいい?
0432デフォルトの名無しさん
垢版 |
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内(あるいはその他のブラウザ内)で起動できます
お試しあれかし
0433デフォルトの名無しさん
垢版 |
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
0434デフォルトの名無しさん
垢版 |
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.. からダウンロードできます。
こちらも参考まで。
0435デフォルトの名無しさん
垢版 |
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>まわりの実装が勉強になった。
0437デフォルトの名無しさん
垢版 |
2018/05/14(月) 19:34:42.78ID:lPclUDfn
昔のsqueakにはメニューにdebug itがなかったんですね
仕方がないので、例えばBrowser openBrowerの処理を追いかけたいときは、ワークスペースを開いて
self halt.
Browser openBrowser.
の2行を書いて、それをマウスで選択してdo itで実行させてるんですが、
当時の人たちはこういうときはどうやってデバッガを起動してたんでしょう?
0439デフォルトの名無しさん
垢版 |
2018/05/14(月) 22:34:27.48ID:EYH3vlbi
>>437
halt は何にでも送れるので Browser halt; openBrowser でいけます

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

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

2EWEB
0449446
垢版 |
2018/05/24(木) 03:23:54.45ID:CzEEKu6Z
>>448
たとえばイメージベース(EXE出力しない)とかね
0450デフォルトの名無しさん
垢版 |
2018/05/24(木) 10:59:12.28ID:39xdh1LE
イメージベースのメリットを損なわずに迎合するにはどうしたらいいのだろうね
0454デフォルトの名無しさん
垢版 |
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で止まらないことからこのメソッドは表示処理に使われていないと予想。
他は何を調べればいいでしょう?
0455デフォルトの名無しさん
垢版 |
2018/05/28(月) 19:31:54.25ID:yucnVNXj
そろそろmaximumtalkが出てきてもよい。
0457デフォルトの名無しさん
垢版 |
2018/05/29(火) 13:21:37.74ID:KXlYVobD
>>454
カーソルの表示処理を知りたいのであれば、Cursor nomal halt; show を追っかけた方がいいですね。
display はご自身でお調べになった結果からも分かるように
レシーバーである画像オブジェクト(カーソルもこれに属します)を画面左上(0@0)に表示するだけの処理になります。
たとえば From fromUser display とすると、選択した矩形領域を切り取って左上に表示するコードになります。

あと、showの方もおっかけると分かりますが、最後はプリミティブ(VMの関数呼び出し)に行き当たるので
どんな処理をしているかは該当するVM内関数のコードを見てあげる必要があります。
0458デフォルトの名無しさん
垢版 |
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ではマウスカーソルが画面端に残らないのがそのせいかな、と思ったり。
0459デフォルトの名無しさん
垢版 |
2018/06/06(水) 18:48:46.42ID:CR/iRC+P
この言語しばらく使ってるとゴミさが身に染みてくるんだよな
うっかり間違って採用しちゃった企業も途中で捨てるから、いつまでも利用者が増えない
0461デフォルトの名無しさん
垢版 |
2018/06/07(木) 23:43:33.75ID:UtcVrbmV
そういや一時期Smalltalk使ってるのをアピールしてる日本の会社あったよね
昔じゃないよ去年とか一昨年くらいの話
あそこってどうなったの?まだSmalltalk使ってる?
0469デフォルトの名無しさん
垢版 |
2018/06/13(水) 23:27:17.55ID:I7rQAugb
ちゃんとSmalltalkを理解した上でクソって言ってる人って
今まで2人しか見たことないわ
他はろくすっぽ使ったこともない雑魚ばっかだった
0470デフォルトの名無しさん
垢版 |
2018/06/14(木) 07:57:02.26ID:p7mhm0Dw
6月のSmalltalk勉強会は26日(火)SORABITOさんにて。
小田さんによる「Pharoで3D」のお話です。#st_study
https://t.co/wMiwwytiyq

SORABITO、Smalltalkと縁を切ったわけじゃないみたいだな 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
0471デフォルトの名無しさん
垢版 |
2018/06/14(木) 12:45:48.08ID:XNforaWv
批判者が少ないのは人口が少ないからだろ
実用言語には利用者の多さが重要
0474デフォルトの名無しさん
垢版 |
2018/06/16(土) 23:47:04.64ID:VzCdEHqb
>>472
smalltalkのlovedが67%だけど、これ使ってるって回答したのが3人でそのうち2人が好きって言ってるだけの可能性が十分にある
それがマイナー言語smalltalkの現実
0476デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:26:52.02ID:gFgZc5FG
7BK
0478デフォルトの名無しさん
垢版 |
2018/07/09(月) 02:22:15.36ID:XV3nMjDz
Smalltalkは文化的にタイピング量が多くなってしまうのが面倒い
あとPharoがころころ仕様が変わるのでついていくの面倒い
好きな言語なんだけどね
0479デフォルトの名無しさん
垢版 |
2018/07/09(月) 08:00:36.48ID:lKdQESUF
文化的なことを言っていいなら、Smalltalkにはかなり以前からIDEからの支援が提供されていたので
タイプ数もスペル等の記述の正確性への心理的負担も他の言語よりずっと少なくて済む印象が強いなぁ…

仕様の変遷の激しさは同感。でも、まぁそれはSmalltalkの宿命っぽいところもあり半分あきらめている^^;
どうしても耐えられなければ、比較的変化の穏やかなVisualWorks等の商用Smalltalkという選択肢もあるし
0480デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:27:32.77ID:t2m7hyzb
>タイプ数もスペル等の記述の正確性への心理的負担も他の言語よりずっと少なくて済む印象が強いなぁ…

懐古じじいは昔の知識だけで書いてるんだろうけど
いまどきの言語とIDEの組み合わせからみたら
Smalltalkの補完はゴミだよ。
型推論すれば必要ないって分かるものも補完の候補で出てきやがる。
0481デフォルトの名無しさん
垢版 |
2018/07/09(月) 22:16:42.56ID:lKdQESUF
いまどきの言語とIDEの組み合わせで事足りるならそれでええやん
なんでSmalltalkなんか使うの?
0482デフォルトの名無しさん
垢版 |
2018/07/11(水) 10:25:06.22ID:Di9toeeY
事足りるとか意味わからんw
Smalltalkが下なの!他の言語では可能でもSmalltalkでは出来ないことばかりなの!
レスを投稿する


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