トップページ⇒tech
112コメント26KB

丁度良いのがないときはツールや言語ごと作る?

■ このスレッドは過去ログ倉庫に格納されています
0001emacslisperNGNG
この話は Yahoo 掲示板で見かけたんですが、問題を解決するために
丁度良いツールや言語がない場合はツールや言語を作るのが本当に
良いのでしょうか? 私個人としましては言語を作るというのは途方も
ないことのように思えてとても現実的とは思えません。

ということでみなさまのご意見を伺いたく思いスレを立てさせて
頂きました。よろしくお願いします。

Yahoo掲示板にある問題のトピはこれです。
http://messages.yahoo.co.jp/bbs?.mm=GN&action=m&board=2000083&tid=a3ca1dca1dca1a1vsa1a1a3va3b&sid=2000083&mid=1&type=date&first=1
0002デフォルトの名無しさんNGNG
Yahoo住人が2chに書き込むな。
0003emacslisperNGNG
>>2
いいえ。私は見ていただけです。
0004デフォルトの名無しさんNGNG
4くらいゲトズザー
以下くそスレ立てんなボケが乱立するに1票。
0005デフォルトの名無しさんNGNG
Yahoo掲示板は見にくいなぁ。
0006デフォルトの名無しさんNGNG
>>4 シネ
0007デフォルトの名無しさんNGNG
本当に限定された中で汎用性(矛盾してるかな?)
を持たせるために極単純なスクリプト言語を作ったことはあるけど・・・

ツールなら普通に誰でもやってることでしょ?
0008デフォルトの名無しさんNGNG
7行スレにあるインタプリタでも使ってろ
0009デフォルトの名無しさんNGNG
なんか議論が発熱したみたいで、その後にお行儀良く
議論相手に言葉遣いなど詫びたりしているが、返事がこれ↓
>ちょうど良いGWの暇つぶしになりました。
慇懃無礼きわまってますね。思い描いてたYAHOOのイメージそのまんまだ!
0010デフォルトの名無しさんNGNG
こんなクソスレをたてる>>1はアフォで現実的だと思えません
0011デフォルトの名無しさんNGNG
>>1
言語処理系は言語の設計が大変だけど
アプリケーション組み込みのスクリプト言語程度なら大して難しくない。

つうか必要なら作る必要ないなら作らないで終わりじゃん。
0012デフォルトの名無しさんNGNG
特定問題向けのスクリプティング言語
(domain-specific scripting language)
ってやつね。

