質問: 最近, プログラミング言語を勉強し始めまして, pythonとrubyに興味を持ちました。 その言語自体のソースコードを見てみると, C言語で記述されているのが分かったのですが, 多くのファイルから成っていることが分かり, 途端に複雑さが増して混乱しています。 こういった大きなプロジェクトのソースコードリーディングのやり方を教えてください。
回答: プログラムにはいろいろな種類がありますが、その中でもコンパイラやインタプリタといった言語処理系は特に複雑な部類に入りますので、そのソースコードを読むのも難易度が高くなります。処理する側(例えばC)と処理される側(RubyやPython)両方の知識が必要な上、構文解析などコンピュータ科学の幅広い知識も必要です。 RubyやPythonで(または言語は問わずに)プログラムを書くのが目的なのであれば処理系自身のソースコードが読めることは必須ではありません。それぞれの言語の入門書やなどで勉強されるとよいでしょう。 RubyやPythonがどのように動いているかという言語処理系としての仕組みが知りたいということであれば、まずCと対象の言語をしっかり習得する必要があります。さらに言語処理の仕組みについては専門書で学習する事になるでしょう。 Cを勉強するためにソースリーディングをやっているのであれば、言語処理系は難易度が高すぎる題材だと思います。もっと小規模なものから挑戦した方がよいでしょう。それにしても、そのプログラムが何をしているのかの知識は必要になります。