バイナリをゲロる言語の魅力って何?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/15(日) 08:41:510002デフォルトの名無しさん
2006/10/15(日) 08:57:310003デフォルトの名無しさん
2006/10/15(日) 09:08:34http://0xcc.net/pub/decon2006/0015.html
0004デフォルトの名無しさん
2006/10/15(日) 09:37:49その言語を使いたい(あるいは使わなければならない)理由がほかにあるから使う、それだけ。
0005デフォルトの名無しさん
2006/10/15(日) 10:00:07ゲロるってコアを吐くってこと?
0006デフォルトの名無しさん
2006/10/15(日) 10:00:47ただそれだけ。
0007デフォルトの名無しさん
2006/10/15(日) 10:09:280008デフォルトの名無しさん
2006/10/15(日) 11:22:340009デフォルトの名無しさん
2006/10/15(日) 11:56:440010デフォルトの名無しさん
2006/10/15(日) 11:58:47バイナリってのはプログラム言語という卵子に俺のコードという精子を
ぶっかけることによって生まれてくる赤ん坊なんだ! ひとつの命なんだよ!!
0011デフォルトの名無しさん
2006/10/15(日) 14:20:380012デフォルトの名無しさん
2006/10/15(日) 15:17:570013デフォルトの名無しさん
2006/10/15(日) 15:43:44スクリプトは遅すぎるから簡単な操作にしか使えないじゃん。
0014デフォルトの名無しさん
2006/10/15(日) 15:57:17しかも、スクリプト系。
0015デフォルトの名無しさん
2006/10/15(日) 16:38:29コードばっかりだから、Cなんか使わないでいいだろって思うよ。
0017デフォルトの名無しさん
2006/10/15(日) 17:59:46その考えは別に問題なし
スクリプト言語で何でも出来ると思ってるのは間違い
0018デフォルトの名無しさん
2006/10/16(月) 16:50:13・多くのOSで、いわゆる「バイナリ」はコンテナファイル。
PEとか、ELFとかCOFFとか。なので、コード以外のリソースをまとめられる。アイコンとか。
メタデータを多重化できると言えばいいのか。 スクリプトでも頑張ればできるかも。
・解析が難しくなる。本気で解析されたらなんとでもなるけど。
・実行権限を独自に設定できる。
Windows上だけの魅力だな。
機能的、速度的な違いは本質的ではない。
Unix系の、スクリプトの実行がシステムからサポートされるシステムと、
そうではないWindowsでは話が異なる。
Unix系だと、違いは無いと思う。
0019デフォルトの名無しさん
2006/10/16(月) 19:29:06jarやODF考えるとコンテナだからいいってのは微妙…
実行環境次第ではなんとでもなるし。
むしろ、PC以外の環境(の方が実社会でははるかに多い、携帯とか)を
考慮したときに、>>1は糞、という結論。
0020デフォルトの名無しさん
2006/10/16(月) 20:02:26まとめられるのは長所でも短所でもある。
文字列リソースなんかはむしろ外の方がいい。(隠したいなら別だが)
しかも、スクリプトもそんなに頑張らなくてもまとめられる。
>機能的、速度的な違いは本質的ではない。
この問題をあえて避けるのはどうかと思うが…。
結局は、このバランス取りを考えてどちらの言語を使うか?
という問題に落ち着くと思う
0021デフォルトの名無しさん
2006/10/16(月) 22:47:30> Unix系の、スクリプトの実行がシステムからサポートされるシステムと、
> そうではないWindowsでは話が異なる。
アホなのかどうなのか知らんが、別にwindowsでもスクリプトの実行はサポート
されてるぞ。
というか、そのレス全体的に思い込みで書いてるだろ。
0022デフォルトの名無しさん
2006/10/16(月) 22:56:210023デフォルトの名無しさん
2006/10/17(火) 00:31:000024デフォルトの名無しさん
2006/10/17(火) 10:14:35・スクリプトに実行権限つける。
- そのユーザの権限で、インタープリタ直接は実行不可だけど、そのスクリプトの実行は許可する
・拡張子以外の方法で、インタープリタを指定する。
- #! 記法と同等のこと。
が、Windowsでできる?
setuidもできると良いけど、もともとWindowsには無いので、期待しない。
(Windows上ではバイナリ/スクリプトの差にはならない)
0025デフォルトの名無しさん
2006/10/17(火) 18:51:45Windows Script Hostを勉強した方がいいと思うよ
un*xのスクリプトよりはるかに優秀
0026デフォルトの名無しさん
2006/10/17(火) 19:02:140027デフォルトの名無しさん
2006/10/17(火) 20:28:25CreateProcess でスクリプトを実行できないので、インタプリタを起動して引数でソースを指定するか、
ShellExecute でシェルを経由するかしなくてはならない。
>>26
wsf って拡張子いらないんだっけ?
0028デフォルトの名無しさん
2006/10/17(火) 21:47:070029デフォルトの名無しさん
2006/10/17(火) 21:49:550030デフォルトの名無しさん
2006/10/17(火) 22:04:40>が、Windowsでできる?
出来ても大して嬉しくないんだが…。
どうせ、他言語のスクリプトは動かないし。
つーか、一般ユーザー権限でログインして、NTFSにして、cygwin使えと。
こんなことだけで、バイナリとスクリプトは同じだ。なんて言う人はおそらく一人。
0031デフォルトの名無しさん
2006/10/17(火) 22:11:140032デフォルトの名無しさん
2006/10/17(火) 22:21:41流れを読め。
>>21がトンチンカンンなこと書いてるから突っ込まれてるわけで、
Windows でそういうことがしたいと言っているわけではないだろう。
0033デフォルトの名無しさん
2006/10/17(火) 22:21:49WSHは任意の言語を実行できるようになっている。
VBScript, JScript以外にはActivePerl, ActiveScriptRubyが存在する。
0034デフォルトの名無しさん
2006/10/17(火) 22:29:31カーネルがインタプリタ/foo/barを起動してそのファイルをスクリプトとして実行してくれる。
Windows では、ユーザなりシェルなりがインタプリタを起動して、スクリプトファイルを渡して
あげる必要がある。wsh ならば wsh.exe を起動して、引数でスクリプトファイルを渡す、等。
そういう違いがあるね、というだけの話。
0035デフォルトの名無しさん
2006/10/18(水) 06:03:32>Windows でそういうことがしたいと言っているわけではないだろう。
そういうことをさせたくて書いたわけではなく、
そうすれば、>>34の違いはゴミみたいな問題になるでしょ。
という意味で書いた。
このゴミみたいな問題で、バイナリとスクリプトの長所の違いを
見るっつーのは、可笑しいだろ?
0036デフォルトの名無しさん
2006/10/18(水) 10:15:10その4つしか選べないんなら、「任意」とは言わんだろ。
wshのフレームワークに組み込まれた言語を選択できる、って言い方になる。
>>35
実質的に、その「ゴミみたいな違い」しか、違いは無い、と思うが。
ゴミみたいな違いってのは、カーネルが直接実行形式とみなして、
属性評価を行う、ってことね。
0037デフォルトの名無しさん
2006/10/18(水) 10:39:58#!記法は、解釈しないインタプリタもあれば解釈するコンパイラもあるぞ。
まったく本質的じゃないな。それは言語の周辺環境のごく一部の話だと
思うんだが。
#!記法に対応してるインタプリタがある言語の、Unixもどき系OSにおいての
利便性の違いだけを話してたの? 意味はあるけど本質じゃないよな。
0038デフォルトの名無しさん
2006/10/18(水) 12:42:05#!はインタプリタやコンパイラが解釈するんじゃなくて、カーネルが解釈する。
ウィンドウズの場合は、プロセスを起動する側がそのスクリプトを解釈する
インタプリタを知っていて、それを起動しなくちゃならないけど(←シェルに任せ
てもいいけど)、Unix ではそれをカーネルがやっているという話。
>>35
>Unix系の、スクリプトの実行がシステムからサポートされるシステムと、
>そうではないWindowsでは話が異なる。
>Unix系だと、違いは無いと思う。
というのが元の発言だよね。長所短所の話ではなくて、「Unixでは違いが無い」
というのがこの主張の肝でそ。
Windows だとやっぱり違いがあると思うなぁ・・・
スクリプトはCreateProcessでは起動できないとか、拡張子で関連付けしておかないと
ShellExecute でもエクスプローラーでのダブルクリックでも起動できないとか。
0039デフォルトの名無しさん
2006/10/18(水) 18:35:22Windowsはexeファイルすら関連付けしないと起動しないぞ?w
0040デフォルトの名無しさん
2006/10/18(水) 18:52:19OSの違いを抜きに話し進めてくれないか?
0041デフォルトの名無しさん
2006/10/18(水) 18:52:42早い段階でちゃんと否定しておいた方がいいだろ。
>>39
関連付けなんかなくたって、CreateProcess で起動できますよ。
0042デフォルトの名無しさん
2006/10/18(水) 18:57:310043デフォルトの名無しさん
2006/10/18(水) 19:02:07言語としてのC++に魅力があるのか、
現状のバイナリを吐くC++に魅力があるのか、
と考えると3番目だけが事実だと思う。
(思うのはたぶん自由なのだろうから責めないでくれ)
0044デフォルトの名無しさん
2006/10/18(水) 19:59:030045デフォルトの名無しさん
2006/10/18(水) 20:41:37> #!はインタプリタやコンパイラが解釈するんじゃなくて、カーネルが解釈する。
カーネルから渡されたあとにインタプリタやコンパイラが読み飛ばせなきゃ、
スクリプトは動かないよ。
人の話を無視してお前の言いたいことをリピートされても困る。
0046デフォルトの名無しさん
2006/10/18(水) 21:00:16・バイナリとスクリプト言語のどちらも同じ (unix)
・バイナリとスクリプト言語では異なっている (Windows)
のなら、後者についてはその差異による優劣が発生する可能性がある。
Windows に詳しい人が「そんなのありませんよ」と否定すれば
それまでだけど。
0047デフォルトの名無しさん
2006/10/18(水) 22:00:59#!記法は解釈しないインタプリタもあれば解釈するコンパイラもあるっつーに。
0048デフォルトの名無しさん
2006/10/18(水) 22:27:59それを言ってる。
だから普通のバイナリのようには使えない。
これでバイナリとスクリプトの優劣があると言えるほどの
差異なのかどうかはわからないけど。
0049デフォルトの名無しさん
2006/10/18(水) 22:48:32スクリプト言語は#!を解釈するというその思い込みをどうにかしろよ。
0050デフォルトの名無しさん
2006/10/18(水) 22:54:54「バイナリをゲロる言語の魅力って何」というテーマに沿って考えるにあたって、
今は「そもそもカーネルがバイナリファイルしか起動できないOSが普及してる」
という1つの事実に焦点を当てているとこなわけで。
0051デフォルトの名無しさん
2006/10/18(水) 23:10:350052デフォルトの名無しさん
2006/10/18(水) 23:14:23こいつを lisp.exe とかにしとけば lisp のコードも一発起動か・・
0053デフォルトの名無しさん
2006/10/18(水) 23:46:38> というのが元の発言だよね。長所短所の話ではなくて、「Unixでは違いが無い」
> というのがこの主張の肝でそ。
0054デフォルトの名無しさん
2006/10/19(木) 07:04:27スクリプトのようにも実行可能なコンパイラの拡張ってしないのかなあ。
ソースの頭に#!/usr/bin/gccひっつけて、実行形式変換すれば
スクリプト言語のように実行可能とか。
0055デフォルトの名無しさん
2006/10/19(木) 07:12:23D言語使うといいよ
0056デフォルトの名無しさん
2006/10/19(木) 11:59:25つ[#!/tcc -run]
0057デフォルトの名無しさん
2006/10/20(金) 00:30:42いつの間にそんな機能がついたんだ。変態言語だなw
0058デフォルトの名無しさん
2006/10/23(月) 18:39:46先頭1行削ってテンポラリの実行ファイルを作って実行、
というgccrunなるスクリプトを作って、
#!/usr/local/bin/gccrun
とか書いておけばいいのでは・・・
0059デフォルトの名無しさん
2006/11/21(火) 12:57:10機能的な面はさておき、
スクリプト言語よりもCとかjavaの方が文系経営者に信頼されるでしょう
0060デフォルトの名無しさん
2006/11/21(火) 13:13:32自作スクリプト言語の処理系を作るのに役立ってます
0061デフォルトの名無しさん
2006/12/09(土) 06:46:27Java
java
NullPo
0062デフォルトの名無しさん
2006/12/29(金) 02:50:50じゃわ
ι゛ゃゎ
Gagh
0063デフォルトの名無しさん
2006/12/29(金) 05:46:19exerb
(ruby)
0064デフォルトの名無しさん
2007/04/10(火) 16:38:42PATHEXTを設定すれば、コマンドラインでも意識することなく使用することが可能
0065デフォルトの名無しさん
2007/04/19(木) 13:37:470066デフォルトの名無しさん
2007/04/20(金) 23:12:57シェル経由の話じゃないんだよね。
一番プリミティブなとこのAPIが対応してるかってのが重要。
スクリプト言語のスクリプトファイルに対して直接CreateProcessできて、
インタープリタのパスが分からなくても、セキュリティコンテキストの継承とか指定とかできるかってこと。
少なくとも現行のWindowsではできない。
0067デフォルトの名無しさん
2007/04/23(月) 15:55:34俺はバカだから良く分からないのだが...
ShellExecuteじゃ駄目なん?
0068デフォルトの名無しさん
2007/04/30(月) 11:24:20#!/fugafuga/hogehoge
行って誰が解析してるん?
0069デフォルトの名無しさん
2007/04/30(月) 11:50:260070デフォルトの名無しさん
2007/04/30(月) 16:27:49execve
0071デフォルトの名無しさん
2007/04/30(月) 16:52:02同時にWikipedia以外のWikiも盛り上げよう!
0072デフォルトの名無しさん
2007/05/07(月) 01:27:33では、そのスクリプトを実行するプログラムはスクリプトなのか?
そうだとしても、結局それを実行するのはバイナリだろう。
スクリプトはバイナリの存在が無ければ成り立たない。
その事を理解していればそんな事は言えないだろう。
まあスクリプトを直接解釈するCPUがあるなら別だが。
0073デフォルトの名無しさん
2007/09/19(水) 17:00:29スクリプトを直接解釈するCPUならば、それは既にスクリプトではなくバイナリでは?
0074デフォルトの名無しさん
2007/10/15(月) 14:35:42ばあちゃんが言ってた
死んだじいちゃんが解析してるんだってさ
0075デフォルトの名無しさん
2007/10/15(月) 19:39:52execve(2)
0076デフォルトの名無しさん
2007/11/12(月) 15:18:22C言語のマクロ、C++のtemplateクソすぎるし
0077デフォルトの名無しさん
2007/11/18(日) 12:47:36> execve() は、filename によって指定されたプログラムを実行する。
> filename は、バイナリ実行形式か、以下の形式の行で始まるスクリプトでなければならない。
>
> #! interpreter [optional-arg]
...
> interpreter は有効な実行ファイルのパス名でなければならず、
> それ自身がスクリプトであってはならない。
つまり、スクリプト型実行ファイルでは、インタプリタを実装出来ない。
windowsよりはスクリプトの実行がシステムAPIレベルでサポートされているが、
バイナリ実行形式と同様のサポートとは言い難い。
と亀レスしてみる
0078デフォルトの名無しさん
2007/11/19(月) 23:53:14ペンチとプライヤー,どっちが優れてるかなんてのは愚問。
0079デフォルトの名無しさん
2007/11/20(火) 16:37:07ははは/bin/sh等の存在は無視ですか?そうですか。
0080デフォルトの名無しさん
2007/11/25(日) 18:19:10pythonとか。
0081デフォルトの名無しさん
2007/12/05(水) 00:56:290082デフォルトの名無しさん
2007/12/05(水) 21:38:59ttp://ja.wikipedia.org/wiki/バイナリ
ここを信用するなら、バイトコードもバイナリだね
0083デフォルトの名無しさん
2008/02/11(月) 21:03:380084デフォルトの名無しさん
2008/04/08(火) 14:28:420085デフォルトの名無しさん
2008/04/08(火) 16:36:160086エビフリャー
2008/06/29(日) 17:46:42・名古屋市営地下鉄の車内搭載発車促進メロディーはフジテレビ系「なるほど・ザ・ワールド」の時間切れ前警報音を参考にして考案されたものです。
・ドレミファモーター(京浜急行)は芸能界の鉄道ファンタモリさんがテレビ朝日系「タモリ倶楽部」の中でで考案しました。
・名鉄パノラマカー7000系の発車音・走行音・減速音・停止音は日本テレビ系「欽ちゃんの仮装大賞」の不合格の時の効果音に似ている。
・西鉄のnimocaは歌手でタレントで倖田來未の実妹であるmisonoさんが考案したのもです。
タモリ空耳アワー
・高校三年生: あ、あー、あ、あ、あー 合ーコン三年生ーーーーーーーーーー
タモリさん名古屋大好き
・タモリさんはエビフリャーの名付け親です。
・タモリさんは日本の中で名古屋が一番好きであり、且つ地元の人以上に名古屋の文化や風習に詳しい人です。
・タモリさんは自分の第2のふるさとは名古屋であると言っており、将来名古屋市役所から名古屋親善大使として任命されると思います。
0087デフォルトの名無しさん
2008/06/29(日) 20:13:130088デフォルトの名無しさん
2008/06/30(月) 20:57:360089デフォルトの名無しさん
2008/10/29(水) 15:44:49処理系を、標準とは違うpathにインストールされてたら動かないじゃん
0090デフォルトの名無しさん
2008/10/29(水) 15:48:440091デフォルトの名無しさん
2008/10/29(水) 15:57:250092デフォルトの名無しさん
2009/03/14(土) 01:52:570093デフォルトの名無しさん
2009/04/07(火) 12:06:360094デフォルトの名無しさん
2009/04/23(木) 06:26:08465 名刺は切らしておりまして 2009/04/22(水) 23:04:36 ID:LMZKff4U
>>447
それでも歴史は繰り返す(w
メインフレームはCPUもOSも最初から仮想化の権化だったが
(数十年前のアセンブラやバイナリが、最新モデルで今も無修正で動く)、
ハード依存ばりばり、ハード丸見えだぜ!のUNIXやx86が台頭した。
一時はMicrokernelやOOがもてはやされたが、
NT kernelやLinuxを含めて後退した。
Javaの理想はOS非依存だが、実際はJSFとかも併用される。
.NET(CLR)もサーバー本体の開発には使われない。
OSI/COM+/CORBA/EJB/SOAPとか、理想だが面倒で遅いものは結局普及しない。
技術者は美学でレイヤーに走るが、遅いと売れないのでハード依存に戻る。
ハードの性能は上がるが、同じハードで遅ければ評判を落とす。
歴史は繰り返す(w
■ このスレッドは過去ログ倉庫に格納されています