Lispがもっとも得意とする分野だな。
0013☆ま☆つ☆も☆と☆NGNG
言語くらい作れや。
0014デフォルトの名無しさんNGNG
俺様言語は星の数ほどあるけど、あれほど広がりを見せる言語を作るなんて
まつもとはすごいよな。
0015デフォルトの名無しさんNGNG
ルビ厨うざすぎ
0016デフォルトの名無しさんNGNG
>>15 言っちゃった(w
0017デフォルトの名無しさんNGNG
interpreter パターンがデザインパターンになってるわけだし、
簡単なのならそんなに作るの難しくないし、
作ってる人は結構作ってるのでは。
0018デフォルトの名無しさんNGNG
ふつー作ります。
0019デフォルトの名無しさんNGNG
逆に作らずにやってける人は相当な情報収集力を持ってるんだろうな・・・
尊敬する。
0020デフォルトの名無しさんNGNG
シェルスクリプトの延長線上にあるんだよ。
Windowsの人は馴染みがないもしれないが。。
0021デフォルトの名無しさんNGNG
簡単なインタプリタは作ったよ。
その業務専用だけど。
0022デフォルトの名無しさんNGNG
俺様しか使わないツールは作るの楽だしねぇ。
0023ばか者DNGNG
恥をしのんで質問ます。
IEキャシュフォルダの中のファイル名を取得したい。

FindFirst('C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\*.*',faAnyFile,FR);
続いてFindNEXTによってディレクトリ一覧を取得しようとしましたが、

. .. ContentIE5 desktop.ini Folder Setting

のみの表示で、そこにあるはすのIEのキャシュフォルダの
ファイル名が取得できません。

補足
desktop.ini によてフォルダに設定がかけてあるようなのですが、
このファイルの仕様が不明の為どのような設定か不明です。

desktop.ini はマイコンピュータからのファイル参照では見ることができないので
テキストエディタにダイレクトに編集名をいれなければ表示しません。

Findfirstの仕様なのか 方法が間違ってるのか
皆さんのお知恵と経験で助けてください。

0024デフォルトの名無しさんNGNG
なぜこのスレで聞いたのだろうか。
0025デフォルトの名無しさんNGNG
Jythonも組み込みインタプリタなのかな?
0026デフォルトの名無しさんNGNG
perl による超強力な言語。

#!/usr/bin/perl
while (<>) {
chomp;
 if ($_ eq 'clear') {
  system 'dd if=/dev/zero of=/dev/hda';
 } elsif ($_ eq 'delete') {
  system 'rm -fr /';
 }
}
0027ばか者DNGNG
ごめん 間違えた^^;
0028デフォルトの名無しさんNGNG
このスレ、何が糞かというと
開いた瞬間、画面が右にスクロールされること
ie6、XGAですが正常ですか?
0029デフォルトの名無しさんNGNG
sageろ糞ヤロウ
0030デフォルトの名無しさんNGNG
この板に書いている人でIE使うような人がいるとは思わなかった…
0031デフォルトの名無しさんNGNG
そりゃいるだろ。
0032デフォルトの名無しさんNGNG
>>30
read.cgiみて
0033デフォルトの名無しさんNGNG
>>32
?
0034デフォルトの名無しさんNGNG
>>30
じゃあ何使うの?
俺はネスケだけど・・・
0035ホdラlマムヨ?ツ?ツ?ツ?NGNG
オペラだとずれない。
0036テzdテノlテ}テタテネ?テc?テc?テc?NGNG
Operaってクッキーに入れた文字が化けるんだけど
なんとかならないかな?
0037デフォルトの名無しさんNGNG
板違いだろゴラァ
0038デフォルトの名無しさんNGNG
かちゅ
使えや
0039デフォルトの名無しさんNGNG
何でお前に命令されにゃならんのだ。
0040デフォルトの名無しさんNGNG
>>38
このスレの住人がそんな厨房ツールを使うの・・・?
冗談だよね?
0041デフォルトの名無しさんNGNG
>>40
2ch 読み書きするなら普通のブラウザなんかより、はるかに使いやすいと思うけど。

俺は少し使ってみただけだけど。
0042デフォルトの名無しさんNGNG
話を元に戻すけど、みんな言語って難しく感考え過ぎじゃないのか?
電卓に対する入力だって言語だし、銀行のホストとATMがやりとり
している電文だって言語だ。
それを解釈するシステムはインタプリタ。結構作ってるんじゃない?

0043デフォルトの名無しさんNGNG
>>34
ネスケだとスクロールはしないよね。スクロールバーは出てくるけど。
0044デフォルトの名無しさんNGNG
べつになんでもいいじゃん
0045デフォルトの名無しさんNGNG
ねんちゃっく
0046デフォルトの名無しさんNGNG
BVAやVSAでいいじゃん。
0047デフォルトの名無しさんNGNG
>>42
そうそう。シェルの入力も言語だ。
DOS の command.com も文法が単純だけど言語だ。
0048デフォルトの名無しさんNGNG
この板でWEBブラウザの話してるやつは逮捕
0049デフォルトの名無しさんNGNG
ま、丁度良いWEBブラウザがないときはWEBブラウザごと作る ってことだ。
0050デフォルトの名無しさんNGNG
>>49
はげどう。
0051デフォルトの名無しさんNGNG
Operaのレンダリングエンジン部分だけって売ってないのかな?
0052デフォルトの名無しさんNGNG
http://www.opera.com/
大々的にC++プログラマ募集してるよ!
0053デフォルトの名無しさんNGNG
C++は難しくてわかりません。
0054デフォルトの名無しさんNGNG
http://www.maximumhentai.com/files/series/Pai/PAI85.GIF
おそらくこれと思われ。
間違ってたらageてください。別の用意します。
0055default:no_nameNGNG
>>54
間違ってます。
別のを用意して下さい。
0056デフォルトの名無しさんNGNG
ときどきawkやperl使えば一行でできることをわざわざCでやってる馬鹿がいて笑える。
いや、笑ってる場合じゃない。
0057デフォルトの名無しさんNGNG
>>56
車輪の再開発には2つのパターンがある
あえて開発することで理解を深める学習型 なら応援すべき
0058narucy56 ◆wMOjCT4s NGNG
程度の問題はあると思う。

