[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 10/05 19:36 / Filesize : 259 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

「コンパイラ・スクリプトエンジン」相談室8



1 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 19:45:18 ]
プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。

前スレ
1 pc.2ch.net/tech/kako/981/981672957.html
2 pc2.2ch.net/test/read.cgi/tech/1021136715/
3 pc5.2ch.net/test/read.cgi/tech/1070089173/
4 pc5.2ch.net/test/read.cgi/tech/1100097050/
5 pc8.2ch.net/test/read.cgi/tech/1106129164/
6 pc8.2ch.net/test/read.cgi/tech/1115335709/
7 pc8.2ch.net/test/read.cgi/tech/1129287390/

関連リンクは多分 >>2-10 あたり


335 名前:322 mailto:sage [2005/11/16(水) 22:08:31 ]
>>330
goo 辞書より「項」
> (2)〔数〕
> (ア)多項式を構成するそれぞれの単項式。
> (イ)数列・級数で、そのおのおのの数や式。

336 名前:322 mailto:sage [2005/11/16(水) 22:20:31 ]
terminationってよりterminalですね。すみません。
terminalの語源がtermとか、その逆とか、同じ語源を持つとか?

まあ語源はどうでもいいんだけど、BNFのそういう例で出てくるtermは
「終端」とか「停止」とかいう意味ではないんじゃないかと。
それにterminalの略なら、expressionもexprとかexpに略すんじゃない?

連投スマソ

337 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:22:06 ]
全てはリスト


338 名前:デフォルトの名無しさん [2005/11/16(水) 22:29:24 ]
普通はterm->停止でよいかと。


339 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:30:26 ]
おれはexp派

340 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:31:01 ]
普通?

341 名前:314 mailto:sage [2005/11/16(水) 22:31:52 ]
>>322 >>335
つまり「項⊂式」か。理解したサンクス。
停止云々の発言以外は、両者の言い分どちらも正しかったって感じだな。

342 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:33:42 ]
秀term

343 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:59:42 ]
>>318
勝負あったようだな



344 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:34:55 ]
俺はLisp派

345 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:46:47 ]
>317
>解析する式は段々と小さな部分式になっていって

左再帰性の問題みたいに、段々小さくならない場合もあるよ。


346 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:53:28 ]
>>336
www.m-w.com/dictionary/term
語源同じだそうです。

347 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:53:58 ]
俺はruby派

348 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 00:18:57 ]
Rubyソースは見た目が悪い。

349 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 09:41:12 ]
termを項と訳している本はいっぱいあるよ

350 名前:デフォルトの名無しさん [2005/11/17(木) 11:40:50 ]
俺は
statement->expression->term->factor
って使うけど。

というかコンパイラ本ってこうなってね?



351 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 12:12:07 ]
>>350
Look Ahead(先読み)があるとtermとかfactorとか使わなくてもexpression書けちゃうからな。
特にyacc系から入るとあまり見かけないんじゃないかな。

352 名前:304 mailto:sage [2005/11/17(木) 17:38:20 ]
>>305
さんくす

353 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 18:46:22 ]
>>351
そうだな。bison/yaccならexpression以下は本当にそのままを表すだけがほとんど。
例)semicolon




354 名前:デフォルトの名無しさん [2005/11/17(木) 21:57:59 ]
俺はりんご派

355 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 22:16:01 ]
シッシッ

356 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 23:44:23 ]
合えて言うと真珠派かな?


357 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 14:24:30 ]
Perlのオブジェクト指向システムってどうよ?
第一引数がパッケージ名や参照でそれがそのままselfになるのって
argv[0]をうまく使ったトリックだよね。
実際はクロージャ生成をNewで隠蔽して、そのクロージャの環境を
持ち回ってるってことになるんだよね。
ああいうの元ネタあるの?

358 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 15:58:06 ]
>>357
argv[0] つか、$_[0] な。

あれはあれで良いものだが、クラス・メソッドの呼び方に
SomeClass::operation() と SomeClass->operation() があるのは、
美しくないというか、直感的じゃないとは思うね。

359 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 22:10:53 ]
LL(1)で文法を考えてたんですけど、
式は一般的な形で最終的に、数値か識別子か括弧の式になります。それで
文 ::= 代入文 | 式文
代入文 ::= 識別子 ':=' 式文
式文 ::= 式 ';'
という文法だと、代入文と式文の両方のfirst(n)に識別子が含まれて駄目ですよね。
でもよくありそうな文法で、文法を変形したり、何かアイディアあったら教えてください。

360 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 22:59:25 ]
BASIC風味で
代入文 ::= 'let' 識別子 ':=' 式文
とか

シェルスクリプト風に変数の参照は$をつける、とか

文 ::= 代入文 | 関数呼び出し文 | while文 | return文 | ...
にして式文を書けなくしてしまう、とか

代入文ではなく代入式にしてしまうとか。

なんかウチの大学のカリキュラム思い出した。
ウチの大学の宿題じゃないよな?

361 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 23:05:56 ]
LL使ってる時点で実用性が乏しいといえるだろう。
まぁ、宿題なら仕方無いが。

362 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 00:48:19 ]
>>361
pascal しらんの?アフォ?


363 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 00:51:04 ]
解析能力と実用性に相関関係は無いと思うが



364 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:02:16 ]
>>363
普通にあるでしょ?
現実をしらない研究者ならともかく、発想がしんじられない。


365 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:19:35 ]
>>364
LLに収まる文法が
LLに収まらない文法に比べて何が劣ってるか説明してくれない?
単純に興味があるので。


366 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:29:37 ]
LL(1)とかに収まらない言語でも今はLLで書くだろ。

367 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:31:54 ]
>>359

Pascalは、

>>360
>文 ::= 代入文 | 関数呼び出し文 | while文 | return文 | ...
>にして式文を書けなくしてしまう、とか

この方式だね。JIS X3008を見ると、

文 = [ ラベル ":" ] ( 単純文 | 構造文 ) .
単純文 = 空文 | 代入文 | 手続き呼び出し文 | goto文 .
空文 = .
構造文 = 複合文 | 条件文 | 繰り返し文 | with文 .

となっている。
実際、文を書くべきところにいきなり a + 5; みたいな式文を書く必要はないでしょ。

>>364
高い解析能力が必要とされる文法なんて人間にとっても覚えにくいだけだから、
363の言うことはもっともだと思うが。

Pascalでラベルに文字列を使いたかったら、予約語「label」を導入して、

 label hoge : 文;

とでも書かせておけばよかったのでは。


368 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:32:51 ]
高い解析能力が全く要求されないLispは人間にとって覚えやすいんですか?

369 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:39:00 ]
もちろん文法は覚えやすいだろ。
当然文法を覚えることと言語を使いこなすことは別だが。

370 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:44:50 ]
>>368
forの構文やifの構文など、通常は文法の範疇のものが、
Lispだと関数やマクロの呼び出しになって、文法の範疇から
外れるだけ。

トータルで見れば、通常文法に相当する知識が減ってるわけ
じゃないが、文法に属する範囲は狭い。


371 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 03:35:02 ]
覚えやすい≠使いやすい

372 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 06:16:52 ]
また構文の話ですか。。

373 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 08:34:25 ]
>>368
最近、仕掛けが巧妙になってきている。




374 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 23:01:29 ]
>>373



しりんご

375 名前:デフォルトの名無しさん [2005/11/20(日) 00:02:34 ]
パクッ

376 名前:デフォルトの名無しさん [2005/11/20(日) 00:14:02 ]
馬鹿でも理解できるLispってか

377 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:17:31 ]
尻んご


に見えた

378 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:25:36 ]
21st Century Compilers買った人いる?

379 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:30:14 ]
え、アレ出たの?

380 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:50:24 ]
www.amazon.co.jp/exec/obidos/ASIN/0321131436/249-1922842-0005150
年末の暇つぶしにでも

381 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 03:50:30 ]
3〜5週間って、運が悪いと年が明けてから着くんじゃないか……


382 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 03:58:10 ]
円安だからか、洋書が高いな

383 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 21:52:49 ]
>>380
この本って、一年以上前から紹介されて入るけど、発売が(ry



384 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 23:22:31 ]
>>368
覚えやすいが、使いにくい。

385 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 19:23:38 ]
馬鹿研究者程、食いつきが良いw


386 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 19:29:07 ]
研究者であるならば、内容に関わらず買う必要はあるだろうな。教養として。

387 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 20:26:57 ]
宣伝ならもうちょっとうまくやろうぜ


388 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 20:34:38 ]
素人の集まりのくせに、何が研究者だよ。ばかばかしい。

389 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 23:16:36 ]
>>388
いや、結構いるとおもうぞ。
ただし、パラダイムを買える程のテーマは皆無だがw

390 名前:デフォルトの名無しさん [2005/11/22(火) 00:06:54 ]
つまり、重箱の角研究ってやつ?
ワロタw

どこからも引用されず、どこにも適用されずw


391 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 00:13:46 ]
というか一番作りやすいからだろうな >> 研究用

392 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 00:21:47 ]
洋書に限らず値が張る書籍は会社に買わせて内容を確認してから気に入った奴だけ個人で購入してる。
研究所勤務のメリットではあるな。

393 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 00:19:21 ]
つまらんメリットだなw



394 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 00:41:04 ]
IBMのTRLとか、図書システムに関しては非常に良く出来ていたな

395 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 01:00:22 ]
>>390
ワロタw

どこかのウイスキーみたいな宣伝文句だなw


396 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 01:22:41 ]
なんかここ、ロートルの墓場みたいね

397 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 12:27:15 ]
bison を使って簡単なスクリプト言語を作成してるんですが
実行時にエラーが発生したとき
ソースの何行目でエラーが出たかを出力したいと思います。

例えば、数値と文字列の加算が認められないとき
  a = 1 + "hello"
とすると実行時にエラーが出るようにしてるんですが
'+' がソース中の何行目かが知りたいんですがいい方法はありますでしょうか?

字句解析の結果に
そのトークンの行数も含めればいいと思うんですが
bison の %union を使うと行数を含めることができないので
なにかいい方法があったら教えてください。


398 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 13:16:19 ]
>>397
yylinenoじゃ不満?

399 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 18:48:32 ]
エラーにはならんよ。
a="hellp"


400 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 19:07:40 ]
>398
bisonで、式を
  expr
    : expr '+' expr
    | expr '*' expr
    ...
という具合に書いているのですが、
間に改行を入れている場合
アクションで得る時点のyylineno では
演算子の出現した行番号と異なってしまうのです。

かといって、演算子を非終端記号にして
その時点のyylinenoを記録しておくとすると
演算子同士の優先の設定ができなくなりますし…。


401 名前:デフォルトの名無しさん [2005/11/23(水) 21:00:58 ]
大物は来ないのか?


402 名前:398 mailto:sage [2005/11/23(水) 22:12:45 ]
>>400
.yで
%union { ...; int lineno; ...; }
%token<lineno> '+' '-' ...

.lで
"+" {yylval.lineno = yylineno; }
"-" {yylval.lineno = yylineno; }
...

ってダメなんだっけ?

403 名前:398 mailto:sage [2005/11/23(水) 22:16:08 ]
ごめん。 return忘れてた。
"+" {yylval.lineno = yylineno; return '+'; }




404 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:05:34 ]
>402
その方法でいけそうです。
ありがとうございます。


405 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:23:27 ]
yylinenoは標準じゃないんで、男は黙って自力で行番号数える…
ってのはもう古い常識なのかしら。


406 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:39:18 ]
標準って、yacc って何かで標準化されてるの?

407 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:42:44 ]
>>406
ANSI-yacc


408 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 00:25:06 ]
日本の研究論文って、有名人以外ろくなものがない。
外人でもそうだけど、この分野もはやフンズマリ状態なのかorz

409 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 00:29:16 ]
有名人の方がやっぱりいい論文書くのか。

410 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 00:38:26 ]
いい論文を書くから有名人なんじゃないの?

411 名前:デフォルトの名無しさん [2005/11/24(木) 13:53:03 ]
そもそも人がいないだろ。狭い世界じゃね?皆知り合いだろ。

412 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 14:10:59 ]
日本塵はパクって昇華するのが生業なんだよ
論文書く文化なんてそもそも日本に存在しない
書かなくても有名になれる

413 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 16:03:03 ]
>>412
和算もしらねぇタコはすっこんでろよ




414 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 16:14:06 ]
知恵の代わりに自意識が育っている間抜けに
その要求はきついと思いますよ :-)

415 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 18:01:55 ]
>>413
和算てそろばんぐらいしか出番ないんじゃない?
このスレと何か関係あるの?

416 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 18:13:52 ]
>>415
このスレとは関係ないが、和算はそろばんとかそういうレベルじゃない
413も頭弱そうだが、あんたも教養ないな

417 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 18:26:09 ]
>>416
スレと関係ねぇならすっこんでろよ

418 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 18:35:30 ]
>416
>和算はそろばんとかそういうレベルじゃない

きっとすごいレベルなんですね。
どういうレベルなんですか?
教養のある416さんに説明してもらえるとありがたいです。

419 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 18:48:00 ]
>>418
google wikipedia 和算

420 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 19:07:06 ]
>>419
ja.wikipedia.org/wiki/%E5%92%8C%E7%AE%97
要約すると
和算は中国のパクリ、明治時代没、そろばんは広く用いられた
だから何

421 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 19:31:08 ]
>>420
読解力ヒクス…

422 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 19:38:26 ]
>>420
関孝和とか中学で習わなかった?

423 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 19:45:16 ]
>>416
それで、どういうレベルなんですか?



424 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 19:56:13 ]
数学板でやれ
↓のスレ盛り上げてやれよw

算額について語るスレ【和算】
science4.2ch.net/test/read.cgi/math/1104398345/


1 名前:132人目の素数さん 投稿日:04/12/30 18:19:05
ここは江戸時代に日本独自に栄えた数学、「和算」について語るスレです

2 名前:132人目の素数さん 投稿日:04/12/30 18:25:38
クロワッサンでも食べてろ

3 名前:132人目の素数さん 投稿日:04/12/31 06:30:33
さんがくのもんだいしゅうってでてる?

4 名前:132人目の素数さん 投稿日:04/12/31 07:15:08
カトチャン、屁゜

5 名前:132人目の素数さん 投稿日:04/12/31 14:20:26
荒れすぎ


425 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 20:04:22 ]
>>423
>>416も頭弱くて教養がないので答えられません
というレベル

426 名前:413 mailto:sage [2005/11/24(木) 20:32:37 ]
ほんとに教養無いのなorz

今で言う微分、積分とかの概念も日本で独自に育っていたのだよ。


427 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 20:53:19 ]
外人が、江戸時代、金地金を買い付けに来た時に、地金の重量だけでなく純度も価格に反映すべきだ、
といって日本人が当時小数点付きの割り算を和算でやったという話を聞いたことがある。外人は、
小数点の割り算ができなかったそうだ。

現状、コンピュータサイエンスはほとんど米国主導、輸入品なのは認めるが、日本人だから想像力が
なくて、後追いぱくり研究しかできない、というのは暴論だと思う。可能性はあるのだから。

428 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:06:48 ]
>>426
413=416なら「そういうレベル」を説明しろよ
お前が説明できない=教養ないだけだろ

429 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:07:56 ]
あんま関係ないけど
日本人なのに論文を英語で書く文化って何なの?
あれって日本じゃ評価してくれないから英語で書いてるわけ?
あと日本語なのに横書きで書くのも変だよね。
縦書きがまともに機能してるのって出版業界だけかな。

430 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:27:41 ]
>>429
はぁ?バカかお前。
そのレスは日本語なのに横書きじゃねーか。変だよね。
せめて縦読みくらい仕込む知能を見せろや。

431 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:32:02 ]






432 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:44:23 ]
>>429
カノレテをドイツ語で書く文化と同じだよ。
患者に何書いてるかわからなくするため。

433 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:51:14 ]
>>429
日本語読めない人にも読んでもらいたいからだろ?



434 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 21:59:07 ]
>>433
はぁ?バカかお前。
わざわざ英語で書く意味なんてない。自己満足だよね。
せめて日本語くらい読む知能を見せろや。

435 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:12:04 ]
   引
 貴 用
 殿
 も .四
 な .百
   二
   十
   九


436 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:19:48 ]
LISPの話しようぜ

437 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:24:00 ]
>>432
最近は英語が主流だけど・・・

438 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:39:00 ]
そもそもカルテはドイツ語なんだが。

439 名前:デフォルトの名無しさん [2005/11/24(木) 22:40:49 ]
途中から失礼します。
パーサ(パーサー?)の話とかここでいいんですよね。
(他のスレあったら教えてください)
仕事で幾つかのフォーマットを読み下すプログラムを
書いてきたんですが、毎回使い捨てで同じような
のを何度も書いている気がしています。
そこでパーサーと言われるプログラムの基礎を勉強しようかな
と考えています。
情報系とか出てないので理論的な知識が無いんだけど、
基礎から書いてある良い本とか良いサイトないですか。
よろしくお願いします。
パースだけ出来ればOKです。


440 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:42:51 ]
>>439
つ[yacc]

441 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:52:06 ]
>>439
つ[テンプレ]

442 名前:439 [2005/11/24(木) 22:53:51 ]
>>440 ありがとうございました。
yaccとかlexとかがあるんですね。ちょっと調べると
BNFとか正規表現とかあるんですが、本を買ったりして
調べる前に1つ質問です。
このyaccとかは世の中にあるtextでかかれているフォーマットなら
基本的に何でも読み下すことが出来るんですか?
cでもperlでもhtmlでも。
自分が今パースしたいファイル形式がこのyaccでパースできるか
どうかはどうやって確かめればいいんしょうか。
spice netlist, verilog gatenet, EDIT, ascii GDSなど
をパースしたいんですが。
よろしくお願いします。




443 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:54:46 ]
>>434
馬鹿はお前だ。わざわざ日本語で論文を書く意味なんてない。
なぜなら、日本人に読ませる意味がないからだ。



444 名前:439 [2005/11/24(木) 22:59:43 ]
>>441 おお!これらを読んでまた来ます。


445 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:35:30 ]
>>432
それってよく効くけど、
じゃあドイツ人は何語で書いてるん?

446 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:38:48 ]
ドイツ人は正しいことを書いているのだから見られても平気って思ってるんじゃない?

447 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:40:10 ]
>>429
引用されるためだよ。
論文の価値ってのは他の誰かの論文に引用されることにある。
ちなみに日本人の論文は提出率に対する引用率はいまいち低いらしい。

448 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:41:09 ]
>>443
で、研究のオイシイ部分は全部外人に持っていかれるわけだ。

449 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:41:24 ]
>>432
今時の若手の偉いさんだと英語で書いていて、もうちょっと下の年齢だと日本語で書いてるよ<カルテ
習った時分によるみたい。


450 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:42:31 ]
>>447
それはつまり、日本人の書く論文は、世界の役には立って無い?


451 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:44:47 ]
>>450
いや、所謂ポスドクってのが癌なんだよ。
博士になるために助手しながら無尽蔵に数をこなし続ける。

452 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:48:36 ]
>>439
つ りんご本

453 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:52:02 ]
>>451
ポスドクは博士持ちの底辺ポストだろ。



454 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:52:24 ]
>>450
一部の有名人を除きその通り。
日本人の論文テーマは、他の論文テーマの一部分について
特殊な前提条件で研究しているものがよくある。



455 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 23:56:39 ]
耳が痛い
耳が痛い
耳が痛い

456 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 00:18:01 ]
>>448
まぁまぁ、落ち着いて。
売国奴の>443など放っておいて、あなたはあなたで
外人にオイシイ部分を持って行かれないために
日本語だけを読み、日本語だけを書いて一生を送っていればいいんですよ :-)

457 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 00:30:39 ]
おめーの重箱の済み研究なんて全く役に立たないよw
ば〜ろ〜!

って言ってみたいw

458 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 03:03:06 ]
おもしろいスレだな。LISPで荒れたり、英語で荒れたり、和算で荒れたり、博士で荒れたり。


459 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 03:06:15 ]
>>442
その質問は本を読めば大体書いてあることです

460 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 03:22:16 ]
>>458
すべてに共通しているのは
無知なくせにやたらとわめく人がいるところ。

461 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 06:58:59 ]
>>460
具体例が書かれていないので、
「ここでわめく為に必要な聞きかじりの知識」すら無い人が
「わめき」にすら参加できず悔しがっているようにしか見えません :-)

462 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 08:27:04 ]
研究ってのは役に立たなくてはいけない研究と、そうではない研究ってのが
あるんだよ。理系の人なら分かってもらえると思うが。


463 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 08:28:49 ]
この板には残念ながら理系はいません



464 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 08:30:30 ]
その通り
全員アキバ系です

465 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 12:18:05 ]
>>464
笑ってしもうたが、本当なら悲しいのぉ。


466 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 13:40:01 ]
文系、理系なぞ受験科目の分類に過ぎない!



…筈なんだが、日本ではどうもそれが通らなくて困る。
経済学はかなり以前から数学バリバリでついには法学にも法経済学なんてのがあり、
一方でソフト開発が会社組織や経営をオブジェクト指向やユースケースなど
ソフトウェア工学的手法でモデル化したりする昨今、
文系・理系の区別は害あって利なしだと思うんだがね。

と脱線しながらマジレス。

467 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 13:48:01 ]
困ったことに世の中には、既得権というものが存在する。


468 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 14:22:47 ]
既得権でガンジガラメになって必要なところに資源が行かないのが
今回の不況の最大の原因だったわけだが。

469 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 14:42:04 ]
本当は頭を使うのが大嫌いだけどそれなりの学歴は作っておきたい人、の当座の居場所

としての「文系」には、ちょっと違うニュアンスがあるしなぁ。

470 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 15:52:24 ]
>>468
微妙に違う。既得権に目を奪われて、肝心な部分を
見落としている点が、今回の不況の最大の原因。


471 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 15:57:54 ]
>>470
つまり、目先の利益を優先してるのが原因と。


472 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 15:58:24 ]
ここまで脱線したらついでに聞くが、「肝心な部分」とは?

473 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 16:06:04 ]
>>472
物事を順を追って、論理立てて考える事で導き出される結果。
欲得づくしで思考すれば理性を見失うのは当然かと。

これが金とか権利とかの問題ならまだ楽なんだが、努力とか、
知恵とか、勇気とか、危機管理能力とか、そ〜ゆ〜能力の無さ
が問題だからなぁ・・・





474 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 16:15:33 ]
結局の所は、面白くない、面倒臭い、責任は取りたくない、
といった職務怠慢の積み重ねの結果だわな。


475 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 17:30:56 ]
この流れおもしろいな

476 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 17:46:40 ]
>>462
そりゃ分かるけど、あまり特殊な前提条件のもとでの研究ばかりじゃねぇ

結果として役にたたなくとも、いままで思いも付かなかったようなテーマとか
だったら99%役にたたなくてもOKだと思う。


477 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 18:16:40 ]
10000重ループの画期的な最適化方法を研究しました。
9999重以下のループには役に立ちませんが。

478 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 22:34:02 ]
>>477
いいんじゃないか。

ダミーで、9999重ループをつけりゃ画期的に速くなる
んだろ?

479 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 22:38:08 ]
ダミーじゃダミだ

480 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 22:43:27 ]
>>479
貴様、俺様がこれからイカスギャグをかまそうとしたのに打ち砕いてくれたな〜


481 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 23:40:14 ]
推測してみた
ずばり駅に行きたい
・・・そこまで易しくないか

482 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 11:13:58 ]
役に立ちそうもないから誰も手をつけなかった事を研究して実際に役に立たない
事を証明すれば、それはそれで立派な研究成果だと思うが・・・

483 名前:デフォルトの名無しさん [2005/11/26(土) 11:50:18 ]
>>482
それが、必要とされる証明だったらね。
実際には役に立つ証明はみたことない。




484 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 11:59:18 ]
>>482
まあ、「誰も手をつけなかった」んだったら、放置で
いいような気もするが…。
でも、できないことの証明によって無駄な労力の消費が
避けられるというのはあるよな。
大昔には、永久機関とか錬金術とかを真剣にやってた奴
もいるんだし。

485 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 12:20:31 ]
科学技術の原型が錬金術だったような・・・


486 名前:伝説新人タクシ mailto:sage [2005/11/26(土) 12:44:55 ]
その頃は原子や素粒子なんてなかった。
今じゃ、原則的にある原子が他のそれに変わることはない
で済むんだけど。
反応によって全く違う性質を持つようになるのはある意味
錬金術といえなくもない。人工の工業用ダイヤだって使われている。
炭素が4つ結合することでダイヤになるようにね。
ただ、どの分野でも品質とかコストとかいう他の問題になる。
ニュートン 錬金術でぐぐると、wikipediaにも彼が錬金術師とある。

487 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 12:51:22 ]
雑談なら他でやれ

488 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 13:02:55 ]
つまりスクリプトの作成というのは、錬金術のようなものだと?


489 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 13:08:21 ]
目の前にSICPの原著あるけど、表紙の絵が魔術師だか錬金術師なんだよな。
スクリプト(コンピュータプログラム)の作成=錬金術というのは、案外言い得て妙だな。

490 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 15:38:53 ]
awk?

491 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 16:09:33 ]
SICP=MITで使われている、コンピュータサイエンスの基礎の基礎をSchemeを通して学ぶ教科書

492 名前:デフォルトの名無しさん [2005/11/26(土) 17:34:20 ]
未知の自然物質を相手にした研究と、
人間が考えた文法についての、ある限られた特殊条件での研究。

以下(ry


493 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 17:51:25 ]
研究もしない穀潰しが何を言っても、なぁに、かえって免疫力が付く



494 名前:デフォルトの名無しさん [2005/11/26(土) 18:18:44 ]
お前らも暇な奴らだなw

495 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 00:03:39 ]
研究者の痩せ我慢すれですか?

496 名前:このスレの1 mailto:sage [2005/11/27(日) 00:13:04 ]
現在>>249で立てたWikiのページが見られなくなってます。
報告が遅くなりましたが、こんなメールが来てましたので、一応報告します。

■■1.メンテナンスのお知らせ

サーバメンテナンスを以下の日程で行います。

日程:2005年11月26日(土)
時間:22:30〜翌朝AM:5:00ごろまで
範囲:@wikiサービス全体
内容:サービスのバージョンアップ、電源の点検

この時間、@wikiサービス全体にアクセスできなくなる可能性があります。
ご理解宜しくお願い致します。


497 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 00:14:17 ]
>>486-489
要するに、プログラムでプログラムを作ってるわけだからな。
・どんな言語を作れば扱いやすくなるのだろう?
・どんな風に言語を作れば今の状況に対応出来るだろう?
みたいな、論理的というよりは直観的な理屈が大事だから・・・


498 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 03:30:23 ]
>497
直感というか、デザインと心理学かね?


499 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 09:43:53 ]
>>498
センスが激しく要求される悪寒。
産業総合研究所でプログラミング言語を研究している某氏は、
「言語の設計はセンスのよい技術者だけがやればよい」
と言ってたからなぁ。

500 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 10:11:07 ]
直感って言葉は、勘違いしてる人も珍しくないからなぁ・・・

駅から自宅への道筋を論理的に説明すると、
駅から北へ25m、北西に15m、東に5m、北に9m、北東に15m
といった説明になる。これに対して、駅から自宅への道筋を直感的に説明すると、
地図を広げて、駅から自宅への道筋に対して線を引いて、それを見せる事が説明になる。


501 名前:直感的に説明って何だよ…。 mailto:sage [2005/11/27(日) 10:50:51 ]
>>500
まあ、直感って言う言葉を勘違いしてる人は珍しくない
けど、勘違いしたまま自慢げに書き込む奴 (=>>500) は
珍しいけどな。(w

-----------------------------
ちょっかん ちよく― 0 【直感】

(名)スル
推理・考察などによらず、感覚的に物事を瞬時に感じとること。
「―で答える」「父の身に何か起こったことを―した」


502 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 11:06:37 ]
とりあえず>>500がアホなことだけは分かった。

503 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 12:52:45 ]
500はゆとり教育の被害者



504 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 16:45:42 ]
>>500は悪くない。真に問題にすべきは>>500という怪物を生み出した社会構造ではないのだろうか?

505 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 16:50:50 ]
つくづく面白いスレだな。今度は教育、社会問題かよ。
>>500 は、定量的、定性的を論理的、直感的と間違えてしまったわけだが、
プログラミング言語研究者でも、論文の日本語が怪しい奴時々いるよな。
そういう日本人が英語で無理やり論文書いてると、怪しささらに倍!って感じで。

506 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 17:49:35 ]
Cでコンパイラのプログラム作ってみたんですが、どこが悪いのかわかりません。
四則演算の式をテキストファイルから読み込んで、字句解析→構文解析→コード生成って順序をたどるんですが、うまくいきません。
ソースをあげとくんで、どなたか見てもらえないでしょうか?
四則演算の式の例としては、
da+jk*h-3/(abc-def):=pq;
みたいな感じです。
ソース→read.kir.jp/file/read28666.zip

507 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 18:30:30 ]
>506
おい!身勝手すぎるぞ!
なにがうまくいかないかもわからないし。

まずマジックナンバーをなくして、
関数名をちゃんとつけろ。
話はそれからだ。


508 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 18:37:52 ]
>>506
関数名意味不明な上に、コメントは420行目の
/*スタックの初期化*/
だけですかw

とりあえずmainでfp2をオープンせずにfprintfしてるのだけはわかった。

509 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 18:46:25 ]
毎回こんなプログラム書いてるの?
俺なら毎回どこが悪いのかわからなくなってうまくいきません

510 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 18:51:40 ]
何だよ「goto owari」って。
「do〜while(OP!='!')」とか「brake」じゃいかんのか。

もっと見たらもっとツッコミ所有りそうだけど、面倒だから見ない。

511 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:00:33 ]

int lexical_analysis(void);
int H(void);
void E(void);
void E2(void);
void T(void);
void T2(void);
void F(void);
int code_generation(void);

はげわろす

512 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:01:52 ]
iがグローバル変数wwwww

513 名前:デフォルトの名無しさん [2005/11/27(日) 19:04:25 ]
>>506
こいつ扇子がないなw
重箱角研究の弊害か?




514 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:07:08 ]
>if(syntactic_result[0].result==(1||2)){

ここ必ず1と比較することになるけど、

if(syntactic_result[0].result==1 || syntactic_result[0].result==2)){

じゃないの?

515 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:11:23 ]
っていうか、釣りだろこれ。
色んな部分がありえねぇ。

516 名前:デフォルトの名無しさん [2005/11/27(日) 19:54:55 ]
こんな独創的な書き方何をどうやったら学べるのかが分からん。
ちょっとどんな学習の仕方したか興味ある。


517 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:01:33 ]
>>510の「brake」にも突っ込んでみたい。

518 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:14:29 ]
C言語そのものと、作法(コメントをきちんと書く、関数名は意味が通じるものをつけるなど)を
身に着けるのが先じゃないか。>作者さん。
俺の学生時代に、こういうプログラムソース書いていたら、即レポート再提出だったよ。

519 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:15:44 ]
break;

520 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:29:45 ]
コメントはさほど必要とは思わないがねぇ。

スクリプト言語のソース幾つも読んでるが、どれも少ないし。

521 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:33:13 ]
関数名は良いんじゃない?
たぶん教科書通りになってるんでしょ。

522 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:35:03 ]
まぁ言語のプログラムでTやFやEなんて、意味は決まってる品。

523 名前:デフォルトの名無しさん [2005/11/27(日) 20:36:29 ]
重箱のスミ研究の弊害に、もう1票




524 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:39:47 ]
スレ違いな上に余計なお世話だと思うが、カーニハンとパイクの「プログラミング作法」が良書。
……釣られてる? 俺、釣られてる?

525 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:54:20 ]
>「プログラミング作法」が良書。

はぁ?今時はぁ?

526 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 20:55:31 ]
確かに古いが内容は現在でも充分有効だろ。

527 名前:デフォルトの名無しさん [2005/11/27(日) 20:57:56 ]
それ良書かなぁ?
いまでも通用すると思う?


528 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:02:04 ]
>>521
そんな教科書捨てろよ

>>522
くわしく。
E=Evaluateはわからなくもないが、わかってやりたくない。
まさかT=Term、F=Factorですか?普通は関数名にしないだろw
Hは思いつかないな・・・

529 名前:デフォルトの名無しさん [2005/11/27(日) 21:06:57 ]
>>508>>514くらいは分かるようになって欲しい。多分大学の宿題なんだろうけど。
後,無限ループはやめようよ。EOFまで読んだら止まるとかにした方がいんじゃね?


530 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:09:05 ]
t = temporaly
f = function

531 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:16:21 ]
temporalyにはつっこんだほうがいいのかな?

532 名前:デフォルトの名無しさん [2005/11/27(日) 21:17:41 ]
T=term F=factor E=expression
だろうな。Hはワカンネ。

533 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:24:14 ]
>>532
その理屈でいくとHにあたる部分はstatementのはずだよね。
ソースちょっと読んでみた感じでもセミコロンまでの部分を処理してるっぽいから文のはずだけどHって・・・?



534 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:32:50 ]
>>527
たしかに内容自体は古臭いけど通用する
書かれている技術云々より著者の考えてることを文から読み取るだけでも勉強になるよ

535 名前:デフォルトの名無しさん [2005/11/27(日) 21:33:58 ]
H=Hyouka
俺はこれだと思うね。かなり自信あるよ。

536 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:37:08 ]
H=アレだよアレ。

(*/∇\*)キャ 恥ずかしい♪.

537 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 21:37:45 ]
>>534
マジでいってんの?正気?

……釣られてる? 俺、釣られてる?

538 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 22:24:07 ]
>>537
その文だけじゃ君が何を主張したいのかわからないんだが

539 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 22:38:12 ]
>>537
著者の考えてる事云々辺りに対して言ってるのかなと予想。
後524!=534だから皮肉になってない。

540 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 22:42:20 ]
業界で成功した人物の著書ぐらい素直に読んどけよ

541 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 23:02:40 ]
そう言えば、うち新入社員にこんな宿題出してたなぁ(w

542 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 23:03:13 ]
いちいち反論しないと気がすまないガキかよ

543 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 23:06:05 ]
すまん
反論というより、ただの反抗だな



544 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 23:12:54 ]
いや〜、すまん、すまん

545 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 23:39:50 ]
>>506
一応超適当に動作するようにはした。
read.kir.jp/file/read28713.zip

546 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 08:41:18 ]
C言語でbisonを使って構文解析をして構文木を作るとき、
コンパイルに成功するといいんですが
文法エラーがあったときに途中まで作ったノードが
メモリリークしてしまうんですが
どう解決してますか?


547 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 08:51:55 ]
ノード生成時にbisonへ渡す物とルートからたどれる単方向リンクリストの両方に登録する。
成功した場合はソースの解析ツリーから全部たどれるからメモリが漏れないのだから、
失敗することの為に純然たる生成順のリストがあっても屁でもない。


548 名前:546 mailto:sage [2005/12/01(木) 10:41:06 ]
thx!やっぱそうだよね

549 名前:デフォルトの名無しさん [2005/12/01(木) 20:56:27 ]
>>546
それって365日稼働する必要あんの?連続で


550 名前:546 mailto:sage [2005/12/01(木) 22:00:15 ]
>>549
お前の意見なんか誰も聞いてねーよ
回線切って猿山に帰れ

551 名前:デフォルトの名無しさん [2005/12/01(木) 22:26:32 ]
何だこいつ?
そんなのリークとは言わんよw


552 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 22:57:07 ]
>>551
えーと、もう話は解決してるようだけど
メモリプール使えだとか、これからつまんない話を披露する気なの?


553 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 23:26:06 ]
>>550
粗れる原因つくってるいつもの香具師だ。
スルーよろ。



554 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 23:42:34 ]
失敗したらすぐ終了してメモリの解放はOSまかせにすればいいって話だろ。
正味な話、ライフサイクルの短いプログラムでは
メモリの解放忘れがメモリリークにつながることは少ない。

555 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 23:49:00 ]
メモリの解放忘れ=メモリリーク
じゃないの?


556 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 00:10:41 ]
>>554
はいはいうざいうざい

その手の話は聞き飽きた。

557 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 00:18:40 ]
メモリリークって?
bison にバグがあったの?

558 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 00:23:23 ]
なんでそんな文盲なんだよ

559 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 02:00:35 ]
>>554
組み込みスクリプト用途を考えるとエラー停止しただけで
リークなんて考えられんけど。
おまえら作る時はリークチェッカ用意してテストぐらいしとけよ。

560 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 02:53:05 ]
メモリリークごときで騒いでんじゃねぇよ肉体労働者

561 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 02:55:29 ]
ふらぐめんて〜しょん?

562 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 08:54:06 ]
mallocしたあとfreeしなくてもry

563 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 09:19:38 ]
重箱隅研究では大問題。
実際は、OSが(ry



564 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 09:28:06 ]
実際は、コンパイラにもバグが(ry

まあ、これはたいがいは最適化オプション絡みだったりするから、
最適化オプションを外すだけで解決したりするけどな。
何処の製品とは言わんケド。


565 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 16:20:18 ]
>>560
ばーかばーか
>>562
ばーかばーか

全員死んでこいや
お前らみたいなへたれがこのスレにいるってだけで吐き気がするぜ
あ?メモリリーク?そんなもんが怖くて中学生やってられっかってんだ
それよりもC言語教えてください

566 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 16:27:04 ]
帰れ低能

567 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 21:34:48 ]
こんなのリークいわんやろ?あほちゃうかw
現実を知らん馬鹿研究者ならでわなやw

568 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 22:04:19 ]
> ならではなや

569 名前:デフォルトの名無しさん [2005/12/03(土) 18:14:32 ]
蛆研究乙w


570 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 18:15:55 ]
ならではやな。やな!
ほな!失礼したどす〜。

571 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 20:05:53 ]
どちらかといえば、研究もタッチしてるのかもしれない洩れだけど、
そりゃ中田先生みたいに実務もバリバリこなせるような研究者にはあこがれるけど、
あれって、(先生の実力は本当にすごいと思うけど)案外運もあるんじゃないのかなぁ
とも思って自分を慰めてまつ。

トホホ、


572 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 23:33:12 ]
>>571
立場や肩書きという物がどうしても必要な場面もあるし、いいたかないけど上が抜けてくれないとポストが空かない事実はどうしようもないのである意味運かもしれません。


573 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 12:34:37 ]
コンパイラの作り方 (詳解
www.is.s.u-tokyo.ac.jp/~vu/97/jugyo/processor/compilerresume/




574 名前:デフォルトの名無しさん [2005/12/04(日) 12:50:40 ]
>>573
こゆ講義は楽しいだろうなぁ。俺もやりたい。

575 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 14:03:42 ]
>>573
>演習で実装する言語はSchemeのsubsetで

ここまで読んだ
というか、ここで読むのをやめた

576 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 15:11:36 ]
>>573
その実習って、グループに分かれてFPGAを使用した独自アーキテクチャのCPU設計&実装、
そのアーキテクチャ用クロスコンパイラの製作、
その上で動くレイトレプログラムの実装、までやるんだよな。
さすが灯台だとおもた。

577 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 15:12:17 ]
どっかでOSの作り方をやってくれんかな?……って、板違いか。OS板に逝ってくる。


578 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 15:50:48 ]
>>573
早速印刷して、読んでみることにしたよ。うpしてくれた人、GJ!
三流痴呆国立大卒修士で、Schemeは少しかじってるので、何とか読めるかな。
学生時代、こういう面白い講義や実習はなかったもんなぁ。
灯台逝くほど頭良くなかったし。

579 名前:デフォルトの名無しさん [2005/12/04(日) 16:45:49 ]
mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
多分SICP読んだ方が早いぞ。

580 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 17:04:33 ]
SICPとは目指すものがかなり違うと思うが

581 名前:578 mailto:sage [2005/12/04(日) 17:07:16 ]
SICPも購入して持ってるので、両方読みます。

582 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 18:56:03 ]
やっぱり、東大の先生のような頭がいい人はschemeの良さがわかってるんだな。

583 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:00:11 ]
schemeの良さというよりも、実装の容易性を重視しているのではないかね。




584 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:14:16 ]
今はもうSchemeじゃなくて、MinCamlだよ。

585 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:38:48 ]
やっぱり、東大の先生のような頭がいい人はlispの良さもわかってるんだな。

586 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 22:26:46 ]
キチガイホイホイ言語

587 名前:デフォルトの名無しさん [2005/12/04(日) 22:29:53 ]
というか日本だと狭い世界だから研究してる人はこの人ととは知り合いだろう。
今も同じとこにいるのかは知らないけどさ。で,この分野の研究しててschemeは
避けて通れないよ。表示意味論的にクリーンな言語はやっぱ重宝する。MLとか
Haskellとかあるけど,やっぱ未だに基本はschemeって感じ。


588 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 22:55:27 ]
研究してる人、って単数かよ。狭すぎるぞ。

未だに主流がSchemeかどうかは知らんが、
当分の間は避けて通れる道ではないのは同意。
ただ、最近ではMLやHaskellも避けては通れないぞ。

589 名前:デフォルトの名無しさん [2005/12/04(日) 23:05:06 ]
やっぱり、東大の先生のような頭のいい人は、rubyの(ry


590 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 23:09:59 ]
釣りはいらん
とっとけ

591 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 23:32:16 ]
Rubyが言語理論の研究に適切だと主張する馬鹿は、
さすがに見たことが無いな。

592 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 23:35:42 ]
コンパイラとかの実装を話すときは、
Pascal, C/C++, Lisp/Scheme, Forth, ML, Haskell
あたりは抑えておくべき?


593 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 23:37:09 ]
とりあえず、機械語は抑えておけ



594 名前:デフォルトの名無しさん mailto:すまん醉ってる [2005/12/05(月) 00:58:12 ]
「抑える」んだ

595 名前:デフォルトの名無しさん mailto:sage俺も酔ってるかもorz [2005/12/05(月) 01:09:56 ]
  ∧_∧
  (*´∀`) 了解だ!
  人 Y /
 ( ヽ し
 (_)_)

596 名前:594 mailto:やっぱり酔ってる [2005/12/05(月) 01:19:58 ]
>>595
ワロタ

597 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 21:20:28 ]
Lispってとにかく単純でとっつきやすいんだよな。
S式はパースが異常に簡単だし、末尾再起最適化とか考えなきゃ処理系も一瞬で実装できる。

598 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 21:25:05 ]
>末尾再起最適化とか考えなきゃ
ちょwwwおまwww


599 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 22:08:58 ]
>>591
お前は墓の研究でもしてろw
最先端言語の研究とは無縁だろ?

600 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 00:48:19 ]
>599
Rubyが最先端言語とでも??
RHG見れば解るけど、かなり泥臭い実装じゃない?


601 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 01:11:05 ]
>>600
知ったか素人だまれ

602 名前:591 mailto:sage [2005/12/06(火) 01:43:38 ]
>>599
うーん、開発現場の人ですよね。>>591で馬鹿って言ったのは、
「言語理論の研究者で、かつ、Rubyが研究に使えると思ってる人」です。
開発現場においては、Rubyは確かに最先端言語の1つですよね。

ただ、言語理論の研究では言語の性質の解析とか証明とかしなきゃならないんで、
実用的に便利な言語ってのはちょっと違うんですよ。
本質だけのシンプルな言語、誤解を恐れず言えば「低機能」な言語が重宝されるんです。
なので、Rubyは高機能すぎて、言語理論の研究にはちょっと向かないかな、と。

でも、今の世の中を支えているのは>>599さんのような現場の人ですから、
自信をもって生きてくださいね。応援してます。

603 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 05:58:09 ]
高卒が搾取されてくれることでこの業界は成り立ってるしね。



604 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 19:38:30 ]
>>603
そこに大卒組がドロップアウトしてくるようになってきた事で、状況は混乱気味でつ。


605 名前:デフォルトの名無しさん [2005/12/06(火) 20:19:22 ]
でも金かせいでるのは土方だしなw
研究成果が経済成果として繋がる例は極々わずか。
まぁ、それが研究というものの宿命でもあるわけだが、


606 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 01:50:47 ]
土方の生んだ金は、どこに消えているのやら


607 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 02:41:43 ]
>>606
土方の金の使い道の事?それとも金の出所の事?


608 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 02:43:41 ]
>>606
中間搾取の事?

609 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 02:54:29 ]
>>606
ちなみに普通は、半分から4/5は中間搾取で消えていく。
まあこれが、税金や社会保険による搾取だけならまだ納得できるが、
実際には、派遣会社が間に何社も入って掠め取っているだけだから、
ひどい話だとは思うけどな。


610 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 03:25:30 ]
ふーん、派遣会社がそんなにねぇ。
なら、普通に雇う側の会社がホームページで
募集すればいいじゃん。

611 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 08:53:04 ]
>>610
NEET or 学生さんですか?

社員として雇うのは、労働契約とか社会保険とか法令とか、そういうので面倒なんだよ。
さらに言うと、上のような理由も実は建前で、最大の理由は、用済みになったときに好きなようにクビ切れないってことだな。
なので、中間搾取のおかげで一見、能力/金額比が良くないように見えても、トータルで考えると安く上がっちゃうことも多い。
1人雇用するリスクをとらず、金で解決できるんだったら、そのほうがお得というこった。


612 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 10:42:19 ]
>>604
不景気のせいで土建業由来の不正労働慣行があらゆる業種に蔓延し常態化していることに加えて
院卒が従来の大卒の業種・業態へドロップアウトしてくるようになったからな。

文科省が欧米諸外国並みに博士号持ちの数だけはそろえようと
博士課程や修士課程(博士課程前期)の定員を就職の受け口の見通しもないまま
闇雲に増やしたんで博士取れたヤツも取れなかったヤツも
従来の研究・教育職では吸収しきれずに普通に開発仕事につくようになり、
最近ではそれでも足りなくて派遣で仕事をするケースも増える傾向だ。
(そういうとき周囲に敬遠されないように院卒の経歴を隠して
「大学でちょっと遊んじゃって(^-^;」などと言うヤツもいる。)
大学の独立行政法人化と年俸制の任期(2-5年)の条件付募集が
標準になって30台以下の研究者が定期的に失職することがその傾向を加速している。

613 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 11:52:57 ]
>>612
まぁ、ろくに成果の出せない研究者はいらないということだろうな。
土方サイドでは、経験がなにので用無しとなってるし。

研究者として生きて行くためには、(上にもあったが)抜きん出た実力と
独自の発想、それに、強運が必要だろうね。



614 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 11:58:24 ]
>>613
運は*必要*とは言わないんだよ。

615 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 12:25:21 ]
>>613
研究に夢を持ちすぎ。
天才の数は多くないので他業種同様に
圧倒的多数を占める凡人をうまく使う社会的な工夫が必要。
それなりに高度な教育しといて放り出すというのは人的資源の無駄遣いでしかない。

そもそも研究というのは大規模投資して本格開発するほどには
結果が明らかでない内容を論理と実験を手段として探りながら進む作業の総称だから
研究にも難易度、規模、価値について色々なものがある。
例えば>613が夢見るような先進的で独創的な研究があった場合、
その周辺には実用化や普及の前に片付けなければならないような
相対的に難易度の低い研究課題が沢山発生するのが常だが、
それを片付ける>613が言うような相対的に低能力の泡沫研究者の数も
本来はそれなりに必要なのだ。

ただ日本では>613のような古典的な夢を抱いて「研究」というものを見ている人間が
まだまだ多数派だがな。

616 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 12:27:26 ]
研究も他業種同様多くの技能から成り立っている。
例えば、研究は独創的なことを思いつけば出来上がりではない。
計画を立て、先達の成果を調べ、論証し、実験し、評価し、論文を書いて発表しなければならない。
そしてその大部分は時間を消費する作業的な側面を持ち、
特殊な才能ではなく教育で身につく種類の技能に支えられている。

それを身に着けていることが研究者(大物でも泡沫でも)としての必要条件となるが、
それを研究者としての教育を受けていない人間が身に着けているわけではないし、
逆に身に着けてはいても世間で評価されるような大きな「成果」に恵まれないこともある。

例えば探索しなければならない範囲を狭めたという意味では失敗の報告も
有効なのだがどうしても世間ではどうしても成功のほうを高く評価するし、
特に日本では明治以降の歴史的経緯から独創性よりも完成度が評価される比重が高い。
それが欧米に対して日本では改良研究が多くなる理由でもある。
博士号を取ったり予算を獲得したりする際に多少独創性があるより
完成度が高い方が日本では圧倒的にウケがいいのだ。
(これは改良研究のほうが審査する側も評価しやすいせいもある。)

だから博士号を取った先輩は博士課程の後輩に
「あんまり理想を高く持って独創性のある高度なものにしようとせず、
恥を捨てて教授の温情にすがり、できるだけ簡単で瑣末な研究で博士号を取るようにしろ。
でないと3年では取れないぞ。」
などとまじめな顔で助言することになる。

617 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 14:20:54 ]
>>613
>まぁ、ろくに成果の出せない研究者はいらないということだろうな。
>土方サイドでは、経験がなにので用無しとなってるし。

そうでもない。独学できっちりと勉強してるヤシは少なくないし、
汚いコードを書くヤシは少ないし、設計をみっちりとやってるヤシ
も少なくないから、耐久力のあるヤシは、わりと重宝されてる。


618 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 14:24:48 ]
やっつけ仕事にほうり込むと、すぐに潰れるけどな。w
混沌とした状況で生き延びる能力の無さを、何で補うかが課題だな。


619 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 14:43:01 ]
中小零細IT企業は、やっつけ仕事の所が多いよな。あと、
大企業でもたま〜に、やっつけ仕事の所があったりする。
何処とは言わないケド。


620 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 16:47:26 ]
いいから黙って働け
シャッチョさんのために

621 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 17:55:27 ]
なんだここは
コンパイラ・スクリプトエンジンのスレとは思えないな

622 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 19:46:55 ]
>>619
たぶん脳内w
やっつけでコンパイラとか書くのなどあり得ない。


623 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 19:52:08 ]
電脳土方ネタは別スレッドでやってくれ。明らかにスレ違いだろう。
64bitメモリ空間を馬鹿みたいに消費するアプリのための、Lisp
もどきを作りたいんだが。



624 名前:デフォルトの名無しさん mailto:sage [2005/12/08(木) 01:25:32 ]
>>623
おまえは板違いw

625 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 02:08:19 ]
>>624
おまえは気違いw

626 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 03:18:00 ]
>>625
おまえは勘違いw

627 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 09:17:35 ]
>>626
おまえは腹違いw

628 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 10:46:09 ]
>>627
おまえは立貝(タチガイ)w

629 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 11:59:40 ]
俺はフランクリンw

630 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 12:11:24 ]
一行レスに嬉々として参加するようなバカが何でこのスレ覗いてるわけ?

631 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 12:38:37 ]
それに対して、同じく一行レスで中身無し、しかも煽り、ってのはどうだろうなぁ。
自分が使ったバカの一語が、自分に最も当てはまっているのでは。

632 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 12:58:11 ]



633 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 13:03:31 ]
>>630
ネタが、ネタがなかったんだよ〜〜(T-T)



634 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 23:58:21 ]
研究ネタも(ry

635 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 10:06:17 ]
Dr.欲しくて、教授の機嫌を取らなきゃいかんことはよ〜くわかるが、
「障子を開けてみよ。外は広いぞ」という言葉を貴殿に贈ろう。
蛸壺(失礼)から出て、興味の赴くままに外の世界を味わうことも大事。

636 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 10:59:52 ]
貴殿!貴殿!貴〜殿殿で殿殿!

637 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 14:54:50 ]
>>636
ちょっとリズムに無理があるかな。

638 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 15:37:13 ]
>>637
大丈夫。
休符を入れてから
きが始まる。
ん、貴殿!!!貴殿!貴〜殿殿で殿殿

639 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 16:05:48 ]
馬鹿じゃねーの

640 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 16:08:40 ]
馬鹿じゃ、ねーの!
I'm not fool ! OK ?

641 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 00:02:50 ]
ケンキューテーマと一緒で、大した話題がないなぁ〜

642 名前:デフォルトの名無しさん [2005/12/11(日) 12:51:50 ]
処理系の研究してる人いるみたいだから聞きたいんだけど、今時はどんな研究が盛んなの?

643 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 13:11:24 ]
>>642
> 処理系の研究してる人いるみたいだから聞きたいんだけど、今時はどんな研究が盛んなの?
俺、大学院の研究室がプログラミング言語関係の研究室だったから、この世界には多少つながり
がある。

で、今盛んなのは、プログラミング言語の機能拡張をいかに安全に行うか、ということ。

安全とは、処理系素人が中身を知らずに処理系(JavaでもLispでも)に、拡張機能モジュールを
突っ込んでも、モジュール同士が干渉することなく、素人が拡張機能の恩恵にあずかれること。

モジュールを突っ込んで言語処理系の機能(というか、糖衣構文かなぁ)を増やす、というアイディア
は、MOP、mixinとずっと前からあるわけだが、安全性については発展途上。

俺はいま、言語、ソフトウェアとは別業界なので、個人的趣味でたまにサーベイした範囲で書いてる
けど、本職さんのアドバイスをおながいします。



644 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 14:34:24 ]
テンプレの>>5をみればこの分野の流行はつかめると思う。

645 名前:デフォルトの名無しさん [2005/12/11(日) 18:22:09 ]
>>643
こんな香具師おおいの?
専攻分野と就職先がなさならないと言う意味で


646 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 18:29:18 ]
むしろ直結してるほうが稀

647 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 18:36:25 ]
>>645
大学院たって修士だろ。それじゃあ、専門家とは到底言い難いから、企業としては都合のよいソルジャー
扱いで、専攻も分野も関係なく配置するんじゃない。

俺、IT関係企業でリクルーターやった経験あるんだが、専攻分野イコール業務分野という奴は見たこと
ない。大体、適当に丸め込まれて、学部、高専卒と机を並べて、畑違いの分野で研修、OJTだったなぁ。

俺はこれがやりたい、という強い意志を持ってる奴は、博士まで取るべき。企業としては、博士は専門
馬鹿でもてあますことが多いのだが、研究部門でツボにはまると、とんでもない力を発揮する。

648 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 18:40:34 ]
つーか言語開発の仕事って例えば何?
SunとかMSとかBolandみたいに明らかに言語作ってる部隊以外に何がある?

649 名前:デフォルトの名無しさん [2005/12/11(日) 18:55:21 ]
>>648
> つーか言語開発の仕事って例えば何?

自分がかかわった範囲でいうと、組み込み用マイコン向けコンパイラの開発、HDLをパースして
さまざまな解析、設計アシストするツールの設計だな。

コンパイラはgccでいいじゃん、と思われてるけど、特定のマイコンに特化して徹底的に
チューニングするとgccが吐くコードより2割は小さく、速くなるんだな。
gccは、マルチアーキテクチャ対応ゆえに中間コードレベルでしか最適化できないから。

HDLはね、単純にケイデンスやメンターのツール買ってきて導入して終わり、じゃないんだよ。
自前で故障検出パタン作成用ツールを作ったり、自社の設計ルールにのっとって記述されて
いるかチェックするツール(lintみたいなもんか)を作ったりする。昔は、自社で独自のHDLを
設計、実装して、大型電子式自動計算機で長時間シミュレーションをまわしたもんだよ。
運が悪いと、数日ジョブを突っ込めなかったり、ディスパッチがまわってこないなんてことは
ざらにあった。

650 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 18:56:21 ]
組み込み機器用にgccを移植するような地味な仕事から
簡単な業務処理用スクリプトを書いたりならしたことがあるが
コレといって”言語を作る”ってのはやったことないなぁ。

651 名前:649 mailto:sage [2005/12/11(日) 19:09:57 ]
あとは、半導体テスタ用のテストパタンを加工するための言語を独自設計してつかっていたこともある。
awk,Perlでは、汎用性ありすぎて、かえって使いにくいから。

652 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 19:16:22 ]
>>5の一番上のリンクから適当にピックアップ+適当に訳
>>643の安全性ってのも一番最初に出てるね

* language support for security and safety セキュリティと安全性のサポート
* dynamic compilation and optimization techniques 動的コンパイルと最適化
* languages and compilers for parallel computing 並列計算用の言語とコンパイラ
* storage management techniques 保存管理法?
* design and processing of domain-specific languages ドメインに特定な言語?
* compilation for distributed heterogeneous systems 分散異種系コンパイル?
* effective implementation of advanced language features よりよい機能の実装??
* techniques for embedded and of mobile code 組込とかモバイル向けの手法
* program representations プログラム表記?
* interactions between compilers and architectures コンパイラとアーキテクチャの相互作用
* program analysis プログラム分析
* software development tools ソフトウェア開発ツール
* program optimizations and transformations プログラムの最適化と変換
* techniques for effective compiler construction 効果的なコンパイラ製作?

ぜんぜんわからんかったorz

653 名前:デフォルトの名無しさん [2005/12/12(月) 08:11:40 ]
>>649
マイコン価格の暴落と処理速度の改善で、その仕事の半分は無くなる予感。




654 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 11:27:16 ]
>>652
* language support for security and safety
 セキュリティと安全性をサポートする言語
 (例えばPerlのテイントとかJavaのベリファイアとか。
 最近は実行時に検査する内容を減らすために静的な検査も多いので型理論と関連が深い。)

* dynamic compilation and optimization techniques
 動的な(実行時)コンパイルと動的な(実行時)最適化
 (JavaのJITコンパイルとか。言語じゃないけど昔WindowsがBitBltナントカというAPIで
 画像のビット演算処理を実行時にコンパイルっぽいことして最適化してたような記憶も。)

* languages and compilers for parallel computing
 並列計算用の言語とコンパイラ
 (並列処理の関して通信とか同期とかメモリ共有とか負荷分散とかで
 抽象化と効率の、あるいは自動化と手作業でのカスタマイズのせめぎ合いから
 丁度いい点を見出す研究。)

* storage management techniques
 メモリ管理技術
 (たとえばGCとか、もっと進んでヒープを使わないプログラミングの可能性とか。
 研究者人口は多くない気がするけどディープなマニア多し(個人的偏見)。)

* design and processing of domain-specific languages
 ドメイン固有言語(特定分野向け言語)の設計と処理
 (例えばMathematicaやMATLABみたいなのとか。ハードウェア記述言語(VHDLとか)とか。
 論文ではAT&Tが交換機の構成記述言語なんてのを提案してるのを見たことがありますな。
 Flashのスクリプト言語とかあるいはSQLとかもそうかもね。
 このテの言語は必ずしもプログラミング言語屋が作らないので時々風変わりな実装がある。
 つーか今私がWindowsに移植してる言語がそうだというのは個人的なグチ。)

655 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 11:28:21 ]
>>652
* compilation for distributed heterogeneous systems
 異種分散システムのコンパイル
 (CPUやメモリの構成が一様でない分散システムを扱う技術ですな。
 通信とか同期とかメモリ共有とか負荷分散とか、
 あるいはそもそも各ノードの構成情報をどうやって管理伝達するかとか。)

* effective implementation of advanced language features
 言語の機能の効率的な実装
 (例えば、大昔ならサブルーチン呼び出し、
 最近ならオブジェクト指向とかアスペクト指向とか
 リフレクションとかを効率よく実行する方法について。
 多分現在コンパイラ研究で実装面の主流。激しく応用寄り。
 多分このスレの王道?)

* techniques for embedded and of mobile code
 これは
 「(他言語やデータへの)埋め込みコード
   &(アプレットやエージェントとかの)移動可能なコードの技術」
 のことか
「組み込みシステム向けコード&移動体向けコードの技術」
 のことか少々迷うな。どっちもあり得る。forとcodeに注目して英文解釈すると前者?

* program representations
 プログラムの表現
 (一瞬、インテンショナル・プログラミングみたいにテキスト表現を用いない
 開発環境と一体化した言語(?)とか連想したけど多分違ってて、
 数学的&理論的なプログラムのモデルのことだろうな。
 だとすると業界で一番の理論寄り分野。)

656 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 11:29:28 ]
>>652
* interactions between compilers and architectures
 コンパイラとアーキテクチャの相互作用
 (キャッシュやパイプラインや特定の命令の有無などハードウェアの構成を知ったり、
 もっと意欲的には再構成可能ハードウェアを構成したりとかも入るのかな?)

* program analysis
 プログラム解析
 (まぁ最適化や書き換えなどのためにプログラムの性質をいろいろ調べる技術ですな。
 目指す処理に必要でかつ調べやすい性質のアイディアと
 そうやって提唱された性質をプログラムから取り出すアルゴリズムがセット。
 最適化のためのループの分類やら、ある変数の定数性を調べたり、
 ポインタがどのオブジェクトを指してるか調べたり。
 あとは型検査なんかもこのジャンル。
 末尾再帰かどうかを判定するなんてのは古典ですな。
 最近では型と絡めて安全性とかも話題。多分現在コンパイラ研究で理論面の主流。)

* software development tools
 ソフトウェア開発ツール
 (例えば開発環境とかデバッガとかリファクタリング・ツールとかテスト・ツールとか
 プロファイラとかソースコード管理とかドキュメントやUML図の作成ツールとか
 GUIウィザードの類とか。)

657 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 11:29:54 ]
>>652
* program optimizations and transformations
 プログラムの最適化と変換
 (プログラムを書き換える技術一般。
 ジェネラティブ・プログラミングのように変換の枠組みを言語的に用意して
 プログラマに分野に特化した最適化などを書かせたり、
 あるいはコンパイラの最適化のようにプログラム解析の結果を適用して
 (多くは)自動的にプログラムを書き換えたりする技術。
 プログラム特化とか、部分評価とかアスペクト指向もこの文脈で語られること多し。
 そもそもコンパイラ自身を変換(あるいは変換の集まり)としてモデル化して
 考えることもあってその場合次項とも関連が深い。
 個人的にもっと日本でも流行ってほしい分野。)

* techniques for effective compiler construction
 効率的なコンパイラ構築の技術
 (effectiveがコンパイラにかかるのか構成に掛かるのか迷うところだけど
 多分、コンパイラ開発自身の効率化のほうだと思う。
 コンパイラの構成を工夫して新しい機能や最適化とかを
 あとから追加・変更したりできる技術とかコンパイラ・フレームワークとか。)

658 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 11:35:09 ]
>>653
確かにハードウェアが進歩すると
トレードオフが程よくバランスする点は変わるから
最適化などで個々の技術が顧みられなくなることもあるんだけども、
プログラムのほうもどんどん規模はでかく、処理は重くなる傾向はあるので
研究分野としてなくなることはなかったりする。

後は昔のハードでは速度や容量の点から
夢物語だった先進的過ぎるアイディアを
実際に試せるようになったりすることもある。

659 名前:デフォルトの名無しさん [2005/12/12(月) 11:40:42 ]
このすれスサマジスage

660 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 11:50:45 ]
訳と解説乙。
次スレから、(個人的〜の部分を省いて)テンプレにするといいと思う。
以下ツッコミ。間違ってたらごめん。

>techniques for embedded and of mobile code
普通に組み込み機器向けって意味じゃない?
データに埋め込む言語って意味だと、mobileと一緒にする理由がわからない。

>program representations
program representationというと、Abstract Syntax TreeとかGraphとか、
パースしたプログラムの表現形式(なぜか大抵は中間形式)を言う事が多いと思う。

661 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 12:08:45 ]
>>660
techniques for embedded and of mobile code
に関しては正直どっちかわからんですよ。どっちの分野もあるし。
そのうえさらにややこしい事に移動体機器や組み込み機器向のコードとして
(容量や更新の都合で。)移動可能なコードを使うことが最近ちょくちょくあるようだし。

あー、program representations
に関しては>660の言うとおりかもなぁ。
その場合、インテンショナル・プログラミングの内部構造とか
バイトコードとその仲間達とかも入るかもね。

662 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 13:22:53 ]
>>660 にだけ突っ込むけど、他意はないから許して
(>>654-657 を検証するような目で見るガッツがないもので…)

"mobile code"は日本語で「可搬コード」とでもいうような、
プログラムが分散環境を移動するやつかもしれない。

それから、"program representations"は、プログラム意味論とかの
「プログラムをどのような *モデル* で表現するか」というテーマだと思う。


663 名前:654-657、661 mailto:sage [2005/12/12(月) 14:11:41 ]
>>662
まぁ、mobile codeに関しては私もそっちが第一候補ではある。
でもembeddedと対になってたりするし、
曖昧な言葉ではあるので文脈がないとどっちにも取れる面はあるなと。

program representationsに関しても最初私もモデルかと思ったけど、
>>661的なテーマも確かにあったりしてそっちな可能性も結構あるなと。
ぶっちゃけこれも文脈を聞かないとイマイチ特定しにくいかも。



664 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:18:55 ]
ACMのDigital Libraryでみつけた論文では
・high level representations
・directly interpretable representations
・directly executable representations
っていう分類してparse treeとか語ったりしてるのと、他にもwikipediaから
en.wikipedia.org/wiki/Dynamic_recompilation
の中でa portable program representation such as Java or CLR bytecodesって表現があるから660でいいと思う。

同じくACMのDigital Libraryから
mobile code, that is, programs traveling on a heterogeneous network and automatically executing upon arrival at the destination
という言い回しも見つけた。
たぶんモバイル機器向けってことだと思う。(よく知らないけど)

embeddedは何とも言えないけど、組み込み系以外の意味でembeddedっていう単語が使われてるのはあまり見かけない希ガス。
他言語に埋め込むとかは普通inlineじゃないかな?(勘違いしてたらつっこみよろ)

665 名前:654 mailto:sage [2005/12/12(月) 14:25:24 ]
embedded languageってのを
DSLの文脈で見かけたことがあるような記憶はあるんだが
いまいち定かでなかったりして決定打に欠ける。
その上そこで組み込み機器向けのDSLの話だったのか、
別の言語に埋め込む特定分野向の簡易言語の話だったのか思い出せないので
こんな記憶があっても決定するだけの根拠なし。

666 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:43:52 ]
>>654
> (たとえばGCとか、もっと進んでヒープを使わないプログラミングの可能性とか。

これすごいな。そんなの実現可能なの?
ヒープ使わないとなるとデカイ静的メモリ領域用意して全部つっこむしか思いつかない俺に喝を入れてくれ。

667 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:46:25 ]
>>664
mobile codeの部分だけ反応してみる。
異機種ネットワークを移動し、到達点で自動的に実行するプログラム
ということだから、RPCっぽいことなのかなと思った。

> Programming languages for mobile code
> Tommy Thorn
> ACM Computing Surveys (CSUR)
> Volume 29 , Issue 3 (September 1997)

ただこの論文の冒頭で、「"mobile code"には文章によって様々な
意味を持つ」とか言ってる。
この論文では、「異機種ネットワークを移動し、保護ドメイン
(企業ネットワークからPDAまで)を渡り、到着点で自動的に実行する
ソフトウェア」と定義してる。

けっこう面白そうな論文ぽい。

668 名前:654 mailto:sage [2005/12/12(月) 14:51:51 ]
私もちゃんとは知らないウロ覚えの聞きかじりなんだが、
何年か前に日本ソフトウェア科学会のとある研究集会あたりで聞いたような気がする。
私の気が確かならば関数型プログラミング方面から来た話で、
プログラムを解析(エスケープ解析とかあたりかなぁ)して
関数呼び出しの階層の中の適切な階層に記憶管理コードを埋め込むような話が
あったような気がする。
ただ3時から仕事上の講演会を聞きに行くので今は調べられない。
戻ってきた後でちょっとググって見る。

669 名前:654 mailto:sage [2005/12/12(月) 15:11:16 ]
>>666(>>668続き)
PPL2003の招待講演だったNe(希ガス)
www.csg.is.titech.ac.jp/ppl2002/program.html

"Functional Programming without Garbage Collection"
Martin Hofmann (University of Muenchen)
[PSファイル]
www.csg.is.titech.ac.jp/ppl2002/proceedings/hofmann.ps

670 名前:654 mailto:sage [2005/12/12(月) 15:13:10 ]
ちなみに内容はウロ覚えなんで論文読んで確認されたし。
(聞きに行く講演は15時半からだった。)

671 名前:666 mailto:sage [2005/12/12(月) 16:03:54 ]
>>669
dクス!
なるほどね。ヒープを使わずに再帰しながらスタックを使う(関数の引数に詰め込む)ってことっぽい。

672 名前:654 mailto:sage [2005/12/12(月) 18:37:12 ]
>>671
ま、それを手でやったら単に面倒なだけなんだけど
プログラムを解析して自動でそういうように書き換えるって話だったように覚えるんだけど
どうだったかいね。
(最近PDFが多くて生PSのみってあんまりないから今使ってるマシンに
PSプロセッサを入れてないのでURLの論文をまだ読んでない罠。
や、まぁ入れりゃいいだけなんではあるがマンドクセぇという。)

673 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 19:48:02 ]
スレの質が急激に向上してまいりました



674 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 20:08:44 ]
スレの質が急激に向上してきたようだね

675 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 20:27:22 ]
スレの質が急激に向上しているようだな

676 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 20:41:15 ]
上がってきたと見るや躊躇いなく下げようとしているなw

677 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 20:42:54 ]
>>676
このダッチワイフ野郎。(くうきよめ)

678 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 21:51:48 ]
PLDIは組み込みシステム向けの言語設計・実装の話題も範囲内だよ。
(過去にEmbedded Systemsってセッションが開かれるくらい)

design and processing of domain-specific languagesの一部っちゃそうなんだけど、
for embedded and of mobile codeは素直に解釈すればいいんじゃないかな。

ていうか、「(他言語やデータへの)埋め込みコード」って、PHPのような言語、
って意味でいいのかな。そんな話題はPLDIでは見た事ないような…(知る限りでは

679 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 22:40:59 ]
そろそろPOPLの時期ですね。行く人はいますか?

680 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 23:48:13 ]
>>678
PHPって埋め込みに入るのかな?
あれってタグの外側を標準出力に流してるだけでしょ。
「埋め込める」ってのは見た目の上だけで、Zendのただの宣伝文句に過ぎないと思うんだが。
専門の人とかはどう分類するんだろ?

681 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 00:23:09 ]
>>679
落ちたので行けません。鬱

>>680
PHPが間違いなら間違いでいいから、
正しくは何が「埋め込み」なのか教えてくれないか。できれば例で。

682 名前:680 mailto:sage [2005/12/13(火) 00:31:34 ]
>>681
> 正しくは何が「埋め込み」なのか教えてくれないか。
俺もそれとほぼ同義のことを質問してるんだけど。
HTMLのscriptやstyleとかCのインラインアセンブラあたりは埋め込みじゃないかとは思うんだが、PHPはわからんと思っただけ。
ソースの見た目で定義するべきなのか機能で定義するべきなのか。
654の再登場を待つしかなさそうだなw

683 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 00:45:43 ]
>>654ではないが、「他言語やデータへの埋め込みコード」って言ってるぞ。
HTMLのscriptとかがいわゆる「他言語への埋め込みコード」で
PHPがいわゆる「データへの埋め込みコード」というつもりだったんじゃないか。
(>>654がそこまではっきり意識して話したのかはわからないけどな)

どっちにしても、PLDIで見る話じゃないような……(俺も、知る限りでは)



684 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 00:52:08 ]
>>683
正直、「データへの埋め込み」ってのがイマイチ意味がわかんないんだよなぁ。
できれば解説キボンヌ。
(あ、ちなみにPHPは<?php〜?>の外側も含めた全体がPHPのソースなので、そもそも埋め込みではない思う)

685 名前:デフォルトの名無しさん [2005/12/13(火) 01:14:20 ]
>あ、ちなみにPHPは<?php〜?>の外側も含めた全体がPHPのソースなので、そもそも埋め込みではない思う

そういう哲学をお持ちの方には、そうですか、としか言いようがございませんね。
あまり一般的な哲学ではないように存じますけれど。

以下、何事もなかったように議論が再開することを願います。

686 名前:681 mailto:sage [2005/12/13(火) 01:20:12 ]
HTMLのscriptか。納得。
まあこんなことで議論してもしょうがないな。
しかも今見ると>>681はなんだか喧嘩腰だな。
そんなつもりは全くなかったのだが、失礼した。

(煽りの部分は無視して)>>685の言うとおり、
何事もなかったように再開してほしい。

687 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 01:41:20 ]
LISPはなんなんですか

688 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 01:43:01 ]
まあ俺はPHPを言語処理系っていう側面から見て埋め込みかどうかに疑問を思ったんだが、興味ない奴は読み飛ばしてくれい。
>>686が良い切り返ししてくれたので先に進むけど、「データへの埋め込み言語」って何だろう?
一瞬スタックオーバーランみたいにマシンコード埋め込んで攻撃することだと思ったんだけど違うよね?
あーマシン語は「言語」じゃないか・・・

689 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 01:46:03 ]
どうか>>687をスルーしてくれ

690 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 01:55:57 ]
embedded ruby

691 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 03:42:12 ]
たいていのプログラミング言語に対して正規表現が使えるけど、
あれは一種の埋め込み言語であると思う。

692 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 03:57:10 ]
>>691
なるほど。確かに。
大抵は正規表現用に、言語自体の字句解析とかとは別口のモジュールで解析してるもんな。

693 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:06:40 ]
たいていのプログラミング言語に対して整数が使えるけど、
あれは一種の埋め込み言語であると思う。

って言ってるのと変わらないぞ、それ。

ていうか、「埋め込み」の厳密な定義なんてないんじゃね?
「埋め込み」の厳密な意味を議論する意義はあるの?

と思いつつも>>654に集まる期待。



694 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:42:12 ]
>>693
> ていうか、「埋め込み」の厳密な定義なんてないんじゃね?
> 「埋め込み」の厳密な意味を議論する意義はあるの?

むしろembedded=組み込み系って流れじゃなかったっけ?
このスレなんかおかしな方向に行ってるな。

695 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:42:20 ]
プログラム言語なんか研究してる人がいるんだね。
あんなのは有名なのも含めて全部趣味で俺言語作ってるのと
同じレベルだと思ってた。
まさか真面目に研究した成果が、あの行き当たりばったりの
つぎはぎだらけの仕様とはねw

696 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:51:01 ]
正直、仕様がつぎはぎになるまで使われる言語なんて全体の 0.1% にも満たないと思うんだが。

697 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:52:38 ]
D言語は最初からつぎはぎでしたが何か?

698 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:53:02 ]
まあいいじゃん。楽しく俺言語つくろうぜ。

699 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:54:28 ]
>>697
つぎはぎってそういう意味なのか?

700 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:55:57 ]
おまいら、>>695みたいな100%の釣りですらスルーできないのかよ…
>>680のような巧妙な釣り(後であからさまになったけど)ならともかく…

701 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:57:30 ]
釣って釣られて盛り上がるのが醍醐味ですが何か?

702 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 04:57:59 ]
>>700
自分たちでも理解できるレベルになったのが、
嬉しくてしょうがないんだろう。ほっといてやれ……

703 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 05:03:01 ]
それじゃそろそろprogram representationsとインテンショナル・プログラミングの話をしようか



704 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 07:29:09 ]
>>696
C言語の事でつか?

705 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 10:24:35 ]
>>694
embeddedのIT業界でのデフォはそれで正解
ただ、ここは言語すれなので

706 名前:654 mailto:sage [2005/12/13(火) 11:07:54 ]
期待されても大して何もでないぞ。

埋め込まれた言語っていってもHTMLファイル
(データ記述のための言語で書かれたデータなんでデータでもあり言語でもあり)
にスクリプトを〜くらいしか念頭にはなかったし。
(ちなみにJavaScriptあたりをイメージしてた。PHPはよーしらんです。)

まぁ、ライブラリで提供される正規表現を言語内に埋め込まれた言語と見る
というのもあるかなとは思う。
それに整数など数値演算が埋め込まれた言語というのは
理論上そういう観点もありえなくはないかなという気がする。
こういうのは視点の問題であって一つの存在が一通りにしか解釈できないと
決まったものでもないわけで。

大体今時の言語の文法定義自身が再帰的に部分文法を"埋め込んで"定義されてるわけで
この観点から言えば埋め込まれてる言語とホスト(宿主)言語の区別ってのは
結構便宜的なモンでしかないんじゃないかと思う。
分けて考えるのが便利なときは分けて考えることもできるし、
全体で一個の文法と見るのが便利ならばそう見ても問題ない。

余談だけどそう思ってみると
数値演算につきものの演算子の結合や優先順位の規則の文法的表現ってのは
言語の文法定義の中でもそれ以外の部分とは若干異質な部分でもある。
言語定義をする人は皆、当たり前なんで慣れてしまっているけどね。

707 名前:654 mailto:sage [2005/12/13(火) 11:37:54 ]
例をあげて考えてみる。

まずはライブラリなどとして提供されるユーザ定義のデータ型が
ベースとなる言語に埋め込まれてベースとなる言語を拡張している例。
データ型といっても整数演算くらいだと見慣れているだろうし、
あんまりピンとこないかもしれない。
けども複雑なテキストデータは実際にパースしないといけないわけだから
単に観念の問題ではなくて技術的にも結構言語チックではある。
既に出ている正規表現もそうだし、例えば昔、私が多項式型を作ったときには
多項式のインスタンスを文字列リテラルで初期化するようにしてみたことがあって
このような場合だと単にユーザ定義のデータ型のリテラル
(正確にはそのように見立てた文字列リテラル)の癖に
その中に「変数」(数学的には不定元か)や「演算子」なんかがあって
その"埋め込まれた"リテラルの扱いはミニ言語っぽくなる。
多項式はデータ・値として4則演算の対象であると同時に
実際に値を代入(数式処理的には「置換」)することで関数のように評価もできたりする。

逆に通常一個の言語として見ている言語の定義を
幾つかのミニ言語を埋め込んで組み立ててあるとみることも実際に可能。
例えばC++を
式言語を制御構造言語に埋め込んでそれを関数宣言言語に埋め込んで、
それらと単純型宣言言語を合わせてクラス宣言言語に埋め込んで、
さらにそれをtemplate宣言言語に埋め込んだものとして考えることもできる。
この時例えばtemplate宣言言語は関数型言語として見ることができて
実際にそのようにプログラミングすることもできるというのが
テンプレート・メタプログラミングだったりする。

708 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 12:16:37 ]
>>706-707
禿しく納得した。あんたにゃ脱帽。

709 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 13:23:05 ]
>>654って例の、外国人とRubyに悩まされてる人か?
もしそうならかなり煮詰まってるな。

710 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 14:06:54 ]
>>709
な、なぜそう思うのかな?

711 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 15:08:51 ]
>>709の元ネタがよくわからん罠

712 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 15:12:04 ]
ttp://pc8.2ch.net/test/read.cgi/prog/1127261540/924
と思われ。

713 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 15:12:40 ]
いずれにせよ、Rubyに好意を持っていない所から類推すると、
研究畑の人間だと思われる。



714 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 15:14:23 ]
>654は別にRubyについては何も書いてないよな。

715 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:12:53 ]
>>713
研究の人はルビー嫌いなの?

716 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:22:54 ]
>>715
いんや、少なくとも>>712のリンク先のそのまたリンク先のヨーロッパ人研究者には大好評のようだゾ。

717 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:32:43 ]
日本の研究の人は、自分よりも名前が売れていることでRubyを妬んでいるのです

718 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:44:49 ]
妬むかどうかはさておきRubyの人が(昔はリーマンしながら作ってたようだけども)
いまやオレ言語で食えているのがウラマヤシクないと言えば嘘になろう。

プログラミング言語研究も成熟してきた昨今、
どうしても言語研究で食っていこうとすれば全く新しい俺言語の開発ではなく
言語の一部(例えば既存言語の拡張とか最適化とか)をテーマにすることに
ならざるを得ないが、言語屋の多くは俺言語への夢ってモンをやっぱり持ってるからな。

まぁそういう研究屋業界の世知辛い世情はRubyの人も(出身は言語屋なわけだし)
分かってるからあくまで彼が自称するのは言語オタクであって
研究者とは名乗らないし、開発に徹して研究者的な活動には深入りしないのだろう。

719 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:47:28 ]
>>710
>>714の言う通りRubyについちゃ何も言ってないんだけど、
>>654の最後の「風変わりな実装」と「Windowsに移植」ってとこでそう推測した。
あと>>707であげられている例やら「埋め込まれた言語」に対する態度やらから
そうなのかなあと。
過去ログを調べたら、例の人を2chで初めて見かけたのは2ヶ月以上前だ。
まあ>>654とは別人だろうな。


720 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:50:22 ]
>>712の引用のしかたにワロタ
マ板経由かよw

721 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 16:51:47 ]
別段Rubyに含むところはないが
Unitテストもなしに6万行もあるバギーな拡張ライブラリはキライw
特にキャストやテンプレートを濫用して型がスパゲティ化しているプログラムはw

722 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 17:16:30 ]
Rubyとかそういう問題じゃないな。
他の言語でもそれは嫌だぞ。

723 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 17:28:21 ]
>>722
まぁ、そういうことですよw
Rubyが使われてるプログラムの移植でヒドい目に合ってるからRubyの話題も出るけど
それは多分に使い方の問題であってRubyの問題じゃない。

例えば、C++でそんなデカイもんを作るなら最初からC++で書いてRubyから呼び出すとか、
RubyでBisonやflexやXMLパーサ用のコードを生成するとかなんて構造・設計は
勘弁なってくらいでいずれも問題はRubyそのもの良し悪しや好き嫌いの話ではない。

以上誤解のないように。



724 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 17:30:15 ]
謹んで訂正>>723

誤> 例えば、C++でそんなデカイもんを作るなら最初からC++で書いてRubyから呼び出すとか、
正> 例えば、C++でそんなデカイもんを作るなら最初からC++で書いておいてくれればよいわけで、
Rubyから呼び出すとか、


725 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 17:43:02 ]
やっぱRubyじゃ巨大プロジェクトの開発は無理か。
せいぜい数千行程度?

726 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:25:20 ]
さぁ?

「やっぱ」とあるが>>723-724はそういう問題ではないだろう。

まぁ、一応Script言語はそれ単体であまり大きな規模の開発を行うことは
想定してないとは思うので個人的にそういう目的に用いることをオススメはしないが、
どこにそのラインがあるかは自明でないのでキッパリ無理とも言い切れない。

727 名前:デフォルトの名無しさん [2005/12/13(火) 18:27:04 ]
>>725
別にRubyで何万行書いてもいい。
むしろRubyだけで書く限りであればそれほど問題はないと思う。
Rubyがアホなとこは、そうやって書くと思いっ切り遅くなることがわかってるから、
現実は他の速い言語で拡張ライブラリ作ってツギハギしてくしかないってこと。
拡張ライブラリが順調に動いている内はいい。が、そこでバグが発生したりすると
もうグダグダになる。拡張ライブラリが絡むと環境やモジュール連続性もなく
まず原因の特定が困難で専用のデバグ環境もない。もはやまともなデバグなど
期待できない。だから拡張ライブラリを書いた場合は事前のテストが重要となる。
が、現実はこれをまともにやっている人間は少ないようだ。
ほんとは他の言語で書かす拡張ライブラリみたいなアホな非常口は言語の
作者の目の届かない所でもあるし、とっとと廃止した方がいいのだけど、
Rubyはそれをいつまでもやめないし、既にRubyの仕様上速くなる手段は
閉ざされており、もう誰もがアホだとわかっていてもその非常口に突っ込んで
自滅するしかない、という悪循環がどうみても出来上がっていました。
ありがとうございました。

728 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:30:33 ]
精子コピペすか?

729 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:34:25 ]
わかってはいるが、わかるわけにはいかん!
というやつだね。
墓穴は掘り終わりましたか?

730 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:41:06 ]
>>727
遅くなるって言うけど
手軽さではなく早さが求められるようなプロジェクトで
Script言語を選んじゃう見識は問われないの?

731 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:51:28 ]
言語というより、開発手法や設計のお話だな。

732 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:52:31 ]
この件でRubyの拡張ライブラリがヤバイ事はよくわかった。

733 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 18:59:05 ]
そういやRubyはVMにできないみたいな話が以前のスレにあった気がするけどあれってなぜ?



734 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 19:08:15 ]
そろそろスレ違いに気づけ。
Rubyヤバイとかは専用スレがあるんだからそこで騒げ。

735 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 19:11:25 ]
>>725
デカいプロジェクトだと開発以前に、運用で却下。
保守できる人間が少ないのは怖いし。
もっともここで話す問題ではないが。

736 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 19:29:06 ]
そう思うなら余所逝けよ。

737 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 22:21:58 ]
ちょっと勘違いしてるようだけど、数千行のRubyコードって
数十万行のLispコードに匹敵する処理内容が記述できるでしょ。
なので、スクリプト言語≒簡易処理というのは全くの思い違いだと思うよ。

速度が遅くなるのは同意だけど、

738 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 22:24:27 ]
オ〜レ〜〜〜。オ〜レ〜〜〜。ジャカジャカジャン!
ま・つ・け・ん・さあ〜んば〜〜〜

739 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 22:48:17 ]
数十万行のC言語のコード、というならともかく・・・

740 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 23:16:02 ]
>>737
だいぶ勘違いしてるようだけど、RubyとLisp比較するなら
記述量的にはあんま変わらない気がするけどな。
速度気にするならまともなコンパイラ付いてるLispで書いた方が
良かったんじゃないの?
Rubyと違って処理系も色々選択できるし、拡張ライブラリを
速度のために別言語で書く、みたいな馬鹿馬鹿しい問題もない。

741 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 23:27:55 ]
Lispは、チェックを省いてプロトタイプを作ろうとすると、めちゃくちゃ少ないコード記述量に
なるけど、パフォーマンスを考えてチューニングしようとしたり、エラーチェックを厳密に
やろうとすると他の言語と同じぐらいになってしまう。

742 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 23:55:27 ]
>>741
憶測だけで言ってない?
つか、付けたしだけで速くなるなら別の言語で書き直すよりは
そっちの方がいいよね。
下のサイト見ると行数もそれほど変わらないし
チューニングコード入れなくても速いみたいだが。
元々速度では勝負にならん差があるけど。

Ruby
shootout.alioth.debian.org/benchmark.php?test=all&lang=ruby&lang2=ruby

Lisp
shootout.alioth.debian.org/benchmark.php?test=all&lang=cmucl&lang2=cmucl
shootout.alioth.debian.org/benchmark.php?test=all&lang=sbcl&lang2=sbcl


743 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:14:14 ]
>>742
Rubyが速度で上回るのはstartupだけか。
ひでえなこりゃ。
Rubyってコンパイラ作れないの?



744 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:31:28 ]
ハッキリ言ってしまえば、速度なぞ時間がすぐに解決するんだけどなw
リアル社会を知らない音質Lisperはアクキンにしる!

745 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:33:18 ]
>>743
コンパイラは作ってもあまり意味がないというか、
そもそも作る人がいないという話だった気がする。

746 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:33:43 ]
>>743
作れるはずだし、
作ってる人も(複数人)いるっぽい。
実用になったという話は聞いてないけど。


747 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:41:45 ]
>>744
Rubyはそう言われてきたJavaと事情がだいぶ違うし
言語仕様的に無理かも。
あと10年待とうね。

748 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:44:51 ]
プロセッサがマルチコア方向にシフトしてきてるっぽいので、
ネイティブスレッドに対応しないと辛いかもね。


749 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:49:15 ]
>>742
おいおい、そこのコードは速度を上げるために
かなりチューニングしてるぞ。
少なくかけるところをあえて速度が上がるような
書き方してる。

750 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:49:52 ]
だから、コード量は、本当はlispはめちゃくちゃ少ないよ。

751 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:50:18 ]
PythonはPython自身で書かれたり他の言語やVMに変換して速くしたりできるっぽい
そういう意味ではPythonの方は将来期待できるかも

752 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:53:09 ]
これなんて象徴的だよな。
本当は5行で終わるところを12行かけて書いてる。
コメントにその5行のコードが書いてあるw

shootout.alioth.debian.org/benchmark.php?test=ackermann&lang=cmucl&id=0


753 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 00:56:25 ]
Pythonって構文をちょっと変えたLispそのものだからな



754 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 01:03:49 ]
出来るだけタイプ量少なくすることで競うならperlが最強。

755 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 01:04:33 ]
>>752
そのコメント部だけのコードでも動的言語の割には結構速度出るね。
やっぱこの差はネイティブコンパイルしてるからかね。

756 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 01:04:59 ]
>>754
C++は最下位。

757 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 01:08:10 ]
>>756
COBOLだろ

758 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 01:12:24 ]
>>754
LispやSmalltalkなんかは前提とするコアイメージ弄くればなんでも1行で書けるよ。
それに配布物も本体とコアファイルの2ファイルだけで
perlみたいにごちゃごちゃライブラリディレクトリ掘ったりする必要ないし。

759 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 02:01:41 ]
いや待て、言語同士を競争させるのにコアやライブラリを弄っちゃいかんだろ。

760 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 02:13:34 ]
Smalltalkならいじるのが当たり前なんだが

761 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 02:31:30 ]
ライブラリ弄っていいんだったらどの言語でも1〜数行で終わって
比較する意味ないじゃん。

762 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:17:26 ]
ライブラリ弄るとかいう発想じゃなくて、LispやSmalltalkでは
言語環境が最初から違うスタート地点に立てる、という観点が
使ったことのない人には想像つかないのかな。
OSで言えば最初からスタンバイ状態になってると考えればいい。
そもそも「出来るだけタイプ量少なくすることで競う」って話だし。

763 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:19:35 ]
いやいや駄目でしょ。
Lispは結構知ってるし、Smalltalkもある程度は知ってるけどさ。
標準ライブラリで、標準のコアで勝負でしょ。



764 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:22:05 ]
まあ拡張を定義した部分まで行数に入れるんだったら
もちろんいい。

765 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:23:18 ]
他の言語じゃ不可能な時点で勝負にもなんないね。


766 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:23:25 ]
あと、その言語として自然な記述で比べること。
7行プログラミングスレみたいな奇怪なコードならCでも短くなるけど、
そういうコードで比べるのも反則。

767 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:23:52 ]
>>765
別に不可能じゃないよ。ライブラリなんてどの言語でも書ける。

768 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:27:34 ]
>>766
ああいう奇怪なコードで書くのがPerlの自然な流儀ですが何か?

769 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:27:56 ]
こんな夜中に何を必死になってんだ

770 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:46:42 ]
>>767
知ってていってるならしょうがないが
開発環境と実行環境が一体化してるもんだから
単なるライブラリとは違う。

771 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 03:59:21 ]
いくらそんなこと言ったって、同じにしなくちゃ駄目だろう。
やっぱりライブラリを作ってこれ使えば一行とか言ってるのと同じぐらい
反則に俺には感じる。

772 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 04:00:09 ]
いい加減宗教戦争は勘弁して下さいよ、本当に。

773 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 04:56:09 ]
スレの質が急激に低下してまいりました



774 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 05:33:44 ]
>>1 に出てくる語句について教えてください。

「データ分散」って何ですか? NUMAとかのヘテロなアーキテクチャでの話?
「スクラッチメモリ」って何ですか? CellのSPEが持っているような
プロセサ固有のメモリ?



775 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 05:54:04 ]
>>773
おまえが上質なネタを投下しろよ

776 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 06:08:41 ]
>>775
おまえが上質なネタを投下しろよ

777 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 06:51:03 ]
>>774
>>1に聞けよ

778 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 08:16:38 ]
HTML化されてる最初のスレはかなりレベル高かったみたいだね。
今の>>1-5のテンプレはいつごろからあったんだろ?

779 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 14:52:11 ]
>>774
厳密にはともかく概ねそれで合ってんじゃない?

>>772
宗教戦争になるのは
優劣を計ろうとしていながら物差しがちゃんと定義&評価されてないからだと思う。
言語設計ということを理解するに当たって既存の言語を比較対照することそのものは
悪くないと思うのだけれど、基準が独りよがりすぎるから感情論になる。

それにRubyがでてくるのは話の流れとしてまだわかるが
Lispはいくらなんでも唐突過ぎる。
イキナリRubyと比較してるが使われる局面も設計時の背景や目的も明らかに違うから
何を比較したいのだかよーわからんことになってる。
言語設計の課題は設計目的にどのくらい適っているかどうかだし、
言語選択の問題は開発対象の性質に言語がどのくらい適合しているかだろう。
いずれにせよ目的も基準もハッキリしない漠然とした優劣は問題ではない。

780 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 14:55:35 ]
プログラムの長さ、記述量が問題になっていたようだが…

情報理論の教えるところによって符号化という視点で考えれば
プログラムもまたプログラムの仕様という情報を符号化したもの。
言語が違えば符号化の体系が違うと考えられるわけで、
単純にコードの文字数を云々することにはあまり意味がない。

例えばコードの中でよく使われるパターンが短く、
あまり使われない構文が長くといった設計上の戦略もある筈だから
どういう目的で設計されているかということを考える必要がある。

また誤り訂正符号などの例のように純粋に内容の情報
(プログラムなら例えば中心となる内容はデータ構造とアルゴリズムだろう)
だけでなく誤りを見つけやすくするための付加情報が含まれるケースもある。
特にプログラミング言語という符号体系は人と機械の間をとりもつ際の
ユーザ側インターフェイスであるわけで
人の認知科学的な処理特性を無視することはできない。

例えば制御文と式と宣言文の構文が分かれていたり、
意味が連想しやすい名前がキーワードに使われるとか、
ユーザが把握しやすい動作モデルを提供するというのは
文字数単位でコード量(端的にはタイプする量)が増えても
そういう観点からは意味がある。

781 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:01:42 ]
>>778
4からじゃね?

782 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:07:53 ]
>>779-780
なげーよ
日記なら他所でやれ

783 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:20:39 ]
言語の設計には必ず設計目的があり、
設計目的はその時点での背景がある。
そういうことを考えずに闇雲に優劣をつけようとするのは無意味なことだ。

以下に技術的背景が言語設計に及ぼした影響について幾つか例を挙げる。

まず言語は既存言語の存在を前提にしている。新しいものは特にそうだ。

Javaの例で言えば:
JavaはCが存在していて必要ならば使うことができることが前提だから
比較的汎用指向の言語でありながら
Cで書くことが適切であるようなハードウェアレベルの記述機能を
潔くスッパリ切り捨てた設計ができている。
例えば、バイトコード&仮想マシンの採用やポインタ演算の放棄などがそうだろう。
Javaではそれらと引き換えにより厳密な静的型検査が可能になり、
それがバイトコードの検証といったセキュリティ技術、
ひいてはモバイル・コードの実現といった当初の設計目標を支援している。



784 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:21:25 ]
また、言語は設計当時の技術水準を前提にして設計されているし、
当時重要であった課題を優先して解決するように設計されている。

FORTRANの例で言えば:
FORTRANの行指向な言語設計は行単位に1枚のカードが使われていた
ハードウェア技術に大きな影響を受けている。
構文解析が案外面倒な面倒な算術式のパース技術が取り入れられた背景としては
当時算術演算を手軽に記述できる言語が他になく正にそれが求められていたからだ。
その一方で計算機のメモリやディスクの容量が限られていたこともあって
プログラム規模が当時は現代より比較的小さかったので
ユーザ定義のデータ型への需要は相対的に小さかったためそういう機能は貧弱だ。

LISPの例で言えば:
何よりAI研究で必要な柔軟なデータ形式である
リンクリストやそれを利用したツリーを簡単に操作できることが優先目標だったから
それが充実している一方で、算術式はお世辞に読みやすいとは言えないし、
効率のよいランダムアクセス可能な配列といった機能はなかった。
(近年LISPを語る際によく言及される、
メタな機構が充実したのはちょっと後のことで誕生当時の古LISPでのことではなかった筈だ。
言語のメタな構造がLISPが解く意図するツリー構造と相性がよかったこと、
元々の適用分野がAI研究だったことなどが影響しているのだろう。)

785 名前:訂正 mailto:sage [2005/12/14(水) 15:24:35 ]
解く意図する→得意とする

786 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:25:54 ]
ここは公開オナニー劇場ですか

787 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:26:55 ]
宗教戦争なんてしてたっけ。

788 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:27:18 ]
>>782
日記など書く趣味はないよ。
言語戦争の発端のグチを>>654-の記事の一部にポロっと書いた責任を取って
正攻法で技術論に戻して収拾しようとしてるだけ。

789 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:33:02 ]
ウザス
2、3行で要約しろよ

790 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:36:33 ]
冗長でも誤りを見つけやすくするため云々は一理あるけど、
冗長に書かないといけないせいで入るバグもあるから
トレードオフであることは意識しないとね。

「把握しやすい」ってのも、
その感覚はユーザによってばらつきがとても大きい。
これを意識しないで話すと宗教戦争になる。


791 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 15:41:37 ]
>>787
顛末は例によってRubyが貶されて信者が暴れただけ。

792 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:10:36 ]
>>783-784
知識の垂れ流し、結構なことです。
が、ここはお前の落書き帳じゃねーんですよ。
各言語の歴史的経緯についてなんかは言語仕様書の冒頭にでも
書いてありそうなことだし、こんな所で長々と解説されても信憑性も
疑わしいわでだんだん話が薄っぺらくなっていくだけですよ。
こちらとしては、そんなものより要点だけ数行でまとめて書いてくれると
読みやすいわ疲れないわでとてもありがたいわけですよ。


793 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:12:53 ]
ウザス
2、3行で要約しろよ



794 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:14:04 ]
>>793
一行で要約できますた。
「ここはお前の落書き帳じゃねーんですよ。 」

795 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:25:20 ]
つまり過剰な冗長さは悪し、という例ですな。

796 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:29:39 ]
長くなると(読解力が不足がち人には)ウザイってのはそうだろうけど
(なら読み飛ばせば?とも思うのではあるけども
読み飛ばしてもくれずわざわざウザイと書いてしまう
不思議な心理があるようですね。)
信憑性が薄くなるってのはよくわからないな。信憑性は内容の問題でしょ?
読解しきれないと内容が理解できないからそういう読み手にとっては
信憑性が薄く「感じられる」というなら納得。

ちなみに要約、要約と言ってるけど
要約というのも情報処理だから当然情報量が減るわけですが、
そこはわかってますか?
要約された梗概ばっか読んでたら
そりゃ目は楽だろうけども身のある話はできませんぜ?
要約なんてのは言わば骨格標本みたいなもので肉はないんだから。

それにこの程度のことで知識の垂れ流しと言われるのも心外。
議論のためのほんのとっかかりのつもりだし、
ちょっと年寄りの言語屋なら別に知るともなしに知ってるような話であって
自慢するほどの知識じゃない。

…と>>792を見た瞬間に思ったけども、>>794にある要約が>>792の真意なら
あまり意味はない単なる煽りなわけで無視したほうがいいのかな?

797 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:32:08 ]
>>795みたいな茶々いれの冗長性はどんなもんすかね?

798 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:37:55 ]
>>796
一行で要約できますた。
「無視したほうがいいのかな?」

799 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:42:58 ]
梗概が読めなかった。「こうがい」って読むのか。

800 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 16:53:40 ]
>>796
>自慢するほどの知識じゃない。
そう。
あなたの知識の垂れ流しは、言わばほとんど無駄な情報=ノイズなわけですよ。
あなたの言う骨と肉で例えると、見るに耐えないブヨブヨです。
すなわち骨が入ってるのかどうかさえ確認するのは困難です。
それをいちいち探りながら読んでいると時間も掛かり頭痛も絶えないわけでして、
長文をお書きならもうちょっと読ます文章を心掛けて書いて頂けませんか?
ということですが、お分かりになられませんかね。

801 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:00:51 ]
よし、10行縛りにしようぜ

802 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:08:25 ]
>>797
丸ごと読み飛ばされる冗長性に比べると、一行コメントぐらいの冗長性ですな。

803 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:15:34 ]
3人の旅人がおりました。
ホテルを見つけて、そのホテルのオーナーに宿泊料金をたずねると、オーナーは「3人部屋で30ドルです」と答えました。
そこで、旅人はひとり10ドルずつ払って、そのホテルに泊まることにしました。
しばらくして、オーナーは3人の旅人の泊まっている部屋の料金は、本当は25ドルだったということに気付きました。
そこで、ボーイを呼んで「あの3人の旅人に、この5ドルを返してきておくれ」と頼みました。
ボーイは、3人に5ドルを返しても割り切れないと思い、自分のポケットに2ドルしまい込み、残りの3ドルを、3人の旅人に1ドルずつ返しました。
3人の旅人は、ボーイから1ドルずつ返してもらったので、9ドルずつ払ったことになり、9ドル×3人で27ドルです。ボーイのポケットの中の2ドルを足すと、29ドル。
さて、残りの1ドルはどこへいったのでしょうか?



804 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:33:35 ]
>9ドルずつ払ったことになり、9ドル×3人で27ドルです。
問題が間違ってますよ。30-5+3で3人で28ドルですが。
端数切捨てですか?

805 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:37:43 ]
いや3人が払ったのは27ドルでしょ。27-2=25ドルがオーナーの受け取った金で。
と、おいらも釣られてみましたよ。

806 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:38:31 ]
>>784
いや、一番最初のLISPの目標は計算モデルを記述すること(チューリングマシンの代替)だろ。
それはまた、自分自身の処理系を簡潔に記述できる構造であることを意味する。
だからメタな機構はLISPの根本だと思うよ。メタサーキュラーな処理系があれば
それを種にして何でも出来るんだから。マクロやMOPは使い勝手の上で
追加されたおまけみたいなもん。



807 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:40:19 ]
>>781
このスレ6から読み始めたので、2〜5のdatどれかしら持ってたらうpしてもらえませんか?

808 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:43:32 ]
論争 Rubyで大規模プロジェクト 採用企業4割拡張ライブラリ使わず
www.toyama.hokkoku.co.jp/_today/T20051210002.htm

あるチーフプログラマーは「日本人なら、Ruby。大規模プロジェクトでも拡張ライブラリは必要ない」と言い切り、
今後も拡張ライブラリとの併用はしない考えだ。

809 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:46:47 ]
掲示板は書き手同士のコラボレーションで成り立ってるから、
そういうTPOとか特性を考えた上て書けってことだろ
そろそろこのスレの趣旨の話に戻せよ

810 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:53:38 ]
>>808
この業界では技術に保守的なだけでもクズだというのに、
ついにナショナリストまで登場しているのか(笑)

811 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 17:59:31 ]
>>808
ネタのつもりなんだろうけど、そういうまるっきりウソ流し続けてると
コミュニティ過激派から訴えられるかも知れんぞ

812 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 18:01:50 ]
おれは2が欲しい

813 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 18:14:18 ]
おれはお前が欲しい



814 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 19:13:58 ]
>>803
真相をお話します。
オーナーはご想像の通り、物忘れが酷い人物ですが慈悲深く、
ボーイもまた欲深いという欠点を持つ人物ですが、それでも
ボーイはオーナーの人格を信頼して付き従っておりました。
さて、実はこのホテルのシステムは後払い方式なのですが、
オーナーの物言いにボーイは素直に頷き、オーナーから
預かった5ドルを欲深さからそのまま着服しました。
翌日オーナーは例外なくそのことを忘れており、
チェックアウトした旅人へ謝罪し25ドルを受け取りました。
結局その時ホテルで5ドルの損失が発生したのですが、
オーナーはそれに気づかず運営を続け、やがて倒産してしまいました。
しかしその後ボーイは着服で貯めた金で大成し、
路頭に迷った元オーナーを雇ってあげたという話です。
経営者としてはボーイの方が格上だった、が正解です。

815 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 19:42:02 ]
ヒソ(´д)(д`)ヒソ

816 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 22:26:28 ]
3人の言語オタがおりました。
このスレを見つけて、そこの住人に最高と思う言語をたずねると、
「RubyとLisp以外です」と答えました。


817 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 22:28:14 ]
eagerな言語は使う気がしない

818 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 22:42:51 ]
クロージャまわりのメモリ管理ってどうやってます?
・基本はスタック上で、捕捉されたらヒープにコピー
・コンパイル時にスタックに置くかヒープに置くか決めて、コピーしなくて良いように
・めんどいので全部ヒープに取ってGCまかせ
・その他

と、ネタ投下してみる。


819 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 23:13:26 ]
>>807
makimo.to/cgi-bin/search/search.cgi?q=%83R%83%93%83p%83C%83%89%81%40%83X%83N%83%8A%83v%83g&andor=AND&sf=0&H=&view=table&D=tech&shw=2000

820 名前:デフォルトの名無しさん mailto:sage [2005/12/14(水) 23:57:16 ]
>>818
全部ヒープでやってる。速度は今のところ考えてない。
いずれはスタック使いたいんだけどね。
とりあえず論文読み中。

www.cs.indiana.edu/~dyb/pubs/3imp.pdf

821 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 01:12:12 ]
>>818
>・基本はスタック上で、捕捉されたらヒープにコピー
捕捉されたらとは?生成のこと?
>・コンパイル時にスタックに置くかヒープに置くか決めて、コピーしなくて良いように
クロージャの生成構文を別々に設けるということ?
これらの意味は?

おれの見解ではクロージャを使うだけであればスタック、
クロージャを生成する際、親フレーム以下があれば
ヒープに落としてフレーム参照を繋ぎかえる、
この時既にヒープに落ちていれば何もしない、
という戦略がスマートというか、一般的じゃないかと。
使用回数>生成回数という場合ね。
CPSやジェネレータみたいな使い方しかしない場合は
コピーが連続して不利になるけど、こんなことは
やろうと思わなければめったにない。

822 名前:807 mailto:sage [2005/12/15(木) 01:28:06 ]
>>819
どもありがと。さいこー

823 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 02:53:00 ]
>>818ではないですが面白そうな話題ですね。

>クロージャの生成構文を別々に設けるということ?
エスケープ解析とか?

>おれの見解では(略
すまん、理解不能。
といってもクロージャ変換で実装したことしかない俺の知識が足りないだけ。
興味あるので「一般的」の参照をくれるとうれしい。



824 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 04:31:04 ]
>>803
○○○○○.○○○○○/○○○○○.○○○○○/○○○○○.○○○○○ 最初に支払ったお金30ドル

●●●◎◎.○○○○○/○○○○○.○○○○○/○○○○○.○○○○○ 3ドル返す 2ドルくすねる
└┼┘└┤└───────────┬─────────────┘
  │   │                   └ 主人の手元に25ドル
  │   └ ボーイの手元に2ドル             
  │
  └ お客の手元に3ドル

支払ったお金は27ドル
  9×3=27 9ドルずつを3人で払った
  30−3=27 30ドル払って3ドル返してもらった
  25+2=27  主人に25ドル、ボーイに2ドル払った

ボーイがくすねたお金2ドルは、客が支払ったお金(25+2)の一部
だから支払った27ドルにさらに2ドルを足すことが間違い(25+2+2・・・×)

最初の金額30ドルを求めるには、実際に支払ったお金27ドルに 戻ったお金3ドルを足さなければならない

825 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 04:51:17 ]
エスケープ解析というのを知らなかったのでぐぐってみたのですが、
関数等のスコープの中で定義した変数やクロージャの
利用がスコープの中だけで完結し、外には持ち出されないことを
調べるということでしょうか。

826 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 13:44:56 ]
そうです。

827 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 17:01:53 ]
>>783-784
おもしろい。長くてもいいからやってくれ。
くだらん短い書き込みより、長くてもおもしろいほうがいいや。
長いのがいやなら読まなきゃいいだけ。

>JavaはCが存在していて必要ならば使うことができることが前提だから
>比較的汎用指向の言語でありながら
>Cで書くことが適切であるようなハードウェアレベルの記述機能を
>潔くスッパリ切り捨てた設計ができている。

ここらへんはたぶん違ってて、Javaに低レベルの記述がないのは単にJavaがバイトコードインタプリタを採用したからであって、Cがあるから云々は関係ないと思う。
ポインタをなくしたのもGCを導入しやすくするためで、やっぱりCとは関係ない。


828 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 18:15:07 ]
>>827
そのへんは、鶏が先か卵が先かみたいなもんじゃね?


>>780
>人の認知科学的な処理特性を無視することはできない。
認知科学的には、冗長だとミスが増える法則もあるので
トレードオフだよね。

>ユーザが把握しやすい動作モデルを提供する
同じ物でも「把握しやすさ」はユーザによって
ばらつきが大きいんだよね。
ここを意識しないと宗教戦争になる。


829 名前:デフォルトの名無しさん [2005/12/15(木) 21:03:36 ]
>>827
ポインタはあるよ。
論文ばかり読んでる○○研究者か?

830 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 21:05:42 ]
>818
継続も使いたいから
>めんどいので全部ヒープに取ってGCまかせ
かね……

831 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 21:35:49 ]
>>823
>興味あるので「一般的」の参照をくれるとうれしい。

図にすると下みたいなイメージだけど、その辺は「クロージャ」が
出てくる速い処理系のソースかドキュメントでも読んでよ。
今の所これ以外に速い実装は思いつかないが。

※ |****| はフレームの変数とかの中身
※ (矢印)はフレームポインタ

スタック |******親1******|(←)|******親2******|(←)| ★クロージャ生成直前
ヒープ     ヒープはまだ空の状態

↓ ヒープに落としてフレーム参照を繋ぎかえる

スタック |     親1    |(↓)|     親2    |(↓)| ★クロージャ生成完了
ヒープ  |******親1******|(←)|******親2******|(←)|

エスケープ解析までするなら特定の親のみしかヒープのコピーは発生しない。
例えば親1のフレームしか参照しないのであれば親2のフレームは
そのままスタックに残しても良い。

スタック |     親1    |(↓)|*******親2*****|(←)| ★クロージャ生成完了
ヒープ  |******親1******|(←)| ←─── 生成されたクロージャは直接親1を参照


832 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 22:12:03 ]
>>829
参照のことをポインタだって言い張ってる人はいますね。

833 名前:デフォルトの名無しさん mailto:sage [2005/12/15(木) 22:43:17 ]
Javaでポインタがあるっていう人間は低脳。バイトコードの仕様書読み直してから来い



834 名前:818 mailto:sage [2005/12/16(金) 01:44:55 ]
>>821
>>・基本はスタック上で、捕捉されたらヒープにコピー
>捕捉されたらとは?生成のこと?
「生成されたクロージャが、
 子孫のスタックフレームでないフレームに捕まえられたら。」かな。
例えばforeach的な関数にクロージャを渡してそのまま捨てるような状況なら
コピーは要らないわけです。
これをやると破壊的な処理がやたらと高くついたり、
いざコピーとなったときにやたらと高くついたり、
その他色々と面倒なことになったりしそうですが。

>>・コンパイル時にスタックに置くかヒープに置くか決めて、コピーしなくて良いように
>クロージャの生成構文を別々に設けるということ?
コンパイル時に絶対にコピーが要らないとわかったときのみ、
フレームはスタック上に置いて、
それ以外は最初から親フレームはヒープに置いておこうと。
「関数aはクロージャを引数に取るが、それはどこにも保存されない」
ということになればa以外を呼ばない関数のフレームはスタック上に置いて良いでしょう。
が、やっぱり色々あって面倒なことになったりしそうです。

どっちもクロージャより親フレームが長生きなら問題ないよねという方針。

835 名前:デフォルトの名無しさん [2005/12/16(金) 18:53:57 ]
Javaでポインタが無いと信じているアフォども、
せいぜい、振り込め詐欺やワンクリ詐欺に用心しておくこったなw
言われてることを、そのまま単純に信じているようでは、
おまえらいい鴨だよ。


836 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 19:38:44 ]
個人的な主観かもしれないけど、
ポインタ演算が無いものは参照と呼ばないか?


837 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 20:21:09 ]
例えば、Cのポインタをタンイポと呼ぶように2006年から改正したら、
2006年からポインタが無いことになるぞ。
ポインタだのタンイポだのと言われてることが全て。

838 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 20:41:20 ]
ポインタをタンイポと呼ぶためには法改正が必要なわけだが、2006年からというのは早急すぎるな。
まずは有識者を集めた小委員会の設置を図った上で、再来年以降の国会提出でも十分だと思う。

839 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 20:44:35 ]
配列のイテレーターと参照と参照ポインタとメモリアドレスのポインタとを
一括してポインタと呼ぶべきでない。


840 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:04:11 ]
>>835
Javaでポインタが有ると信じているアフォども、
せいぜい、振り込め詐欺やワンクリ詐欺に用心しておくこったなw
言われてることを、そのまま単純に信じているようでは、
おまえらいい鴨だよ。

841 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:05:31 ]
え、ポインタと参照の違いは常識だと思ってたのですが。
またトンデモ本の誕生ですか。

842 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:06:01 ]
>>840
ほんたまですか?

843 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:06:22 ]
塗るタンイポえくせぷしょん



844 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:06:32 ]
懐かしい名前を出さないでください。せっかく忘れていたのに。

845 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:07:45 ]
Pascalのポインタは演算できないけどポインタと呼ぶな
だから正解は>>837

846 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:10:09 ]
でも一般的に見たら、参照とポインタの一般像みたいなもんはあるだろ。
Pascalは例外じゃないか?

847 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:12:33 ]
PascalはInc, Decができるじゃん。

848 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:12:34 ]
たしかにポインタの演算はできないけど数値にキャストできるから同じ事では。

849 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:21:12 ]
みんなそんなにボロカスに言うなよ。
Mさんが可哀想じゃないかw

850 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 21:22:33 ]
まあ少なくともJavaの参照はポインタではないことは確かだ。
名前が参照だから。

851 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:35:58 ]
そんなの実際どうとかじゃなくて、
設計者がどう定義したかと、その思想によるだろう。
だから>>850が正しい。

852 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:41:17 ]
名前はともかくとしても、実際の内容を素直に受け止めれば
いいと思うけど。なので >>835 が正解。

853 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:42:47 ]
>>835とか>>852は、ポインタと読んでCのポインタを連想した上で書いてるわけっしょ?
だったらやはりCの言葉の定義に(ry



854 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:44:40 ]
実際の所、Rubyにはポインタは存在するがLispには存在しない。


855 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:46:11 ]
>>853 ポインタという言葉の定義or使用はCが最初ですか?


856 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:48:01 ]
RubyもLispもPascalも、同じ太陽を感じ、同じ月を見て. 同じ空気を吸っているのだから
ポインタの有無くらいで区別するのはよくないと思います。

857 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:50:26 ]
しかし、ポインタの有無は実用性を大きく左右するんだよ。

858 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:51:20 ]
うむ。

859 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:52:51 ]
結局は宗教論争。
和平への道はアセンブラ原理主義しかない。

860 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:53:34 ]
>>855
ALGOL60にPOINTERという型は既に存在したらしいぞ
ttp://www.99-bottles-of-beer.net/language-algol-60-24.html


861 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:55:01 ]
Java ポインタ の検索結果 約 197,000 件中 1 - 10 件目 (0.03 秒)
www.google.co.jp/search?hl=ja&q=Java+%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF&lr=
Java 参照 の検索結果 約 2,830,000 件中 1 - 10 件目 (0.24 秒)
www.google.co.jp/search?hl=ja&q=Java+%E5%8F%82%E7%85%A7&lr=

この様にJavaポインタ派は、Java参照派と比較するとごく少数です。
どうやら集団で勘違いされているみたいです。


>>856
Rubyにはポインタはありません。
ポインタに相当する機能は持ってますが、
それはポインタではありません。

862 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:58:05 ]
実にくだらない話題に収束したな。

863 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:29:43 ]
ポインタ演算とか、インクリメントとかデクリメントとか、数値へのキャストとかそういうのを
わざと制限したものは普通、ポインタじゃなくて参照って言わない?



864 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:33:18 ]
>>857
同意。ポインタのある言語は領域破壊のバグが頻繁に紛れ込むが、
Javaのようにポインタのない言語はそうしたバグは非常に少なくなる。

865 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:33:48 ]
いわないね。
Delphiだと明確に区別されてるし。

866 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:34:56 ]
>>865
Delphiは言うじゃん。参照って。

867 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:37:26 ]
つまり、865は「ポインタとは言わない」と言いたいちゃうんかと。

868 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:40:25 ]
あぁ、863へのレスのつもりなのね。

869 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 23:52:19 ]
>>857
つまりLispは実用的でない証明ってこと言いたいわけ?w

870 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:05:20 ]
lispにポインタはありません。ポインタの無い言語は実用性で勝ります。864を参照。

871 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:10:12 ]
Cにはポインタがあります。ポインタのある言語は自由度と汎用性で勝ります。864参照。

872 名前:デフォルトの名無しさん [2005/12/17(土) 00:10:39 ]
Lispにポインタはあるが、そういえば、Lispのポインタって完全にJava、Rubyなどで言う参照だよな。
結局その言語でそれをなんと呼ぶかってことだな。

873 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:11:26 ]
>>871
確かにバグを出す自由度で勝りますねw



874 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:19:31 ]
ようやくLispが出てきたか

やっぱこのスレの主役はLispだよな!

875 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:20:01 ]
Lispこそがすべての源流であるということは認めざるを得ない。

876 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:23:32 ]
そもそも「Javaでポインタ」って話は、C++使いにJavaの参照を教えるときに「C++の参照と違ってポインタみたいなもんですよ」って説明するだけの話じゃなかったっけ?
それ以外の時に普通Javaの参照はポインタとは言わない罠。
まあ「何かを指し示す」って意味に限定すればJavaの参照とCのポインタは一緒だから「存在しない」とまでは言う気ないけど。
ポインタ演算ができるかどうかなんてポインタの本質じゃないでしょ。

877 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:25:38 ]
>>876
一般に参照とポインタの区別を云々する場合、ポインタ演算の有無こそが本質のうちの1つです。

878 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:26:56 ]
>>877
そうなの?ポインタキボンヌ。

879 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:27:45 ]
ポインタ演算があるのと無いのとではバグの量と種類に大きな違いが出るのだよ。

880 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:29:26 ]
Cのポインタは、演算によって「値をずらす」ことができるだろ。

int a;
int *p = a;

p += 1; //←これ


参照はそれができない。


881 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:30:15 ]
それはポインタ演算の有無の話であってポインタの有無の話ではないですね

882 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:31:08 ]
間違った。

int a;
int *p = &a; //アドレスを代入

p += 1; //←これ

*p = 1; // 任意のアドレスのデータを破壊

参照はこれができない。


883 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:32:00 ]
ポインタの有無の話ですよ。今や、それが出来ないものをポインタではなく参照とよぶことが多いんですから。



884 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:32:51 ]
ポインタは任意のハードウェア例外を引き起こす。

*(int *)(0) = 0; // 不正なアドレスへの書込み



参照ではこれはできない。

885 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:33:23 ]
これぐらいか?

●同じ点
Javaの参照もCのポインタも、どちらも間接参照を表すためのものである。

●異なる点
Javaの参照はヒープ上にあるオブジェクトしか指す事ができない。
Cのポインタはどこにあるオブジェクトも参照できる。

Javaで参照されているオブジェクトは決して消滅しない。
Cで指されているオブジェクトはいつの間にか消滅している可能性がある。
(そして、消滅したオブジェクトへの参照をたどった場合の動作は未定義である)

Javaの参照にはCのポインタ演算のような機能はない。
Cのポインタ演算は、配列の要素を指すポインタのみに使う事ができる。
それ以外の場合の動作は未定義である。

Javaの参照の動作はかなり厳密に定義されている。
Cのポインタに対する操作には「未定義である」という部分が多い。
それを利用して環境依存の色々な技が使えたりする。

886 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:34:20 ]
Cのポインタが安全性を保証してないだけの話じゃん

887 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:35:50 ]
クロージャの話しようぜ

888 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:37:11 ]
>>887
まずクロージャを定義してださい。

889 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:38:20 ]
ポインタは本来、「何かを指し示すもの」という意味でした。
この言葉は、アドレスやそれを格納した変数などにたいして用いられてきました。

しかし、時代が移り変わるにつれ、ポインタ演算によって、頻繁に深刻なバグが
発生することがわかってきました。ポインタ演算の有無が非常に重要だという
ことがわかってきたのです。

かくして、本来は本質でなかったポインタ演算の有無が、時代とともに重要視
され、ポインタの本来の意味が変わってきたわけです。

890 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:38:34 ]
ださいとかいうなや

891 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 00:42:25 ]
ポインタ演算を適用できる変数やアドレスの数値と、参照との区別を明確にするため、
前者のことを特にポインタと呼ぶようになったのです。
特に言語として、Cがダントツで有名になったこともこの背景にあります。

892 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:05:55 ]
・ポインタ演算を元に考えればJavaやその他の言語にポインタはない。
・そうでなければいわゆる参照(C++の参照を除く)はポインタみたいなもん。
ってことでFA?

893 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:12:47 ]
代入なんかをインスタンス化してしまう言語にはポインタがない、参照切れもない。



894 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:16:58 ]
>>892
あと、
・その言語がポインタと呼んでいないものは、その言語ではポインタではない。

895 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:18:08 ]
>>893
ポインタ演算ができないからでしょ。

>>894
そんなこと言ったらJavaScriptにはクロージャはないってことになるじゃん。

896 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:21:50 ]
いろんな言語のポインタ、いろんな言語やハードのアドレスは、それぞれ別のものを
別々に定義可能。
それらの用語の使い方は仕様によって異なる。
時々これらを混同して、「アドレスはポインタか?」とかの議論で、おかしな議論を
展開しちゃってる人がいるけど。

897 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:23:05 ]
>>895
クロージャを他の機能で代替してるだけなら、
厳密な意味ではクロージャはないんじゃないの?

898 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:25:39 ]
ECMAScriptの仕様書のP144にクロージャ出てきますが何か?

899 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:25:40 ]
厳密な意味ならね。

900 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:26:56 ]
>>896
禿同。
このスレは変な議論で盛り上がるよなw

901 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:26:57 ]
その言語がそれをクロージャと呼んでいないなら、クロージャじゃない。

902 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:29:06 ]
>>898訂正
×P144
○P132

903 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:32:05 ]
ああ、Cのポインタは実装によってマシンのアドレスと違うことがあるから、
アドレスはポインタではないとかいっちゃってる人いますね。
Cのアドレスとマシンのアドレスを混同しちゃってる例ですかね。



904 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:46:37 ]
要はどっちでもいいだろって話でしょ。
Javaの言語仕様に関する議論で「ポインタは〜」とか言ってたら指摘すべきだが、>>876みたいな文脈で「ポインタみたいなもん」って言ってるだけでつっこむとしたら揚げ足取り以外の何物でもない。

905 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:51:38 ]
ポインタをマシン語のアドレスと思ってあつかうと
マルチコア、マルチタスク、マルチキャッシュなCPUでは
競合が発生して、かなりわけわからんことになる昨今。

906 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:53:11 ]
>>888
では混乱を無くすために
クロージャ=Schemeのクロージャ(あるいはラムダ式、無名関数)
と定義するよん。他の言語も右に倣えだから意味論はほとんど同じ。

例えばクロージャのある言語ではnewのような特別な構文を
定義することなくオブジェクトの生成を記述できる。

(define new-point
 (lambda (x y) ;---メンバ変数に相当、隠蔽される
  (lambda (message . args) ;---this、selfに相当
   (case message
    ((getx) x) ;--- getter
    ((gety) y)
    ((setx) (set! x (car args)) x) ;--- setter
    ((sety) (set! y (car args)) y)
    (else (error "unknown method " message))))))

実際にやっていることはクロージャを生成するクロージャを
定義しただけ。それでも以下の様にオブジェクトとして扱える。

(define point (new-point 1 2))
;メンバ変数はどうやってもアクセサ経由でしか参照できない
(point 'getx) ;=>1
(point 'gety) ;=>2
(point 'setx 3)
(point 'getx) ;=>3


907 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:58:41 ]
燃料投下

Javaでは、NullPointerExceptionっていう言語定義された例外が存在するんですがwwwww

908 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 01:59:53 ]
NullPointerExceptionを考えた馬鹿を吊るし上げればいいだけだお^^

909 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:01:45 ]
>>906
なるほど
JavaScriptやlua、perlもそれと同じだね。

910 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:04:49 ]
>>907
Javaにポインタがあるとか言ってる奴の主張はそれじゃなくて
参照のことだろ。

911 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:08:44 ]
ttp://nantan.xrea.jp/tag/Java
「ポインタ(pointer)」と「参照(reference)」とは、同じようで微妙に異なる。
簡単にいうと、「参照」はデータを間接的に参照することで、「ポインタ」は
その実現方法。つまり「参照」は仕様であり、「ポインタ」は実装である。
よく「Javaにはポインタがない」「いや、Javaの参照変数はポインタ
そのものだから、Javaにもポインタがある」という論争があるけど、
前者は「Javaの言語仕様にはポインタがない」ことを後者は「Javaの
実装にはポインタが使われている」ことをそれぞれ言っている。
つまり話の焦点がずれているため、両者の議論はかみ合うはずがない。
ただまあ、「NullPointerException」という名前はよくなかったな



912 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:11:13 ]
もし NullPointerException を改名するとしたら何にするのがよい?

913 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:12:26 ]
NullpoException



914 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:14:25 ]
CantDereferenceException

915 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:31:26 ]
燃料の質が悪かったか。精進します。

916 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 02:36:52 ]
NullReferenceException

www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnullreferenceexceptionclasstopic.asp

917 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 03:54:34 ]
で、そのポインタ論争がこのスレと何の関係があるんですか
マ板のぬるぽスレでも行って騒いでなさい

918 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 03:56:44 ]
ポインタについては、このスレで議論することですか?

919 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 05:44:46 ]
このスレで議論することは何ですか?

920 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 05:49:30 ]
質(略)

921 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 05:50:09 ]
次スレの準備かな。

922 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 05:51:33 ]
まだ早いよ

923 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 05:53:08 ]
元々クロージャの話だったからそれをギロンすればいい



924 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 06:00:54 ]
じゃ、まずはおまいからギロンを始めてくれ。

925 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 10:10:43 ]
ぎろーん

926 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 10:47:16 ]
ポインタなどという用語を不用意に使うような糞言語は捨てですね
何も反省していないということがわかる

やっぱりLISPですね

927 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 11:01:35 ]
昔の言語だったらしょうがないけど、今時ポインタという用語使う言語の方が珍しい。

928 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 12:15:13 ]
>>911
>「ポインタ」は実装である。
これの一次情報ってどこなんだろう?
少なくともCの仕様書ではそうなってない。
言語はC言語で実装することが多いので、
参照を表すのにポインタが直接使えるだの使えないだのという話はするけど。


929 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 13:02:20 ]
ポインタはCでは仕様、Javaでは実装ってことじゃね?

930 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 18:08:17 ]
>>926
Emacs Lispのリファレンスマニュアルだと、全編を通じて
「ポインタ」という用語を使っているわけだが w

www.fan.gr.jp/~ring/doc/elisp-manual/elisp_81.html#SEC82

931 名前:930 mailto:sage [2005/12/17(土) 18:14:58 ]
ごめん、URLはこっちとかの方が適切だね。
www.fan.gr.jp/~ring/doc/elisp-manual/elisp_84.html#SEC85


932 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 19:30:44 ]
まあcより古い言語なんだし、その辺は仕方ないんじゃない?
lispのポインタは今でいう参照だな。

933 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 21:10:48 ]
だから、lispはポインタ無いって何度いえば(ry



934 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 21:23:52 ]
もういいよ、その話題は。

935 名前:デフォルトの名無しさん mailto:sage [2005/12/18(日) 00:32:13 ]
だから、rubyはポインタ(ry

936 名前:デフォルトの名無しさん mailto:sage [2005/12/18(日) 00:52:22 ]
さて、そろそろ次スレの準備かな。
立てたい奴、テンプレのリンク切れてるのチェックしてきてくれよ。

937 名前:デフォルトの名無しさん mailto:sage [2005/12/18(日) 07:04:06 ]
4年前の発掘
pc.2ch.net/tech/kako/1004/10048/1004873294.html

938 名前:デフォルトの名無しさん [2005/12/18(日) 23:03:22 ]
コンパイラ作る人は、「デバッガ」を、どのくらい「親切モード」に
搭載しているんだろう。手取り足取りでは作る手間かかりすぎるし、素っ気
なさ過ぎると、それはそれで文句言う奴も出てくるはず。

939 名前:デフォルトの名無しさん [2005/12/19(月) 18:04:56 ]
コンパイラヤサンは、でばっがやさんとは捌


940 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 22:11:29 ]
938が誰に何を聞きたいんだかさっぱりわからんのだが。
(VC++とかgccとかの)広く使われている処理系について、どのくらい親切な
デバッガが搭載されてるか、なんてことなら、938の使ってる処理系についてなら、
938自身がよく知ってることだろう。

そうじゃなくて、
「コンパイラを作るとき、デバッガをどの程度意識して作るものなのか。
 コンパイラ屋さんはたいして意識せず、デバッガ屋さんががんばるものなのか、
 それともコンパイラ作る段階で相当意識するものなのか。」

という疑問であるとか、

「なあみんな、処理系作るときどれくらいデバッガ意識してる?」

という問いかけであるのならわかるんだけど。


941 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 23:56:40 ]
SmalltalkやObjectCの話を聞いたときには、「そのうちプログラムも部品化・汎用化されて
CADのように配置して、入出力を線で結んで作るようになるんだろうなぁ」とか
思ったんですが、
なんでエディタで変数名をマウスで触ると宣言が出てきたりとか、コード補完してくれるとか
そっちへ行ってしまったのだろうか。
キーボードの呪い?


942 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 00:08:13 ]
>>941
CAD方式のほうがめんどくさいことがわかったからだ

943 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 01:30:21 ]
>>941
VisualAge for JavaってのがIBMから出ててな、結構やすいからまだ手に入るなら試してみな。
そうすりゃどのくらい便利でどっからあたりでマンドクサイかよ〜くわかるから。



944 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 01:57:01 ]
graphical だと patch 作るの面倒そう。

945 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 02:08:54 ]
>>944
そうでもないよ
画面からテキストへの写像でしかないから
UNIXから来た人は想像できなくて誤解も多いだろうけど

946 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 02:28:49 ]
ん、一旦テキストに落とすの?

947 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 02:57:44 ]
LispやSmalltalk界隈では普通に行われてるけど
他の言語では一般的にマーシャリングとかシリアライズと言われている機能かな
データ記述能力の低い言語ではXMLとかの別の構造に記録したりする

948 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 03:16:07 ]
>>943
シンセのエミュで、フィルタとかを結線するのは見たことがある

949 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 03:18:14 ]
SchemeやHaskellの話を聞いたときには、「そのうちプログラムも関数になって
参照透明に設計して、引数と返り値のやりとりだけで作るようになるんだろうなぁ」とか
思ったんですが、
なんでCの拡張のC++とか、Cの改良のJavaとかそっちへ行ってしまったのだろうか。
手続き型の呪い?

と同種の悩みなんだろうか。

950 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 06:38:49 ]
開発が進むごとに関数が増え続ける言語では、
関数の数が多すぎて、管理しきれなくなるからだろ。
関数の使用目的や機能等で特定の関数が使用可能な領域を縛ったりすれば、
もしかしたら可能だったかもしれんが・・・


951 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 06:47:00 ]
> 開発が進むごとに関数が増え続ける言語では
増えない言語ってあるの?

952 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 07:04:54 ]
>>951
現在、検案中。

特定の関数の使用できる条件を、経由した関数名や
オブジェクト等で限定できるようにすれば、
関数の個数を減らす事は可能かな?とか考えてる所。


953 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 07:46:32 ]
要するに、心当たりは無いが、将来的には存在するかもしれないって事か。




954 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 08:00:51 ]
Cは開発が進むごとに関数が増え続ける言語だが
(Common Lispのパッケージのような名前空間すらない)、
結構大きなシステムが書かれてるよな。

>>950のいう「管理しきれなくなる」というのは
どれくらいの規模のソフトウェアなのかまず明らかにしろ。


955 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 08:30:42 ]
しきれなくなるは言い過ぎかも知れんが管理がきわめて困難になるのは事実だろ。
だからCの後継言語に名前空間が存在するわけで。

956 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 08:38:35 ]
>>955
> しきれなくなるは言い過ぎかも知れんが管理がきわめて困難になるのは事実だろ。
下調べもせずにこんな適当な思い込みで開発するのはいかがなものか

957 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 08:43:31 ]
というか、949に対する答えとしては、950はおかしいぞ。
HakellやSchemeが「開発が進むごとに関数が増え続ける言語」で
C++やJavaが「開発が進むごとに関数が増え続けない言語」なのか?

958 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 08:57:04 ]
C++やJavaは、関数が増え続けないように歯止めをかける事が可能な言語かと。w
まあ、その機能を有効活用している例は少ないようだが。ww


959 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 10:42:50 ]
ヘッダ&変なプレフィクスが名前空間&クラスになったと。
本質はあまり変わってないが言語機能でサポートされたから多少は楽に。

960 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 12:39:44 ]
関数の数なんてソフトウェアの複雑性ではマイナーな問題だろう。

たかが関数が増えることよりも、クラスを一個定義するだけで
ポインタやらconstなポインタやら参照やらconstな参照やら
もちろんあと値渡しも、そしてconstなメンバ関数やらconstでない
それやら、関数ポインタやらメンバ関数ポインタやら……を考えないと
いけないC++の方がはるかに大変だ。
テンプレート使ってると特に。

961 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 12:40:37 ]
えーと。
大概のLispやSchemeのような古い関数型言語には名前空間ないけど、
MLやHaskellなどちょっと新しい関数型言語には名前空間あるよ。
というつっこみを誰もしないのはなぜですか?

962 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 13:29:03 ]
MLが新しいって?


963 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 13:44:57 ]
すまん、全てのMLが新しいみたいに言っちゃったな。
といっても正直、古いLispや古いMLはろくに知らないんで、
少なくとも今生き残っているLisp、MLについては、ってことにしてくれ。

さらに自分で言っといてなんだけど、Schemeって名前空間ないんだよね?
オブジェクト指向っぽいメッセージパッシングなどを
エンコードする形で自力で書け、ってことなのかな。



964 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 15:45:28 ]
LispやSchemeに名前空間がないつっても、Cと違って局所関数やクロージャ、
プロパティリストなどがあるからいくらでも階層構造に出来るしなあ。
その上大抵はベンダーがオブジェクト指向やモジュール機能
提供してるのがデフォだし。
つうか、オブジェクト指向機能を一番最初に搭載したのってLispでしょ?

965 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:04:57 ]
オブジェクト指向とかそのへんはまた荒れるんで、とりあえず
関数型言語は関数が増えるから使い物にならない
か否か、だけにしとこうよ。


966 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:10:40 ]
>>965
だからそのことについてだよ。
ようは、C++やJavaにクラス階層の名前空間があるから、
関数が増えても整理できるっていいたいんだろ?
だったら、Lispで出来るし、むしろLispが最初だってこと。

967 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:14:58 ]
「大概のLisp」って何時のLispを指してるんだ?
Common Lispにはパッケージがあるぞ。
Schemeは処理系依存だが、次の規格で何か入るらしい。


968 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:16:16 ]
>>967
CommonLispに加えて、Schemeも入れてたから。

969 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:18:05 ]
つまり、関数が増えるからどうのというのはmとんでもない勘違いでFA。

970 名前:デフォルトの名無しさん [2005/12/20(火) 16:21:11 ]
emacs-lispのイメージがあるんじゃないの?
あれ、なんらかの階層構造の機能を使って、増えた関数を整理するとかして
ないでしょ。
名前のつけ方を長くして階層的にしてるだけで。

971 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:24:30 ]
あれはモード切り替えるから大丈夫なんじゃないか?
カレントディレクトリみたいなもんでしょ。

972 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 16:34:33 ]
>>969
Common Lispには名前空間(パッケージ)やクラスがあるし、
Schemeにも処理系依存でそれらが存在する。
HaskellやMLにはもちろんあるでFA。


973 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 17:36:18 ]
>>954
C言語はコンパイル単位というか、ファイルスコープやリンカが別になってて
元々環境が地続きではないから、そんなに困らなかったんじゃないかと。
干渉して困るのはプリプロセッサのマクロ定義をヘッダに置いた時とか。



974 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 18:59:09 ]
Cは同じ名前の関数があったとしても型定義に違いがあれば誤用をある程度回避できるしな。
C++は多重定義を認めてるからそうはいかないけど。
それを考えると名前空間の採用はC++にとって必然だったんじゃないかね。

975 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 19:04:45 ]
ス質急低

976 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 19:18:19 ]
一気に下がったな。氷点下。

977 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 19:26:23 ]
>>975-976
>>775

978 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 19:30:29 ]
それより、質の高い話ってなんだろう・・・

979 名前:デフォルトの名無しさん [2005/12/20(火) 19:32:45 ]
ポインタの話から移ったと思えばむしろ質は向上しているよ
ついでにスレも物理的に上昇しておこうか

980 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 20:36:57 ]
関数の数を減らせれば、CAD方式でも何とかなるのでは?
という話になると思ってたのは漏れだけか?
CAD方式の話は見事に忘れ去られているようだが。


981 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 20:42:01 ]
950があまりにもとんちかんすぎただけだな。

982 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 20:51:26 ]
スレタイからずいぶん距離のある議論になっているな

983 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:06:52 ]
CAD方式のスクリプト、もしくは言語って、何がある?




984 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:07:44 ]
CAD方式は機能が限定されているような狭い言語でないと、うまく行かないと
分かって来たからな。なので最近は(一部の研究を除いて)全く利用されていない。


985 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:17:47 ]
LabViewがそうだったな。
漏れは使ったことないが、特定分野では成功してるみたいだよ。

www.asahi-net.or.jp/~WR9K-OOHS/Pages/Aboutlv/WWJ/WWJ03/wwj03.html

986 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:19:02 ]
>>984
それって言い換えるなら、機能限定をうまく設定できればうまくいく、という事では?
ネームスペース以上に関数や変数等の摘要範囲を限定するような機能を設定できれば、
何とかなるのでは?


987 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:43:14 ]
>>985
ほとんど電子回路だな。
漏れ的にはUMLのシーケンス図みたいなのを期待してたんだが……
CAD形式みたいなのは「作る人にとって」分かりやすい方式になりがちなのかな?


988 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:43:33 ]
「コンパイラ・スクリプトエンジン」相談室9
pc8.2ch.net/test/read.cgi/tech/1135082582/

989 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 07:04:47 ]
CAD方式は言語というよりもツールになのでは?とか思ったが、
GUI形式の言語という見方をするならば、たしかに言語かもしれんな。


990 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 08:03:14 ]
複雑になっていくと、他の人や昔の自分が描いたソースを読めなくなりそうだ。
建築設計図ですら欠陥が見抜けないのに、ソフトウェアになったら…

991 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 08:52:00 ]
いや、それはちゃんとコンポーネントを設計して、
ちゃんとコメントを残していけばいい話だろう。
テキスト形式の言語だって最初から完璧だったわけじゃない。
初期の言語で幾多の失敗を重ねたおかげで今の言語があるわけだ。

要はCAD方式言語は研究も経験も蓄積がなさすぎるだけ。
あと、俺らがすでにテキスト方式に慣れすぎてるというのもあると思う。

問題は、テキスト方式の蓄積を捨ててまで
CAD方式に乗り換えるメリットがあるかどうかだが…。

992 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 09:11:39 ]
CAD形式を扱う場合のメリットは、UMLを扱う場合のメリットと同じかと。

図形にすると、処理の流れは分かりやすくなる。
しかし図形には、処理の論理が分かりにくいというデメリットもある。


993 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 09:39:02 ]
UMLはUMLで、オブジェクト指向に関する政治的な駆け引きが色々と絡んで、
ややこしくなってる部分があるからなぁ……

その意味では、CAD形式言語に関しては、図形をいかに定義するかが焦点になりそうだな。




994 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 09:54:58 ]
その場しのぎのやっつけ仕事の場合だと、
むしろCAD形式の方が楽かもしれんな。
世間の仕事の9割ぐらいは、やっつけ仕事だろ?


995 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 10:35:34 ]
UMLはCAD形式の言語?

996 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 10:46:20 ]
フローチャートもCAD方式の言語という事になるな

997 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 11:19:07 ]
CAD型まではいかんが、MAX/MSPやPDは非テキスト型プログラミングの
試みとしては一番成功している部類だろう。

998 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 12:01:15 ]
マテマテ、CAD方式には致命的な欠点があるぞ。簡単にはコピペができんだろ。
特定のツールでしか作れないから、拡張も難しい。


999 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 12:47:21 ]
むしろテキストを図形表示する方が色々と楽かもな。

1000 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 13:13:35 ]
普通に1000ゲット

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef