アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
今時の若いもの(藁)の意見 (スコア:1)
「OO言語を使うの必須だ」とは言ってません。
#俺もまたDQNかどうかは、さておくとして。
べつにLispでもいいんじゃないですか?
OOPというよりもどちらかというと、参照ベースの変数とか、GCとか、そっちのほうが
(気楽にプログラミングできるような高級な言語の)基礎としては大事な事柄で、
それこそCLOSみたいに、それらの仕組み(だけ)を駆使してライブラリレベルでOO言語風に仕立ててもいいんだし。
問題はshだとそれ「すら」旨くできない、という点だと思います。
OO「も」出来ない(やりにくい)。
そしてそれは、それ以外の色々なことも出来ない(やりに
Re:今時の若いもの(藁)の意見 (スコア:1)
まず、ご存じないような感じがするのでirbの紹介
http://www.rubyist.net/~matz/?date=20030815
これを使ってUnixのコマンドを呼べばかなりのことができそうに感じます。
Windowsでしたら、ActiveScriptRubyをいれれば、一通り遊べます。
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
もっとも、Rubyからでは標準出力と標準エラー出力を同時に取れなかったと思うため、
完璧なものではないでしょうけれども。
###
個人的に「UnixのOOラッパーとしてのRuby」という言い回し
Re:今時の若いもの(藁)の意見 (スコア:1)
や、俺もよく判っていません。
このmishimaさんの数年来のm(__)m日記を手繰って読んでるだけです。
#そういや、日記へのコメントのページから、作者の記事一覧ページへ、行けるリンクが無いような…>スラド
>まず、ご存じないような感じがするのでirbの紹介
>Windowsでしたら、ActiveScriptRubyをいれれば、一通り遊べます。
あう。名前は知っていますが使ったことが無いもんで言及しませんでした。
そういやLispつーかSchemeな人々が時折言ってますね、
「いっそLispをコマンドラインにしたらどう
Re:今時の若いもの(藁)の意見 (スコア:1)
> いや、「何を」ラップするのか?という問題が残ります。
ここでラップするのはある目的を達成するための手段であって、例えばUnixのselectをラップするのとは違うかと。
ラッパーは当然selectに相当する処理は提供しますが、select自体は提供しない。
.NETからWin32APIを呼び出すようなものですから。
> GUIアプリの「fork」が見てみたいのでG7
IEの「新しいウィンドウで開く」とかはforkっぽいですかね。
> ついでに「exec」したらどうなるんだろ?
こちらはExplorerにURLいれたり、IEにファイルパスいれたり、でしょうか。
Re:今時の若いもの(藁)の意見 (スコア:1)
いや、例えばselectのような「考え方」をラップする、ってことは有ると思います。
例えば数年前のVersionまでのJava(あれもOSですよね?>Sun(藁))には
selectそのものどころか、select「的なもの」が何もなかったわけで。
#Threadを使えば、一応同じようなことは(非効率に)行なうことは出来るけど、そりゃ何か違うわけで。
APIって、大袈裟にいえばFrameworkなんです。
使い方のベストプラクティスから、時としてプログラム全体の考え方までをも、「縛る」ものです。
そう。考え方。
で、環境なりなんなりに、その「考え方」が最初から無い、ということはよく有るわけです。
#そういやMSX DOS1にはDirectoryが無かったなあ…(とおい目
>IEの「新しいウィンドウで開く」とかはforkっぽいですかね。
>こちらはExplorerにURLいれたり、IEにファイルパスいれたり、でしょうか。
あはは。あえて言えば似てますね。
そういう意味では、URL(色んな種類のメディアだのなんだのを飲み込んじゃえる)とか
それのレンダリングソフト(のPlatform)の実装としてのIE(とWindows)は、興味深いです。
でも逆にいえば、ああいう処でくらいしか見たことが無いんですよね。
他のアプリで、あんな挙動をする奴って、見たことが無い。
作れば当然出来るはずなんだけど。面白そうなんだけど。
>確かにpsすると「高速起動」にしたアプリのプロセスが眠っているんですよね。
>それをforkしていたんですか。
たしか、C++の仮想関数テーブルの解決を「実行ファイルが起動するたびに」やると、
その手間が馬鹿にならんので…という話だったとうろ覚えしてます。
確かに素晴らしい話なんですが、逆に言えば、
ここでもプロセスの壁とOOPとの相性の悪さが見え隠れしてるように思います。
この問題はたまたまforkで回避できたわけですが、ね…
Re:今時の若いもの(藁)の意見 (スコア:1)
「考え方」は「手段」のこと・・・ではないか、な。
ちょっとそこまで詰めきれてません、が、
UNIXselectの一挙手一投足をエミュレートするわけではない、ってことですかね。
Cygwinとは違う、と。
> APIって、大袈裟にいえばFrameworkなんです。
ですよね、ある種「言語」や「ライブラリ」と同種のものと捉えてます。
で、パラダイム自体がないというのは確かによくありますね。。。
ありがちなのが無名関数。
> 他のアプリで、あんな挙動をする奴って、見たことが無い。
使っている途中で、分身したり変身するソフト・・・他にないですねぇ。
デスクトップマスコットとかAgentとか呼ばれるソフトと組み合わせたら、
なにかおもしろいものができないかなぁ・・・。
> たしか、C++の仮想関数テーブルの解決を「実行ファイルが起動するたびに」やると、
> その手間が馬鹿にならんので…という話だったとうろ覚えしてます。
どうも、バッドノウハウの香りがしますね、、
プロセスの壁、が解決すればこれは大丈夫、と?
プロセスの壁って、その高さをメソッドの高さにまで下げればそれでいいのでしょうか。
#いや、メソッドじゃなくてインスタンスか・・・?
HTMLのフレームページで、上フレームのJavaScriptが、
下フレームのJavaScriptの変数にアクセスする感じですよね?
Re:今時の若いもの(藁)の意見 (スコア:1)
>「考え方」は「手段」のこと・・・ではないか、な。
考え方はWhatあたりだし、手段はHowだろう、と思います。
>> たしか、C++の仮想関数テーブルの解決を「実行ファイルが起動するたびに」やると、
>> その手間が馬鹿にならんので…という話だったとうろ覚えしてます。
>どうも、バッドノウハウの香りがしますね、、
ある意味でそうかも。
>プロセスの壁、が解決すればこれは大丈夫、と?
>
>プロセスの壁って、その高さをメソッドの高さにまで下げればそれでいいのでしょうか。
>#いや、メソッドじゃなくてインスタンスか・・・?
高さとかいうよりも、「どういう事象を」壁で遮るか?という問題だと思います。
まず、最悪暴走してもプロセスの外を侵さないってのは、
ポインタが抽象化されていれば(つまりポインタの演算なんてことの権利をアプリ(?)に与えなければ)
生じようが無くなる問題なので。
これは一連のモダン(?)なメモリ管理によって万事解決のはず。
似たような話として、バッファオーバーフロー云々もこれで解決かと。
あとはリソースのLimitの問題ですね。
「このプロセスには」メモリは幾つまで、ファイルは幾つまで、を許すとかいうアレ。
これ、素朴なOOPではサポートしていませんが、
Javaとかの中でもそういうLimitっぽい制約をかけるっていう研究は
なされてるみたいなんで、近い将来に期待ってとこかと。
あと、そもそもUnixスタイルだと、メモリの座(^^;としてはプロセスしか無い
ってのも、根本的に間違っているわけです。
実行ファイル(や動的ライブラリ)をメモリにロードしてから、ポインタを「解決」しておいた状態のモノが
必ずプロセスの中にしか置けないので、今みたいな変な話になる。
それはそれで別の身分を与えて、他のプログラム(?)から軽量な参照を許すようにすれば、いいわけで。
なお、いわゆる共有メモリでソレが出来るかどうかは存じません。
あとハードウェアによる”プロセス単位”のメモリ保護は、この場合は足枷でしかないってことで以下略。
>HTMLのフレームページで、上フレームのJavaScriptが、
>下フレームのJavaScriptの変数にアクセスする感じですよね?
アクセスPATHが有るかどうか、という話も関係してきますね。
PATHが有ればそれを不正に使う(故意かバグかはさておき)可能性も有るけど、
じゃあどこまで遮断しようか?と。
JavaServletのAPIでも、どっかの時点で、
"セッション"間のアクセスPATHを封じるようなAPI仕様変更が入ってた
と記憶してます。
結局プロセスの壁って、全て(?)のPATHが封鎖されちゃってるんですよね。だから困る。
必要な所だけ開けるってことをしとくと、だいぶ楽になるはず。
あと、権限を与える単位って、やっぱりスレッドか、それをまとめたもの(スレッドグループっていうのかなあ)
あたりになるのかも。