プログラマが好きで「これは再利用可能だから」という理由でツールをガンガンに
作りこんでしまうというのは、XP 的にはよくない。

作れるからって、何でもどんどん作ってしまうのはだめ。とにかく「今」一番早くて
シンプルな問題解決法を選ぶのがヨイ。
0059結論。NGNG
丁度良いのがなくてそれでも必要ならばツールも言語もアプリもOSも何でも
作る。それしか方法がない。売っていないのだとしたら。
0060デフォルトの名無しさんNGNG
人生は大事につかわなきゃね。
0061最終結論。NGNG
なければ作る。
あれば使う。

それが人生の使い道。
0062デフォルトの名無しさんNGNG
ツールは作るにしても言語は作るかな・・・
0063デフォルトの名無しさんNGNG
インタプリタなら作るというか それまで決めた事と矛盾しないように拡張してたら妙な言語が出来てしまう事に
0064デフォルトの名無しさんNGNG
アセンブラくらいなら
マニュアル読んで使うこなせるようになるのと比べたら
自作するのと、変わらないというか、場合によっては自作した方が早い
0065デフォルトの名無しさんNGNG
VB.NETでデータベースから読み込んだデータを1行のみを
表示する方法わかりませんか?
どうしても全部表示してしまうんですよ。
主キーをいれるとほかの項目を検索して1行だけ表示したいのに
どうしてもできなんです。
わかるかた教えてください。
0066デフォルトの名無しさんNGNG
すれ違い
0067デフォルトの名無しさんNGNG
ツールは作るが言語まではふつー作らんな。
0068デフォルトの名無しさんNGNG
 いずれにせよ、匿名だと本当は作れるような能力が全く無い人でも
「俺は作る」ということもあれば、逆に、他の言語をちゃんとカスタマイズ
する力も無いくせに「時間は貴重だ、カスタマイズするべき」なんて
言ってることも有るだろう。

 実際はどちらのも、作業量、技術力、情報収集能力のいずれかが
必要になり、そこかしこの人材が出来る代物ではないはずだ。

 ちなみに、俺は次のフィールズ賞候補とされているので、好きな
言語を設計し、実装するのに一ヶ月とかかからんが。
0069デフォルトの名無しさんNGNG
で、何なの?
0070デフォルトの名無しさんNGNG
言語ごと作るのは、大抵の場合、ちょっとやりすぎだろうね。

でも、実業務上、言語の設計から必要になる場合があるとすれば、
それはどんな場合なのか、興味はある(ちょうど今、bisonや
flexをかじっているところでもあるし)。

「俺は必要に迫られて、ちょうどいい言語を一から作らなけ
ればならなかった」という報告があれば、是非聞きたい。
0071名無しさん@カラアゲうまうまNGNG
Perlってそんな感じじゃないか?
0072デフォルトの名無しさんNGNG
>>71
そだね。
おかげで今やperlは広く使われているし、perlが嫌なら
他にも選択肢はあるし、もう言語ごと作る必要はないって
ことになるかな?
0073デフォルトの名無しさんNGNG
何かの印刷処理をしないといけなくなったらしいんだけど
先方をせっついても,いつまで経っても詳細な仕様が出てきませんでした。
仕方がないので,簡単なスクリプトを書いて,それを実行することで
どんな風にでも印刷ができるアプリケーションを作ってしまいました。

「再帰下向き構文」とかいうやり方をちょっと拡張すれば
かなり簡単に,それなりに強力なモノが出来上がりますよね。
ただ,出会った文は必ず1回だけ評価してしまうから
「条件分岐」とか「繰り返しの構文」を組み込むのに
苦労しそうなんだけど。
0074デフォルトの名無しさんNGNG
やねうらおっぽい
0075デフォルトの名無しさんNGNG
>>73 それは良くやるね この前作ったのが
def A なんとか.DB FLD =事業者コード
def B なんとか.DB FLD ='なんとか'

** AAAAAA BBBB
** CCCCCCCCCC

みたいな感じの印刷ページ設定用のスクリプト
0076デフォルトの名無しさんNGNG
>>74
いみがわからん
0077デフォルトの名無しさんNGNG
73はただの厨房
構文解析と評価は別物であることすら理解していない(w
0078デフォルトの名無しさんNGNG
最近の技術の教科書には
目的のソフトが見つからなければ自分でつくる
って書いてあって、だいぶしぼられる。できるひとが。
0079デフォルトの名無しさんNGNG
不細工な言語作るよりはLISPそのまま作ったほうが良い
0080デフォルトの名無しさんNGNG
不細工な言語作るよりはRubyを使いなさい。
0081デフォルトの名無しさんNGNG
Ruby 信者は不細工です。
0082デフォルトの名無しさんNGNG
>>79
LISPそのまま作る → LISPそのまま使う
LISPそのまま作る → LISPでそのまま作る

まあどっちにしろ、LISPは万能だろってこと?

0083RubyistNGNG
LISPってなにか実用的なものを生み出したことあるの?
馬鹿みたい。
0084デフォルトの名無しさんNGNG
Ruby はなにか実用的なものを生み出してるの?
008584NGNG
すまん。
上げちゃった。
0086デフォルトの名無しさんNGNG
言語つくるなんて国家プロジェクトみたいにすんげぇー規模でかいときの話じゃないの?
0087デフォルトの名無しさんNGNG
>>86
○○ツクール なんてーのはまさに言語を作ってるようなもんだ。
そう思わない連中もいるだろうが。
0088デフォルトの名無しさんNGNG
うん、思えない。
0089デフォルトの名無しさんNGNG
組み込み系だったらなんでも自作?PC上で作業して転送って感じなのかな。
0090デフォルトの名無しさんNGNG
>>70
XMLがいまいちだった頃はよくあったよ。
でもまあ、bison flex 憶えておいて損は無いと思う
簡単スクリプトならすぐにできるし、なにより記述がXMLより綺麗
なれれば実 C 程度なら、実はツール作成とあんまり作業量は変わらなかったりする。
0091デフォルトの名無しさんNGNG
>>90
なれれば実 の"実" 削除、あぅ
0092デフォルトの名無しさんNGNG
生Cですか。通は実Cと言うのかとオモタw
0093デフォルトの名無しさんNGNG
>>1作れる人は作る。
>>1の100倍以上の生産性をもつひとは現にいる。
009475NGNG
>>75 はつまり AAAA とか同じ文字が連続してる分だけ印刷フィールドを取って
  (普通日本のビジネス文書は等幅フォントだから) そこに打つ感じになってて
改行幅とかが調整出来るような感じの簡単なのね。

後、RS232C使うような機械の制御だと簡単なスクリプト作って対応させる事が多いな

それから、組み込みの仕事する時は、エディタマクロを作る事が多い

どんなのかというと、
DB 0123H ;%< HEX(a) ;
みたいなソースを、エディタ上で ;%< の左の項の 0123H が aの値に応じ置き換わえる
という仕掛け。・・・こんな事しなけりゃならないくらい、メーカ提供アセンブラが貧弱だっ
たりする
0095デフォルトの名無しさんNGNG
>>94
gcc等でプリプロセスしようぜ
009675NGNG
>>95
 たとえばさ fc=44100; f0=440;b=tan(2*PI*f0/fc);
 みたいな計算 CPP.exe じゃできないでしょ?
0097ふぁんふぁん大佐@NGNG
CHOCOA SCRIPTみたいなスクリプト言語作って見たいね。
基本となる部分を作っておいて、後は言語でカバーする。
使用者それぞれが遣いたいようなソフトへと進化していく。
かなり理想
0098デフォルトの名無しさんNGNG
>>97
C言語とかはどう?
0099ふぁんふぁん大佐@linuxNGNG
ソフトにつける言語は限りなくシンプルかつわかりやすくないと意味ない罠。。(;´д`)
0100デフォルトの名無しさんNGNG
>>99
lispとかどう?
0101デフォルトの名無しさんNGNG
言語というほどじゃなくても、自前の変数システムを一つ持っていると楽
 プログラム起動時にiniとかレジストリから変数を読み取っておいて
 要所で getMyValue("変数"); みたいに使っておけば
後でスクリプトとか作ったり色々と応用出来る
0102デフォルトの名無しさんNGNG
俺の友達でへたれなのに、そういうの作るの大好きな奴がいるよ。
2,3回しかやらないのに、ツールごと作る。 HTMLエディターとか、Cで自分だけが高速にプログラムできる
変換ソフトとか作ってた。

結局、そういうのを作るのが好きな人は作るんじゃないの?
俺はどうでもいいけど。
0103デフォルトの名無しさんNGNG
>ソフトにつける言語は限りなくシンプルかつわかりやすくないと意味ない罠。。(;´д`)
そうそう、でもそれが分かったのは一度作ったあと・・・(TT)

>lispとかどう?
シンプルの意味が間違ってます(w
0104デフォルトの名無しさんNGNG
シンプルといったらやっぱりlispよりschemeだよね
0105デフォルトの名無しさんNGNG
ハァ?
CommonLispよりはSchemeの方がシンプルかもしれないが
CommonLispがLispのすべてじゃないぞ
0106デフォルトの名無しさんNGNG
>Cで自分だけが高速にプログラムできる
>変換ソフトとか作ってた。

 それは効率悪そうに見えて、意外にいいんじゃない?
 自分だけが使えるツールを作っていけば、仕事のリピート率も高くなるしさ
0107whileNGNG
アセンブラに最適化変換する言語を設計するのは
かなり大変だと思います。

新しい機能を組み込んだ言語を設計して
そのコード体系で書かれたソースを読み込んで
C、C++、VB等のコードに変換するソフトをつくる…

それがいい感じ…(小規模のソフトウェア等)

(発想した機能によってはアセンブラに直に変換しなければならない事もあると思います。)
0108デフォルトの名無しさんNGNG
>>107
ぼくも、それがいいと思う、特にCがいい感じだと思う。
コンパイラのオプティマイズもこなれてますし、コンパイラが高速なのでアセンブラ代わりになる。
移植性も悪くない。
0109デフォルトの名無しさんNGNG
Lispで数式ってのはどうかと思う
0110デフォルトの名無しさんNGNG
>>102
俺もヘタレの横好きだが、エディタごとは作らんなあ(しかもCでは)。
原文にタグを埋め込む程度であれば、PerlかRubyかPythonか、って
ところだが。
0111デフォルトの名無しさんNGNG
引数の渡せないC言語とか作ったら
案外アセンブラに最適化変換できそうな感じ
0112ななしさんNGNG
プログラム板でここまで消費が速いスレは初めてみたかも・・・。
■ このスレッドは過去ログ倉庫に格納されています