La.系ぶろぐ

個人的いろいろメモ。シャープペンのメモにちょっぴりゲ○ツの悪口が混じってるただのチラ裏。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

C言語は何で書かれてる?

ラノベを書きたくて、ふと思い立ってフッサールを読んでみたんです。
まーしかし、あれだね。
哲学系の本ってなんであんなに難しく書いてあるんだろうね。
もう少しこう……ヒルベルトみたいに解りやすく書いてくれよん、と思うのですが。

しかし、その辺の文章を読んでいて、ふと、
C言語って最初何で書かれてた?って話を思い出したのです。

普通、C言語は、Cで記述されていると思います。
(ああ、これは結構昔話で、今ならC++はC++で書かれてる、的な話になるのかも)
しかし、C言語が出来る前は、C言語無いじゃん?
じゃあ、最初はどうやって書くのさ、というお話だったわけです。
当時は、アセンブラで書いてたんじゃない?とか返していた記憶があるのですが、
ウィキペディアだとB言語使ってた、みたいな話がありますね。
さて。

C言語は、実装はそれこそ無数にあるわけです。
だから、別に、他のC言語を用いて記述しても良い。
もっとも、当時は、ハードといい、ソフトといい、今ほど選択肢はないと思いますが。
実際はいろいろな実装方法があったでしょう。
でも、今となっては、それを調べるのは色々大変かも知れない。

なら、例えば……じゃあ、今、あなたが「完璧な言語を作るじょー!」と思い立ったとして、
その言語は何で書くべきか?

「完璧な言語」だから、もちろん、その言語は「自身を用いて」記述するのが理想です。
(なぜなら、「完璧な言語」だから、他の言語を使うより楽に実装できるでしょ?)
しかし、今、ここにその言語はない。

すると、おそらくは、「今ある、比較的『近い文法の』言語」を用いる感じになる。
なぜなら、途中までそれで書いて、その後、「完璧な言語」に書き換えたいから。

とまあ、たぶん、「完璧な言語ver1未満」は「近い文法の言語」で書かれ、
ver1になったら、自分自身で記述する。

こう考えていくと、「完璧な言語」のver1以降の歴史(バージョンアップ)は、
そのソースを「完璧な言語」の文法で追うことが出来ますが、
(互換性を損なう機能拡張でない限り、当時のソースをコンパイルすれば、
 当時、どのような機能を持っていたかが解るわけです)
それより前のソースは、他の言語の文法に依存してしまうわけです。

まー、何が言いたいか。
「完璧な言語」のver1以前の記述は、「完璧な言語」では理解できない記述でなされるわけで、
もしその言語(の文法)が遺失してしまったら、それを解析するのは困難になる。
その時、そこで書かれていたことは、
たぶんチューリング完全とか、そう言う「満たすべき性質」しか解らないのではないか、と言うことです。

というのは所詮出来の悪いたとえ話で、ふつー、そうした言語の仕様ってネットに残ってるよねとか、
文法なんて、言語学的に解析可能じゃない?って話になると思いますが、

じゃあ、この「完璧な言語」を「自分の意識」に当てはめた時どうなるか、と言う話になってくるのです。
私たちは、物心ついてから、おおよその自分の歴史を「自省」できて、
自分がどうやって知識を得て、何に影響を受けて、どう変化してきたか……をある程度、把握することが出来る。
でも、その前は?
私たちは、どうやって、自我……自意識を得たのか?になると、それを把握することが出来ない。

哲学って、結局デカルト的な「我思う」に出発点を置くことが多いけど、
要するに、上の「完璧な言語ver1」を出発点にするしか無くて、
その前の言語も、その前に考えていた「完璧な言語の草案」も、追求することは出来ない。
(もっとも、最近の哲学はその辺華麗に解決してるかもですが……w)

まー、結局、我々のしている「省察」は、おそらく、もっとバージョンが上がった状態での試行で、
自我が成立した前後の認識の仕組みなんて、調べようもないはずで。

結論としては、自律型の人工知能を作るのはまだまだ難儀だな~とか思うわけです。
(あ、話を飛躍させると、フッサールに怒られますね……;)

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。