C言語のコンパイラ作ってたら、計算とは何かという深遠な問に興味を持つようになった
■ このスレッドは過去ログ倉庫に格納されています
>>2
CPUとはなぜメモリから命令を呼び出してメモリに書き込むのかとか
その際にスタックを使うのは何故かとか
そのへんに興味がある 代数って演算の体系だよね?
計算とはちょっとずれる気がする >>4
計算とはなにか
というより
パソコンの仕組みの話じゃん
そんなのはチューリングマシンから調べてこいよ >>7
計算する機械のモデルとしてチューリングマシンが考えられたわけだし、広い意味でチューリングマシンについて考えることは計算とは何かを考えることと同じじゃん
もっと言えばを俺が気になってるのはチューリングマシンと、現代のCPUの間にはギャップがあるが気になってる 宇宙工学と計算機科学はどっちの方が難しいのでしょうか? 俺の理解では1930年代にラムダ計算とチューリングマシンが大体同時に研究されてたんだと思う
その先でノイマン型のコンピュータが採用されて、1960年代にいくつもCPUアーキテクチャが生まれたけど、結局今のモデルが採用されたと理解してる
この過程がおもろいなぁとか思ってる じゃあ、ラムダ計算ってCPUにできなかったの?とか、
ノイマン型のコンピュータから現代のCPUの間であった様々な提案はどこに消えたの?とか
結局なんでスタックは残ったの?計算の本質の一部にスタック構造があるの?とか
この辺が気になる そもそも1920年ぐらいまでの数学の基礎固めとしての論理学の研究から、計算機のモデルって作られたと思ってて、この辺の論理学の研究も気になるよね あと、スタックも気になってる
なんでスタックなの?とか
再帰的な構造を処理するのに都合がいいのはよく分かるんだけど、では計算とは再帰的な構造を多く含むの?だからこそCPUにはスタックがついてるの?とか気になる 構造化プログラミング言語が最適な構造をしてるから、スタックが必要なのだとしたら、プログラミング言語はなぜ再帰的なのか?とか
それってチョムスキーの言語学まで立ち返って、人間の認知というものが再帰的な構造を理解しやすいからなのかとか、言語学にも興味が出てくる 何でも再帰関数で作ろうとする馬鹿がいるけど
すぐにスタック領域枯渇するからコンパイラが最適化でループに変換してあげるんだよな >>17
再帰関数の最適化とかはまあそれはそれでいいんだけど、そもそもなんでスタックなの?とかそのへんに興味がある
スタックというデータ構造は本当に計算に都合がいい
四則演算から関数呼び出しとかいろんなことがスタックと、数個のレジスタで出来る
これはほんとにすごいこと あとはlisp系の言語も気になる
あとは原始再帰関数とかそのへんも気になる 興味深いのは原始再帰関数の計算ってMap Reduce的なものとして、現代も使われてるんだよね
それがおもろいよなぁ 20世紀初期の数学で基礎をやってたときって実数とは何かとか考えてたわけだよね?
そっからコンピュータがうまれたのとか面白すぎだろ
俺も実数勉強してコンピュータ作りたい こういう事を考えられる人になりたかったわ
中学数学で心が折れた勢なんで… 計算機の歴史 ―パスカルからノイマンまで―
ENIAC―現代計算技術のフロンティア―
ウィルクス自伝
コンピュータに記憶を与えた男:ジョン・アタナソフの闘争とコンピュータ開発史
現代のコンピュータアーキテクチャの歴史的な経緯はこの辺り読めば大体書いてある ■ このスレッドは過去ログ倉庫に格納されています