1 名前:デフォルトの名無しさん [2007/02/14(水) 21:46:25 ] どうなんだ?
462 名前:デフォルトの名無しさん [2007/09/09(日) 12:02:04 ] age
463 名前:デフォルトの名無しさん [2007/09/09(日) 12:07:16 ] ウゼェーーー
464 名前:452 [2007/09/09(日) 12:30:06 ] 誤爆でした それにしても皆さんご親切にありがとうございます ところで高度な科学計算といえば やはりFortran でしょうか? Comlex(複素数型)なんかもあったりして 私はその昔、Fortranで帳票や画面を作ってたりしてました
465 名前:デフォルトの名無しさん [2007/09/09(日) 12:45:15 ] age!
466 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 14:02:18 ] っLisp
467 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 16:00:48 ] >>464 C99/C++にも複素数型はある。 尤も、計算量と種類によってはMATLAB(Octave)で事が足りる。
468 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 16:34:03 ] 現在におけるFortranのいいとこは数値計算くらいしかできないとこ(あと過去の企業内・研究室内遺産) ただ、今なら>>464 の言うように個々のクライアントで実行する独自数値計算ソフトで用が足りるかも
469 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 17:06:38 ] 基本的に過去の遺産を使うために残っているようなもので、 これから新規ではじめるのに Fortran はありえないでしょ。 汎用的なライブラリなら、最近は他の言語でも結構そろってるし。 MATLAB とか Octave は、言語文法自体は結構微妙だけど、 数値計算ライブラリのそろい具合はかなり素敵。 Lisp は・・・ 数値計算で使うやつなんているのか?
470 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 17:08:36 ] 469の続き。 個人的には、数値計算という用途だと、 最近は Fortress に注目。 まあ、言語の機能はよさそうなんだけど、 開発元がいまいちプロモーションに力入れてなさそうなのよねぇ。 商業的理由で消えそうな気が無性にするんだけど。
471 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 17:18:36 ] Fortress、関数型言語っぽい文法もかなり取り入れてて、 正直、かなり解説を充実させないとユーザに覚えてもらえそうにないのに、 そういうページが全然ないのよね。 あと、並列プログラミングやら群論とかの数学の知識やらがあるのが前提のドキュメントしかない。 大体、Fortress(要塞)なんて名前が駄目。 一般名詞使ってるせいで、検索に引っかからないの。 「Java もかつてはそうだった」ってのが SUN の主張だけど、 Fortress が Java 級に検索できるようになる気配はまったくしない。
472 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 18:42:47 ] >>471 > SUN の主張だけど、 別に Sun は主張してない。名前がおかしいと思ったら GLS にメールしてみれば?
473 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 23:17:07 ] 学生どもがワラワラと釣れてるね。
474 名前:デフォルトの名無しさん [2007/09/10(月) 14:47:53 ] >>326 そもそも地球温暖化なんて妄想信じてる方がどうかしてる。 NHKが旗振って振りまいた環境ホルモンから、ダイオキシンから地球温暖化 みんな妄想
475 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:24:30 ] 妄想、ね。 氷河は実際に後退してるけど?
476 名前:デフォルトの名無しさん [2007/09/10(月) 15:55:12 ] あたりまえだ。 今は間氷期で、1万年の間 氷河は平均的には後退し続けている
477 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:54:22 ] そう、例えば地球温暖化だ
478 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:04:44 ] 今年は最高気温を記録したしね
479 名前:デフォルトの名無しさん [2007/09/10(月) 17:04:56 ] 氷河が後退するといっても、別に気温は上がったせいじゃない。 実際氷河のある地方で平均気温は上がっていない。 地球の水の9割は南極にあり、南極の氷が厚くなり続けているのでバランスを取るには仕方ないことだろう おかげで海面はほとんど上昇していない。
480 名前:デフォルトの名無しさん [2007/09/10(月) 17:09:23 ] >>478 それは都会で打ち水運動が流行したせいだと思うよ。 都会のヒートアイランド効果で熱せられた上に、打ち水で大量に湿気まで含んだ風が 山を超えて強力なフェーン現象が起きたのだろう。 自分たちが暑くした上、自分だけ冷やそうと打ち水するなんて、なんて迷惑な奴らだ
481 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:09:54 ] 氷河の後退より生え際の後退の方が深刻
482 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:45:01 ] いかにも学生が沸きそうなスレ
483 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 19:16:27 ] 付き合いがいいね。 環境ホルモンが嘘だったことや、ダイオキシンがたいした毒じゃなかった事や 地球温暖化の嘘なんてはチョッと耳と目がありゃ普通に情報が入る事。
484 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 19:47:11 ] 2-3-7-8TCDDそのものは物凄い猛毒だけどね
485 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 20:18:06 ] 問題は、そのモルモットで求めた致死量は人間に対して 3桁も厳しいって所にあるだろ 3桁も厳しいから青酸カリより猛毒って事になり、焚き火や焼肉や焼き鳥で出るダイオキシンさえ悪者になる。
486 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 02:33:47 ] >>485 おまえは、急性毒性と慢性毒性の違いも分からないのか? わかりやすく言おう。醤油1Lを10分以内に飲みたいかどうかということだ。 君の意見は死ぬ時期を全く考慮していない。
487 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:19:17 ] >>485 お前何か勘違いしてないか?知識なんて使って減るもんじゃないから只だと思ってんだろ? 人に物を訊くってのがどういう事だか、自覚してる? 知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。使っても減らないけど、教えたら広まった分だけ価値が下がる。それを分けてくれって言ってんの自分でわかってる? 社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。 そういうノウハウを分けてもらう申し訳無さみたいな物が、伝わって来ないんだよ。お前の態度からは。 猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。 猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。研修で散々言われたよな。謝る時は申し訳無さそうな顔をしろって。 そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、 何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。
488 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:02:58 ] うどん茹でたあと ダシを切らしていたのに気付いたので とりあえず醤油をぶっかけて食べたら 体壊して入院になりました itpro.nikkeibp.co.jp/article/COLUMN/20080104/290425/
489 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 02:10:47 ] 俺は3Dプログラミングやってるけど log使う事は滅多にないし,sin, cosも使う事はそんなに多くはない。 sin, cos使うのは回転処理関係ぐらいかな。sin, cos使わなくても回転させることはできるが。 その代わり,sqrtとかvectorの内積,外積(何故か"がいせき"で変換候補に出てこない),正規化とか 4次元vectorと4x4(3x4)の行列との掛け算はよく使う。 sin, cos無しでレンダラや物理シミュレータを書く事もできるが, sin, cosぐらい理解できないと(3Dプログラミングするのは)難しい。
490 名前:デフォルトの名無しさん [2008/02/21(木) 05:45:10 ] むかしのPCは実数の計算ができなかったから 実数計算ライブラリをつくるところからはじめなきゃならんかった。 ようやく実数の四則演算ができるようになったら テイラー展開で平方根・対数・三角関数を計算したな。 古きよき時代の話。
491 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 06:04:05 ] ちきゅうおんだんかはうそだってねっとにかいてあったからうそなんです><; 死ね馬鹿。
492 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 11:10:27 ] IPCCの報告書なんかで細かく数字を追いかけると、おかしな事は沢山あるね 過去100年でCO2は100ppm増えて、0.6℃とか0.7℃平均気温が上昇してるけど、 1、 増加した放射強制力は 1.6W/u で気温15℃としたら たかが0.3℃にしかならない 2、 なのに予測値では0.9℃/100ppm という数値になってる 3、 炭素循環の絵を見ると、人工CO2排出量は地上の植物のCO2固定量の7%程度でしかない そして植物の成長は太陽・栄養が十分ならCO2に比例するという実験結果が出ている Co2濃度は30%も増えてるのだから 栄養が十分ならこの固定速度も3割上昇してる筈 結局、人為CO2排出が直接の原因ではなく、 この炭素循環のフィードバックのどこかの問題ではないのか? ・気温上昇が原因で増えているのではないのか? ・植物の成長に十分な栄養が偏在してしまっているのではないか? 本来は植物⇒動物⇒排泄物や死骸⇒植物 という連鎖があるのを 人間が食物連鎖の頂点にいるために、この連鎖を壊してしまって 山や野原や海の栄養を保てないでいるのではないのか?
493 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:08:05 ] >>490 浮動小数点演算か多倍長演算かどちらでライブラリ作りましたか?
494 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:27:58 ] むしろ必要じゃないなんて少しでも思えるのが不思議
495 名前:デフォルトの名無しさん [2008/03/21(金) 02:47:08 ] 404 Blog Not Found:Stiffと偉大なプログラマー達-プログラマーと数学・物理 blog.livedoor.jp/dankogai/archives/50629021.html 今回の質問はこちら。 数学と物理は、プログラマーにとって重要?だとしたらなぜ?
496 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 05:38:05 ] 「数学」の定義が曖昧なまま質問してるから 答える方も 1)自分の都合に合わせて解釈してる香具師 2)行間を読んで仮説を立ててそれに基いて回答する香具師 3)予防線をはった答え方してる香具師 4)適当な香具師 にみごとに分かれてる
497 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 18:10:31 ] if とか else とか使うのも数学だと思うけど間違ってるかな…
498 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 20:41:34 ] >>497 たまーに「お前はド・モルガンの法則も知らんのか/使えんのかゴラァ」 と言いたくなるようなプログラムに出くわす。
499 名前:デフォルトの名無しさん [2008/03/21(金) 22:58:18 ] 今某言語の三角関数のライブラリが見つからんので オイラー展開で自作してるぜ うぇあああああぁあっ!!
500 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 23:26:18 ] >>499 * Algorithm * 1. Since sin(-x) = -sin(x), we need only to consider positive x. * 2. Callers must return sin(-0) = -0 without calling here since our * odd polynomial is not evaluated in a way that preserves -0. * Callers may do the optimization sin(x) ~ x for tiny x. * 3. sin(x) is approximated by a polynomial of degree 13 on * [0,pi/4] * 3 13 * sin(x) ~ x + S1*x + ... + S6*x * where * * |sin(x) 2 4 6 8 10 12 | -58 * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 * | x | * * 4. sin(x+y) = sin(x) + sin'(x')*y * ~ sin(x) + (1-x*x/2)*y * For better accuracy, let * 3 2 2 2 2 * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) * then 3 2 * sin(x) = x + (S1*x + (x *(r-y/2)+y)) てな物を見かけたが...
501 名前:デフォルトの名無しさん [2008/03/21(金) 23:55:41 ] C++の標準ライブラリの三角関数は遅いから自作しないといけないらしいな
502 名前:デフォルトの名無しさん [2008/03/22(土) 00:06:46 ] >>499 テイラー展開? オイラー法? おいら(的)展開?
503 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 00:25:38 ] プログラムに限らず、数学の素養は、 なにかにつけあった方がいい。 ただ、数学は勉強がかなりしんどいので、 何か具体的な目的があって勉強するのでないと、 とても心がもたない。 だから、必要になって切羽詰まってから ゴーっとやるのが良いと思う。
504 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:15:26 ] ただ切羽詰まってからだと良くない手法にゴーっと向かったりするわな たとえば三角関数(オイラー角)使うこと自体が大抵の場合よくない
505 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 08:45:51 ] そのとおりだな。>>504 そこまで切羽詰まるまえにスタートできるとベストだが、 実務はなかなかそうはいかないからな
506 名前:オガちゃん萌え ◆tyvkWCNtzY mailto:sage [2008/03/23(日) 21:15:39 ] ふと思うのだが、プログラマって数学は弱いケースが多くなかろうか? for文だって要するに、Σだったりするわけだが、そんなことを意識していなかったりする が、数学的知識に長けていて損をすることはきっとない、CRCのテーブル化された値なんぞ、 俺にはなんでこういうテーブル値になってるのかすらわからんw
507 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:26:10 ] >>506 どこを縦読み?
508 名前:オガちゃん萌え ◆tyvkWCNtzY mailto:sage [2008/03/23(日) 22:10:33 ] >>507 スマソ、思いつきw
509 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:34:34 ] 「数学キライだ」とか言ってる人も、 受験とかのシガラミのせいでそうなっただけで、 実は、やれば速攻でできるようになる、という場合によく遭う。 普段から数理的な考えを実践し、 扱えるスタックが深くなっているからではないか。
510 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 02:05:44 ] 昔は論理的な思考方法を獲得するための最良の手段が数学だったと思うが 現在その意味ではプログラミングの方が効率がいいような気がする。 ややこしい証明しなくても間違ってると動かないし、それ以前に大体コンパイラ様が教えてくれる。 数学が必要なのはプログラム自体が数学を必要とする場合ではないか?
511 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 07:12:13 ] >>510 論理的な思考方法に関する話を論理的に駄目な形で説明するとは なかなか面白いですね。
512 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:36:54 ] for使うのに慣れすぎると 1〜2000まで足すのにforで足してしまう癖が付く Σなら2001000って一発ででるのにね さて1〜2001まで足すといくつ?
513 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:43:23 ] ここで (2001+1)x2001/2 を計算しようとしたあなたは素直すぎます 2001000+2001=2003001 とエレガントに答えるべきです
514 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:47:37 ] いや、それを得意げに語られても。 極真っ当なプログラマなら、直前に算出した結果を次のステップで利用できるかどうか位常に意識しているもんだよ。
515 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 14:18:29 ] 再帰使え
516 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 15:13:31 ] 再帰は複雑な問題を簡潔に記述できるのが利点だが それ以外は悪いことばかりだぞ
517 名前:オガちゃん萌え ◆tyvkWCNtzY mailto:sage [2008/03/24(月) 18:49:45 ] >>513 オイラーが幼少期に1〜100まで足す計算だったかを学校で教師に言われて、一瞬で 答えを出した逸話があるね >>516 再帰はある種、ループ処理に似ている希ガス
518 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:06:27 ] ガウスじゃなくて?
519 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:00:44 ] ガウスだよな だけど偉人の所業って本当に当人のものでなくても 色んな逸話がいつの間にか結び付けられるって言うしな
520 名前:オガちゃん萌え ◆tyvkWCNtzY mailto:sage [2008/03/24(月) 23:12:51 ] >>518-519 ガウスだった、記憶違いスマソ
521 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:35:26 ] 漏れもeulerだと思ってたorz
522 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 07:49:02 ] おいらもオイラー(ry
523 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 11:38:20 ] オイラーは、死ぬ直前まで計算してたくらいの計算の天才だったそうですしね。
524 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:30:00 ] >>517 というか、計算の理論としては「再帰関数で定義できる=コンピュータで可能な演算」というのが筋書きのひとつです。 (Church, 1936)
525 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:29:19 ] >517 ループは再帰の一種というか制限されたバージョンでしょ
526 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 00:55:45 ] オイラーの法則は女性が見ると濡れるってじっちゃがいってた
527 名前:デフォルトの名無しさん [2008/05/08(木) 08:33:45 ] オイラーはドラマー
528 名前:デフォルトの名無しさん [2008/05/08(木) 16:43:50 ] プログラマーには数学が必要だと思って死ぬほど勉強してたら 気づいたときには計算機科学者になってた 見習いだけど
529 名前:デフォルトの名無しさん [2008/05/08(木) 17:14:05 ] せめて2進数、16進数すらいは勉強してくれ〜
530 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:35:56 ] >>528 ぜひご教授ください。んー、並列コンピュータの最近の動向はどうなってますか?
531 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:36:41 ] or が + で and が * とか (true * false) が false になるとか も勉強してくれ〜
532 名前:デフォルトの名無しさん [2008/05/09(金) 16:17:04 ] ↑ おいおい、なんで or と + が一緒になるんだw おまいこそ1から勉強しなおしてくれ
533 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:43:34 ] (A or B) が い)A:true,B:true なら true ろ)A:false,B:false なら false は)A:true,B:false なら true に)A:false,B:true なら true なのは、 true を >0 な数(例として1)とし false を 0 としたとき い)1+1 なら 2で >0 なので true ろ)0+0 なら 0で 0 なのでfalse は)1+0 なら 1で >0 なので true に)0+1 なら 1で >0 なので true なのと同じで、 (A and B) が い)A:true,B:true なら true ろ)A:false,B:false なら false は)A:true,B:false なら false に)A:false,B:true なら false なのは、 true を >0 な数(例として1)とし false を 0 としたとき い)1*1 なら 1で >0 なので true ろ)0*0 なら 0で 0 なのでfalse は)1*0 なら 0で >0 なので false に)0*1 なら 0で >0 なので false なのと同じなんじゃなかったっけか。間違ってたらメンゴ
534 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:43:42 ] >>532 んー、or と + が一緒というのは、ある意味妥当なんですけど。
535 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 19:21:39 ] >>533 そんな長々と書くことでもなかろうに
536 名前:デフォルトの名無しさん [2008/05/10(土) 21:14:49 ] ほほう。1+0と1+1が同じ答えだと。おまいの通った小学校では そんなふうに教えたのか。ふうん。それ、なんて学校ニダ?
537 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 21:35:10 ] >>536 判ってて言ってはいるんだろうけどw or を + / and を * で表記するという前提が無いとそこだけ見たらごかいするね。 それにしても >>533 は随分とまどろっこしい人だなぁ。 この人の頭だとプログラム一行書き上げるのに半日掛かりそう・・
538 名前:デフォルトの名無しさん [2008/05/10(土) 21:54:32 ] >>536 論理代数じゃ普通だろ 何言ってんの?
539 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:25:20 ] {{false, true}, OR, AND} は体をなす。 代数構造が、F_2 = {{0, 1}, + (mod 2), ×(mod 2)} と同じ。 F_2 は加減乗除の四則演算がきっちりできる。
540 名前:デフォルトの名無しさん [2008/05/10(土) 22:37:31 ] なんで mod 2 するんだよw なぜ mod 3、mod 4 じゃいけないんだ?説明してみろ。 mod 1 すれば + も * も / も - もぜんぶ同じだぞ! おまいな、自分の都合のいいように条件を設定するなよ。
541 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:39:12 ] + (mod 2) はXORと同じじゃない?
542 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:58:43 ] >>540 {{0, 1, 2}, + (mod 3), × (mod 3)} も体(四則演算可能)になるよ。 4 の場合はダメ。素数である必要がある。 たとえば 4 の場合、 2×2 が 0 になっちゃったり、2×a=1 になるような元 (2の逆元、これがないと割り算が成り立たない)がなかったりする。 >>541 ああ、そう。OR は間違い。 体をなすのは {false, true}, XOR, AND}。
543 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:00:06 ] >>540 mod 1 もあり。 ただ1つの元 0 からなる体とみなす(自明な体っていう)。 ただ、当然、数学的に面白い特性は持ってない。 自分に都合のいい条件を設定したんじゃなくて、 そういう条件のものを考えると面白い結果が得られるものが見つかっただけ。
544 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 01:17:45 ] あの〜、コンピュータの世界だと 0 か 0 で無いか・・だよね。true は 1 というより not false だからもすこし柔軟にみたほうがいいとおもう。
545 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 01:25:16 ] >>544 それはコンピュータの世界の常識じゃなくて、Cの時代の悪習。 しかし、そうまでして人の話にけちをつけたいかww
546 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 01:29:13 ] あと、{{true, false}, XOR, AND} と {{0, 1}, +(mod 2), ×(mod 2)} は、 代数構造が同じというだけの話。 この延長で、集合 {0, 非0} に対して、 +演算子を、2つの元が等しい時0、さもなくば非0、 ×演算子を、2つの元の両方が非0のとき非0、さもなくば0 で定義して、{{0, 非0}, +, ×} としても代数的に同値。 見てくれが同じかどうかが重要じゃなくて、 抽象的に見て代数構造が同じかどうかが重要。
547 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 06:23:39 ] andとorを理解するのにわざわざ遠回りをするだけのような。
548 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 09:40:48 ] AND OR の理解のためじゃないな。 符号理論とかで使う。
549 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 10:04:05 ] >>545 それいぜんの処理系もそうでしたが? たとえば、N-BASIC とか。
550 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 10:21:57 ] 言い換えるわ、C のあたり以前の。 要するに20年前、プログラミング言語がよりマシン語に近かったころの名残。
551 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 10:35:44 ] >>550 悪習ではないと思いますが。 現在の処理系ではどうなっているのでしょうか?
552 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:06:17 ] true, falseをラムダ抽象で表現するのとか門外漢には意味不すぎるわ
553 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:07:31 ] >>551 当時の価値観では悪習ではないけども、 過去の名残を未だに使うという行為は悪習。 最近できた言語なら普通は bool 型持ってる。
554 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:11:47 ] >>552 ラムダは、関数の定義・実行を抽象化したもの。 ここしばらく話題になってるのは単に数の四則演算の抽象化。 代数系、群論とかが関連する分野。
555 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:15:06 ] >>551 特定の値を false それ以外を true として扱う言語なら結構あるだろ? c とか c++ とか perl とか python とか ruby とか common lisp とか scheme とか...
556 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:35:06 ] なるほど、もっと意味不なものってことだけはわかりました
557 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:19:56 ] >>545 いや、ケチつけたつもりはないがそう捉えたのなら・・・ >>550 プログラミングについてとあるからさ。 現実、 not false は下位ビットだけみれば 1, 0 の違いだけどレジスター的には -1 になるでしょ。 判定するきわざわざ AND 0001 して(0, 1)にするよりそのまま (0,-1) とみるほうが手間も省けて処理しやすい。 >>553 ただbool型で規制はしても中身がかわったわけではないから(コンパイラで解釈・制限するのを拡張しただけという・・)
558 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:35:37 ] >>557 コンパイラが解釈して制限するということが重要。 プログラマの人為的ミスをなくすのが一番の目的。
559 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:43:39 ] 抽象代数の話題で、スレの趣旨からちょっとそれ気味だったんで話の方向を修正すると、 プログラミングと数学に共通して、抽象化ってのは大事。 「CPU の命令にboolがないんだからboolを考えない」ってのは、 具体的なんだけども、プログラマ自らが気をつけながらプログラミングしないといけない。 非0をtrueとするなら、1と2のANDはどうなるんだ、とかね。 true AND true だからtrueになってほしいけど、 Cで書くところの 1 & 2 とかくと当然0でfalseに。 x != 0 && y != 0 みたいなコードが論理ANDに相当するんだけど、それもいちいち書きたくない。 そこに、CPUの具体的な構造から離れて(抽象化して)、 boolを導入、面倒な決まり事はプログラマじゃなくてコンパイラが面倒みる。
560 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:47:32 ] {{true, false}, XOR, AND} と {{0, 1}, +(mod 2), ×(mod 2)} が代数構造としては同じ ってのも、具体的な形にとらわれず、抽象的に見ることで、 同じ理屈で扱えて便利になるわけ。 ちと無理やりだけど、スレタイに絡めて締めると、 プログラミングには数学で出てくる抽象的な考え方が必要。
561 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:51:58 ] その代数構造ってやつでで言語の構文を見ると ある言語の構文を別の言語の構文で表現する とかが簡単にできたりして、一つの言語を知識で様々な言語を使用できる とかそういういいことがあったりするの?
562 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:58:55 ] >>561 ライブラリ使ってるだけの末端のプログラマにはあんまり関係ない。 言語設計者とか、数値計算ライブラリやら通信符号化ライブラリやら書いてる人にとって必要。 末端プログラマは間接的にしかそういう理論の恩恵受けないけども、 とりあえず抽象化って考え方自体は持ってて損はない。