Smalltalk総合 Squeak Pharo
手元でその環境(High Sierra, Pharo6.1-64)を作って試してみましたが 件のスタブの書き換え(変更してコンパイル)を含め、問題はないみたいです 確か、6.0ではそういう障害が報告されていたようですが 6.1でもまだ完全に解決していないか、環境依存でたまたま起きた可能性がありそうですね ちょっと試すだけなら5.0で良さそうに思いますので面倒かもしれませんがリトライしてみてくだい あと今回の件とは関係なさそうなのであくまで一般論&余計な事かもですが Smalltalkのチュートリアルを試す際は、処理系を同じにするのはいうまでもない事ですが バージョンについてもそのチュートリアルが対象にしているのと極力同じバージョンを選ぶ (もちろん可能な範囲でですが…)のが萎える要素を少なくできて良いと思います Smalltalkの学習の初期の段階では他言語の習熟者ほどストレスフルに感じる疑問が多く発生しがちなので… >>387 おかげさまでPharo5.0で試すことが出来ました。 テストをサクッと書ける(しかも作成中のクラスへの表示も)のが良いですね。 (Java、RubyだとWebアプリ作る際にテストライブラリを別導入したりするので、人に勧めたり説明するのがチョット手間) まだアプリの作り方とか全く分かりませんが、もうチョット遊んでみようかと思います。 最初に試したiMacとPharo6との相性が悪かったようです。(多分、iMacの環境のせい) 別のMacBookPro(El Capitan 10.11.6)では Pharo5.0、6.1、6.1-64bit ともに正常に操作出来ました。 Pharoで標準入出力ってどう扱うの? シンプルなコマンド作ってbashで他のコマンドとパイプでつないで使うところから始めたいです その方向からならPharoよりGNU Smalltalkの方がよくない? あえて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 GNU SmalltalkはAPIやライブラリーの充実度でPharoには遠く及びませんが 今回のようにshellとの連携からの入門には十分でむしろ優れていると思います 参考までGNU Smalltalkでの対話的なコーディングに欠ける機能を補う試みとしてこんなのもあります CUIなSmalltalkでメソッド調べる小技 https://qiita.com/tetha/items/1833cff9f4024595be78 Pharo使って見始めたが、これ全てがメッセージ、というのが興味深い。 ただ、チーム数人で、Smalltalk使って開発するときって、ソース管理(メンバー間での同期、マージ)はどうしてるんだろう? JavaやRubyでは基本的にはテキストファイルだから、Gitが定番だと思うが。 >>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 の機構もいろいろ利用されています >>400 古典的にはSmalltalkではソースを環境内でメソッド単位で管理することになっていますが それぞれを、ディレクトリー(パッケージ名とクラス名、インスタンスメソッドかクラスメソッドか)と ファイル名(プロトコルとメソッド名)を使って個々のファイルにマッピングすることで Git で管理できるようになります 前述の iceberg がその方式で、それ以前にも Filetree といったそうしたマッピング専用のツールがありました 念のため >>402 ,403 おおっ、そういうのが有るのですね。 早速見てみます。 (iceburgってのがメニューのトップに有ったけど、何だろう・・・あとで調べるか、と思ってましたw) 富士ゼロックス、米ゼロックスと経営統合へ 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 シンコムさんからメディアが届いた 週末は久しぶりにSmalltalk三昧できそうです もう忘れかけてるから頭リセットしなきゃ ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ 少しは使われてるけど ほぼ使われてないと言っても同じようなもん アンチの憎悪をここまでかきたてるのは何なんだろうね マイナーなんだから出しゃばるなとかそういう了見の狭さか マイナーなこと自体は仕様がないけど 普及を阻む使いにくいところは もっと早く変えた方が良かった あの時代遅れなIDEを積極的に使わせようとするの謎 IntelliJ使ってるユーザが乗り換えるわけないじゃん そら普及しないわ IDEは良いけどイメージベースでEXE作らないとかの独自仕様が アイディアとしてはともかく実用的には使いづらかった (Smalltalk keys noneSatisfy: #isValuable) ifTrue: [^self] >>422 ほー、Behavior>>isVariableの駄洒落ですか。 スモールトーク自身ウンコなので、それ自体がキラーアプリってなのは成立しない そもそも成立してたら普及してるって これか ストロングゼロの氷結のストロングゼロのウォッカ入ってるんだけど、この氷結のチューハイ毎日ではないけどかなりのペースで飲むと2本 今も例えば月曜日とかだと氷結でストロングゼロ飲んでって感じで飲んでるから人気になるんだと思う 楽でいろんな味だしね おそらくはこういう意味? ストロングゼロや氷結ストロング等の“ストロング”系チューハイにはウォッカが入っていて 口当たりがたいへん良いので毎日というわけではないけどペースが乗ると日に2本とか普通に飲めてしまう 実際、まだ週が始まったばかりだけど氷結ストロングでも飲むかってつい飲んでしまったよ こんな感じで皆が気軽に飲めるから人気がでるんだと思う いろいろな味があって楽しめるしね Smalltalkをいま使ってる日本企業ってゼロ? 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を使えばいい? 手元の環境では特に問題ない感じなので何かの相性の問題かもしれません あと、仮想イメージは同時期に提供された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内(あるいはその他のブラウザ内)で起動できます お試しあれかし >>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 試してみたところ、こちらの実装では(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.. からダウンロードできます。 こちらも参考まで。 >>434 ctrl+cでコピーできました!ありがとうございます https://squeak.js.org/demo/simple.html ↑の方でもctrl+cでいけますね。 私は力技でvw.jsの primitiveClipboardText: function(argCount) { の中で this.display.clipboardString から値を取り出すことを考えてましたが、 もうその必要がなくなってよかったです。 あと、この経緯でついでに<primitive: 141>まわりの実装が勉強になった。 よかったです。Smalltalk世界の散策を楽しんでください。 昔のsqueakにはメニューにdebug itがなかったんですね 仕方がないので、例えばBrowser openBrowerの処理を追いかけたいときは、ワークスペースを開いて self halt. Browser openBrowser. の2行を書いて、それをマウスで選択してdo itで実行させてるんですが、 当時の人たちはこういうときはどうやってデバッガを起動してたんでしょう? Smalltalk面白いと思うんだが、何で流行らないんだろ? >>437 halt は何にでも送れるので Browser halt; openBrowser でいけます 古いっていうだけでもう相手にされないか、そこを突破できても 実際に古臭い点も多々あるんで本当におもしろいところまで行き着けないんでしょうね あと今の人は学ぶことが多すぎて、余計な事を学ぶ気持ちや時間の余裕が持てないのが大きそう Smalltalk、プチコンくらい流行らせてみたいね >>439 「halt;」を書き足すだけでいいので便利ですね。 そのアイデアいただきます! scratchって、Small talkクローン? Scratch は、古いバージョン(バージョン 1.4 まで)が Smalltalk(MIT版 Squeak)で実装されたというだけで Smalltalk とは別の独立した言語処理系です。 >>443 なるほど、ありがとう。 LOGO、Smalltalk、scratchを触ってみて言語のバックグラウンドが似てるように見えたのはそういう事だと腑に落ちました。 ブロックを自分で定義出来ると色々遊べそう(センサーのエミュレーションとか)。 まだまだ勉強中です。 >>444 Scratch の開発リーダー、ミッチェル・レズニックはシーモア・パパートの弟子で LOGOの並列化版 StarLogo の開発者でもあるので、Scratch は Smalltalk よりは LOGO の影響の方が色濃いのかもしれません。 >>438 キラーアプリがないから ドキュメントが少ないから 独自仕様に従うのが大変だから 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 2EWEB >>448 たとえばイメージベース(EXE出力しない)とかね イメージベースのメリットを損なわずに迎合するにはどうしたらいいのだろうね 以前質問させていただいた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で止まらないことからこのメソッドは表示処理に使われていないと予想。 他は何を調べればいいでしょう? ハードウェアカーソルなんじゃないの?よく知らんけど。 >>454 カーソルの表示処理を知りたいのであれば、Cursor nomal halt; show を追っかけた方がいいですね。 display はご自身でお調べになった結果からも分かるように レシーバーである画像オブジェクト(カーソルもこれに属します)を画面左上(0@0)に表示するだけの処理になります。 たとえば From fromUser display とすると、選択した矩形領域を切り取って左上に表示するコードになります。 あと、showの方もおっかけると分かりますが、最後はプリミティブ(VMの関数呼び出し)に行き当たるので どんな処理をしているかは該当するVM内関数のコードを見てあげる必要があります。 >>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ではマウスカーソルが画面端に残らないのがそのせいかな、と思ったり。 この言語しばらく使ってるとゴミさが身に染みてくるんだよな うっかり間違って採用しちゃった企業も途中で捨てるから、いつまでも利用者が増えない アンチもゴミさが分かるくらいまで使えれるならたいしたものだがな そういや一時期Smalltalk使ってるのをアピールしてる日本の会社あったよね 昔じゃないよ去年とか一昨年くらいの話 あそこってどうなったの?まだSmalltalk使ってる? SqueakかPharoのCogDroidβ以外のAndroid用のVMってあります? ちゃんとSmalltalkを理解した上でクソって言ってる人って 今まで2人しか見たことないわ 他はろくすっぽ使ったこともない雑魚ばっかだった 6月のSmalltalk勉強会は26日(火)SORABITOさんにて。 小田さんによる「Pharoで3D」のお話です。#st_study https://t.co/wMiwwytiyq SORABITO、Smalltalkと縁を切ったわけじゃないみたいだな 👀 Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01) 批判者が少ないのは人口が少ないからだろ 実用言語には利用者の多さが重要 愛好者ランキング高いのは仕事で使う奴が少ないからじゃないの >>472 smalltalkのlovedが67%だけど、これ使ってるって回答したのが3人でそのうち2人が好きって言ってるだけの可能性が十分にある それがマイナー言語smalltalkの現実 >>474 66.7%ではなく67.0%なんだけど?数字読めない人でちゅか? Smalltalkは文化的にタイピング量が多くなってしまうのが面倒い あとPharoがころころ仕様が変わるのでついていくの面倒い 好きな言語なんだけどね 文化的なことを言っていいなら、Smalltalkにはかなり以前からIDEからの支援が提供されていたので タイプ数もスペル等の記述の正確性への心理的負担も他の言語よりずっと少なくて済む印象が強いなぁ… 仕様の変遷の激しさは同感。でも、まぁそれはSmalltalkの宿命っぽいところもあり半分あきらめている^^; どうしても耐えられなければ、比較的変化の穏やかなVisualWorks等の商用Smalltalkという選択肢もあるし >タイプ数もスペル等の記述の正確性への心理的負担も他の言語よりずっと少なくて済む印象が強いなぁ… 懐古じじいは昔の知識だけで書いてるんだろうけど いまどきの言語とIDEの組み合わせからみたら Smalltalkの補完はゴミだよ。 型推論すれば必要ないって分かるものも補完の候補で出てきやがる。 いまどきの言語とIDEの組み合わせで事足りるならそれでええやん なんでSmalltalkなんか使うの? 事足りるとか意味わからんw Smalltalkが下なの!他の言語では可能でもSmalltalkでは出来ないことばかりなの! お前がずっとここに張り付いてる意味のほうがわからんわw JavaからSmalltalkに乗り換える開発者が100000000人に一人くらい居ると良いね 滅んだと信じ込んでる無知がうるさいから わざわざSmalltalk除く細工しこんでるしね Smalltalk除く細工ってw 被害妄想もここまで行くと病気ww Smalltalkを狙って抜いたというよりは 当初適当な比率で順位決めたらSmalltalkが二位なんかに入っちゃったもんだから もうちょっとましな結果になるように評価法を適正なものに変えたといったところだろう 普通に考えて外れ値の扱いになるのは仕方ないよ 一部の狂信者以外は誰も使ってないんだから >>494 小学校のプログラミングすら知らない人? Scratchのこと?あれは良いものだね。 でも最早Smalltalk関係ないじゃん。捨てられてんじゃん。 わざわざ別言語に乗り換えられてるなんてゴミ言語の証拠じゃん。 ScratchはおろかSqueak/etoysで知識止まってるとか? 教育用言語として普及しているのは スクラッチであってスモールトーク自体じゃないから やっぱりスモールトークは使いづらいってことじゃん 子供であってもSmalltalk-72のころから常にSmalltalkは人を選んで来たよね ドローイング/ペインティングツール、回路設計支援ツールとかまで作れたのは一握りの優れた子供だけ Personal Dynamic Media (1977) にもブルース・ホーン(後にAppleでFinder等の開発に寄与)を含む 5人の子供の名前しかクレジットされていない Scratch2.0の方が便利なのに、何も知らない子供にScratch1.4(Smalltalkで実装されてる)を使うように推薦するSmalltalkerって マジで害悪だよねw オフラインならScratch1.4の方が断然便利だろ タブ向けもPyonkeeしか提供されてないし なんだかんだいったところで結局Smalltalk以外選択肢がないんじゃしかたない Scratch3.0(もうプレビュー版が出てる。タブレットにも対応してるし、スマホでもプレイ可能)が正式リリースされても SmalltalkerはPyonkeeを無垢な子供に推薦するんだろうなぁ マジで害悪だよね スクラッチ勢は古参のSmalltalk使いをずいぶん煙たがっているんだな そりゃSmalltalkを布教したいという邪な欲望丸出しで 新バージョンへの移行を妨げる分断工作してんだから 疎まれて当然でしょ 子供の教育を考えたら百害あって一利なし >>503 いや単に他の板から逃げて来た知ったかが居るだけだから。(実装の件とか思い込みで言ってるのバレバレだし) 反論出来なくなると、こうやって相手にSmalltalkを知らないヤツってレッテル貼るところまでがテンプレだよねw (まあ死滅したクソマイナー言語を知らなくても不思議は無いし、成功率は高そうw) >>504 想像でいってんの?現場の人間の本音なの? >>506 知っている範囲で構わないんだけどSmalltalkはどこらへんがクソだと一般に思われているの? >>502 が自白しているように、全ては病的アンチの妄想。 所詮VBにすら負ける言語だからね Scratchを別言語でゼロから再実装されても仕方ないよ >>510 VBに負けているというのは具体的には何について? よく引き合いにだされるTIOBEインデックス等の話題に上る頻度のこと? VB以下の言語がすべてVBに劣るわけではないと思うけど… TIOBEだけが生きがいの>>510 さんをいじめないで! SmalltalkとVBといえば九大病院 Scratchの件と合わせて他言語に完敗した歴史として語り継いでいくべき >>513 これのこと? 九大病院“つまずき”の真相 「要件定義の甘さ」が尾を引く http://web.archive.org/web/19990910201442/http ://www3.nikkeibp.co.jp:80/WAT2/971212/971212trein01.html 単に日本IBMの思惑とマネージメントに問題があっただけのような気がするんだけど 513はこの件で具体的にはSmalltalkの何が悪かったと語り継ぎたいの? へー、九大病院だけじゃなくて長野オリンピックのシステムもSmalltalkじゃ上手くいかなかったけどVBでは開発出来たんだね Smalltalkでは開発失敗したけど、VBなら成功したんだね 一方、米IBMは96年開催のアトランタ・オリンピックのシステム開発で 同社のSmalltalk開発ツールであるVisualAgeを使用しなんら支障なかったので 結局、日本IBMの技術力とマネージメントだけが問題なんだよね VBでも開発に失敗してたら、そういう言い訳も通ったかもねw ていうか、Smalltalkから他言語に乗り換えた話ばかりじゃん 逆に他言語からSmalltalkに乗り換えた例はないわけ? 一件くらいあるだろゴミクソ言語でも キミみたいな筋金入りのアンチならケント・ベックがその名をはせた クライスラー総合報酬(Chrysler Comprehensive Compensation, 通称C3)プロジェクトの失敗 も大好物なんじゃない?http://bliki-ja.github.io/C3/ やれエクストリーム・プログラミングだのやれテスト駆動開発だのと偉そうなことを言ったところで COBOLで書かれたレガシーシステムのひとつもリプレースできないヘタレ言語 これもぜひレパートリーに入れといてくれw 失敗と言いつつ、実は成功したと思ってる例を出してくるあたりセコイねー Smalltalkerってホントしょーもねーなw はるか昔にCOBOLのリプレースに一時的に成功したのが Smalltalkの数少ない(唯一の?)輝かしい成果ってことは分かったよ その後またCOBOLに戻っちゃったみたいだけど、オマケで VB > Smalltalk >= COBOL って事にしてあげるねw オマケでCOBOLに勝った認定でウキウキのSmalltalkerさんw C3って成功プロジェクトなの?アンチの基準がいまいちわからんな アンチって言えばCincom出身のこの人 https://www.reddit.com/user/dlyund?count=1000& ;after=t1_czedjw5 全力でSmalltalk殺しにかかっててきてて怖いw まだ生きてるような言い方するなよ 死んでんだよ、ずっと昔に この人の主張は - Smalltalkは個人や小さな規模では楽しいかもしれないが大規模には使えない - Smalltalkが大規模でも快適であるような嘘の宣伝はやめろ - うっかり真に受けてCincomに入りいくつかの大規模案件に従事したが時間の無駄になった と(思い込みによる誤認はあるものの)アンチな理由がはっきりしていて見ていてすごく胸が痛むが ここに居着いているアンチはSmalltalkを使ったことはおろか恐らくは関わりすらなかったろうに 今はただひたすらSmalltalkが死んだことにしたいだけのために日々戦っていてそれもそれで気の毒だ Smalltalkは分かりやすく底が浅いから 直ぐに大規模開発には使い物にならないって分かりそうなもんだけどな >>525 結局Smalltalkは大規模に 使えないってハッキリしたじゃん >>527 >思い込みによる誤認 って何? >>529 よく分からんけど朝鮮人とかが一向に証拠出さないようなもんかな。 Smalltalkは大規模開発に使えないのは分かった。 だったら小規模開発には使えるの? 具体的な数値を言ったら「あれ?そんなクソザコ小規模を中規模呼ばわりしてるの?Smalltalkerってクソザコだねw」 って言われてしまいそうで怖いです 勘弁してください モデルベース開発は「動く仕様書」が必須だから、あとは使い所を決める人のセンスの問題だな。 使い所を決めるセンスがある人が死んだ言語を選ぶわけがないから Smalltalkによる開発は必ず失敗するってことだね 自己定義してて、コードに全部実装書いてあるSmalltalkやっぱ偉大だな… 哲学的な問にも応えてくれる >>541 まあ元々、設計と実装の分離ってのは、初期の頃の「やり直しのコストが高い」時代のバッドノウハウだからねえ。 今でもSI時代のウオーターフォール方式を引き摺ってる所は多い。 Windows1.0を起動できたって喜ぶのと同じレベルだけど、そういう非生産的なのも趣味としては良いよね PolyMathOrg の libtensorflow-pharo-bindings を macOS と Windows とで試してて気になったんだけど GitHub からのクローン後のコンパイルが macOS版 Pharo だと一瞬なのに Windows版だとかなり時間がかかるのはそういうもの? 設計思想はObjective-Cに継承されたんだからええやんか http://mevius.5ch.net/test/read.cgi/tech/1538096947/385 >このスレは不特定言語スレだけど >高速性ならC/C++/Rast >コンパクト性の追求ならSmallTalkとかRubyとか >RADならJavaとかPythonとか定番固定化。 >既にもうある程度少数特定言語スレになりつつあ >る希ガス ほぼ一人の活躍のおかげでSmalltalkの評価がむっちゃ高い オブジェクト指向のネタスレでSmalltalkの話でてたな ここでももっと話せよ 他言語の人たちが珍しがる話でもSmalltalkだと語るまでもない事だったりするし… どんな話がしたいの? なんで死んじゃったゴミ言語にしがみついてるの? 人生無駄じゃない? それそのまんまお前に返すわwww 死んだ言語に粘着して人生無駄にすんなや タブレット対応のScratch3.0がそろそろ出ますね Pyonkeeさん、お疲れ様でしたw Visualworks 8.3でずっと止まってると思ったら 次期バージョンのV9を準備中なのな Objectworksと合体するとかスライドショーに書いてたがどうなることやら https://www.google.co.jp/chrome/thank-you.html?brand=CHBD& ;statcb=0&installdataindex=empty 南米はUMLツールのastahが売れたり、prologで作られた超高速開発ツールが販売されたりと、音楽同様秘境すぎる。 Design patterns Smalltalk companion の電子書籍って出てますか?それと同じような本でお勧めを教えてください 代わるものは思い付かないですね^^; 紙媒体では駄目なのですか?あるいは自炊とか。 ご存知かもしれませんが、一部ドラフト原稿がこちらで読めます。 http://sdmeta.gforge.inria.fr/FreeBooks/SmalltalkDesignPatternCompanion/ The chapters listed here are not in their final form but more in draft form. Buy the book it is really excellent. VisualWorksはPUL版の提供にさらに制限くわえてきたね 8.3.2のlatest欲しかったらREVライセンス買えってさ年間500ドル そもそもセキュリティライブラリもずっと同梱しないままだからWEB関連開発できないし 一体この先どうするつもりなんだろうね ライブ変換の入力はバグって使い物にならないしまったく・・ もういいかなって気がしてくるってもんよ いいけどさ、払ってもでも年間500ドルはさすがにないわ せめて100ドルにしてよ mathematicaは無料になったのになぜ時代に逆行する? いや、高くて誰も使ってくれないからいったん無料にして ←Mathematicaイマココ それだとやっぱ駄目だから制限つける ←VisualWorksイマココ って一連の流れの通りかと 学生用のライセンスも作ったからPULは単なるお試し版扱いにしたんだろうね ただこのライセンスも制限あって北米の学生じゃないと受けられないとかありそう 無料にしたって新規ユーザなんて絶対に増えないんだから いま居る物好きが年老いて死滅するまで 高値で売りつける以外の道はなかろう Unityみたいなライセンス形態にした方が良かったと思うけど。 商用利用の場合、儲かっているユーザーから金を取る。 せっかくいいプロダクトなのにもったいないな。 ほとんどのSmalltalkerは商用利用可能なPharoに流れた? なんか、バックテストで言語どれがいいか調べててRとPyとexcelつかってるんたけど、なんかおもしろいのがないかquoraみてたらsmalltalkってのを一時間前に知りました。 pharoをいれればいいの? 英語が苦にならないのなら、Pharo 7がおすすめ。 PharoLauncher をダウンロードしたら、 左側のリストで WindowsならPharo 7.0 - 32bit、 それ以外なら Pharo 7.0 - 64bitをダブルクリック。 OKしたら右側に同じ名前のアイテムが落ちてくるから、 それをダブルクリック。 これでPharo 7が開く。 Welcomeと書いてあるウィンドウの左側のリストで Learn Pharo を選んで、右側の ProfStef go をクリック。 するとチュートリアルが始まる。 これに従っていけば、言語の基本やIDEの基本操作がわかるようになっている。 vmの熟成度の問題で、今のところwindowsだけ32ビットVMがデフォルトになっている。 チュートリアル全部終えたよ! Pharo、R-guiっぽい感じ(マウスで選択してctrl+○で実行)もあるけどね。 言語は独特やなぁ。 pdfのマニュアルもダウンロードして流し読み。 Slideshareもみてる。世界的な建設車両の個人売買サービスがこれで動いてるらしいけど、ブロトタイプはsmalltalkでさくっと作ってプロダクションはJavaScriptに書き換える、そういう使い方が便利なの? 初歩的だけどwindows上のpharoで日本語のインライン入力はできないの? おお!SKK使ってるから試してみる ありがとう! PharoのVMは裏でSDL使ってるのかな 頑張ったらいけそうな気もする 以前、Squeakで変換ウインドウの位置を適切にするとかやっているブログを見たことがある はずなんだけど、いま探したけど、見つけられなかった。 最近はもうSqueakもPharoも追っかけていないんでわかんないんだけど、まだSqueakでも インライン入力はできないですか? LinuxだとVMオプションに-compositioninputをつけるといいらしい。 VMのソース見たけどWindows版はIMEのことは丸無視ですな... Squeakも同じOpenSmalltalk-vmみたいだから挙動は同じでは http://forum.world.st ↑を見ると、PharoとVisualworksはユーザー数に15倍から20倍の差があるかし、Visualworksはもうオワコンっぽいね。 Dolphin Smalltalk楽しいね〜 Win限定だけど簡単なGUIアプリならこれで十分? dolphin smalltalkってバイナリ配布は無いよね? >>597 VisualWorksは今回のPUL版制限で自らとどめかと Pharoに流れるってことも考えにくいからSTコミュはさらに縮小という結果に そもそもあれだな PUL版からセキュリティライブラリ抜くようになって随分経つから とっくに終わってたのかもしれないな・・ >>601 これそうなの!?サイズがあまりに小さかったんでスルーしてた。 サイトの説明だとVisualStudio入れてソースからビルドしろって書いてあるし。 あ、7.1.4ならセットアップ形式で配布されてるってことね...失礼しました。 Pharo 8.0でネィティブウィンドウを提供するから、VisualWorksは留めを刺されそう。 既に終わったマイナー言語の信者が ユーザ数でマウントしてるのクソ笑うわ 情弱アンチがしたり顔でちょっかい出してくるのクッソ笑うわ 言語をオワコン視するとき、言語もまたこちらをオワコン視しているのだ あるクラスの定義全体をソースファイル形式でざっと見るような機能はないのかしら。 エクスポートしたらソース形式になるのは分かるんだけど。 ちょっと他のクラスを参考にしながら書くみたいな時にBrowserだと見える範囲が狭くてマウス操作が多くなるなぁと思うのですよ。 >>610 処理系は? たとえばSqueakとかPharoなら String streamContents: [:ss | YourClass fileOutOn: ss] とか >>610 Pharo 7のCalypsoブラウザはその辺りの軽減を狙ってるけど まだタブ移動操作が必要だね。 >>611 なるほど! 使わせてもらいます >>612 ブラウザを使わず定義する文法があれば改善しそうだけどね >>613 まだ実験段階でいろいろバグが残ってるけど、 これのCoderってのがそのコンセプトに近い。 https://gtoolkit.com/#components Pharoに限らないかもしれないけど、プロトコルって実行時には何か意味あるの? メソッドの整理みたいなコーディング上の機能だけ? 例えばprivateにすると赤い印がついて意味ありげになるけど、普通に呼べるし。 >>615 あれはメソッドを分類して見せているだけ。 アクセス制御的なものは全くない。 >>615 Monticello(SCM)的にはパッケージに含まれないクラス以外に定義されたメソッドを パッケージに含める目印に流用している(つまり意味はある)けど実行時ではないからノーカン? あと、メタプロ的には実行時に利用可能な情報であるとか まあともあれ>>614 の言うとおり通常は単なる分類 あるいは「メソッド」というオブジェクトの属性の一つ みたいな感じ >>616 >>617 ありがとう。 >>617 が言うパッケージに含まれないクラスを...ってのがよく分からないけどMonticello自体よく分かってないので勉強してきます。 Dolphin Smalltalk 7.1、Windows 10日本語版で起動しないな VirtualBoxにインストールしたWindows 10英語版だとあっさり起動した 7.1から追加されてるコードページの処理とかがおかしいのかねぇ >>620 システムロケールを日本語からEnglish(United States)に変更すると起動可 青木先生の講座からSmalltalkが消えていた PythonとJava教えてるってさ >>622 教わる側もバカじゃないし、いまは少しググれば 「あれ?なんでこんなオワコン教わってんの?意味なくね?」 って気づいちゃうからね すげー反応遅かったな… もうヲチしてないのかな… しょぼーん Smalltalkの講義をやりたきゃ、南米やヨーロッパあたりの大学に行くしかないな。 >>586 >ブロトタイプはsmalltalkでさくっと作って >プロダクションはJavaScriptに書き換える まあそういうやり方が現実的だろうな? ライブラリやドキュメントや書籍とか 情報の充実度がぜんぜん違うからな! >>622 学校なら生徒からの要望があるだろうからな 今時普通に普及してる言語を教えてくれって! VisualWorks 9.0がやっと出た 予定通りObjectStudioと統合したバージョンになったようだが いつものようにPUL版は使えないんだろうな 一つだけいいことがあるとすれば8.x系でmacOSの3〜4世代前くらいまでしか対応できてなかったのが ようやくCatalina対応したってことくらいかな・・ ライセンスやセキュリティライブラリの問題が厳しいのは相変わらずだろう まあ今更ではある どうもV9から日本語版というのがなくなるっぽいねえ 大丈夫なのかね8.3とかライブ変換ON/OFFどっちでもデバッガに落ちるくらい 日本語扱えたもんじゃなかったが UTF8/16も問答無用でCJK互換漢字が正規化される関係でファイル名をそのまま扱えないこともたまにあるが これV7くらいからずっと引きずってる問題でリポートはしてあるけどファイル名をそのまま扱おうとすれば手を入れるしかなかった CatalinaからはCJKをファイル名に使うことはそもそもできないようになったので 自動的に解決ってことにはなるんだけど >>632 ずっといまどき普通に普及してる言語教えてなかったのに今更やん 本来はSmalltalk / Prolog / Haskell / Lispみたいなパラダイムを具現化した言語は大学でちゃんとやった方が良いかもね。 マーケティングを考えるとPythonとかになるんだろうけど。 LISPやったらSmalltalkは不要 っていうかSmalltalkはウンコ 半年遅れたこともある リリースしないってことはないだろうけど 無償版は起動時間とヒープ量で制限するのが妥協点かな。 いつものようにセキュリティライブラリを外して来るはず VisualWorks9の無償版の提供無いのかな? 出ても出なくてもPUL版使い物にならないしなあ・・ 商用利用できなきゃ意味ないな。Pharoで十分となる。 スレチかもしれないけど 、Python でクラスブラウザ風に使えるプログラムないかな? M1プロセッサに対応したPharoのVMって出てるの? cincom news見てる限りPUL版もう出す気ないみたいね REVで契約しろとさ Pharoは世の中に出てくるのが10年遅すぎたかな。 PharoはUIがどうしようもないから触る気になれない native UIになるって話は前あったけど進んでるのかね >>655 バックエンドはGTKに変えたらしいけど、あんまり変化ないな。 そういやREVの案内来てたから見たら ライセンス1年で$1000だってさ ハハッ IDEのフォントが汚いな。 MDIスタイルのUIも古臭いし。 >>659 そんな突き放した事を言っているからシェアが伸びない。 VisualWorks9.1に年1000ドル払ってる人いますか? Gemstone/SをDevKit_homeでインストール試したけど失敗しちゃう あれは古すぎるからな mojaveで動かなくてVMでsnow leopard環境でやったらインストールできたときは笑うしかなかった >>663 >Gemstone/SをDevKit_homeでインストール試したけど失敗しちゃう これhostsに書いたら解決しました。 『Smalltalkでは、オブジェクト同士はメッセージでやり取りを~』 というのはよく見聞きするけど、オブジェクトを「互いにメッセージを送信するもの」と考えると、 どのようなメリットがあるのか良くわからん・・・ 結局は、『メッセージ送信=メソッド呼び出し』じゃないのん・・? メッセージ送信をメソッド呼び出しとして処理系つくったんだから そりゃそうというか結局の意味がわからん(わかるが系譜をかんがえてみ) 一番安いstandard supportで$2295/年 だけど・・ trialバージョンがフルバージョンならともかく何にも書いてない win/linux版しかないみたいね squeakから家庭内ネットワークのサーバにtelnet(またはssh)接続して オートパイロットしたいのですが、どこかにログインして適当なコマンドを 入力して出力を取り込むサンプル無いもんでしょうか。linuxでいうexpectみたいな。 read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる