見出し画像

ChatGPT-4を使ってコンピューターの古書を読み解く

お疲れ様です。Y研究員です。クラッシクとか古典が好きです。評価が定まっていて外れがないからです。安心して時間を使って楽しむ事ができます。さて、今回はコンピューターの古い教科書を読んだ話を書きます。

何を読んだか

アルゴリズムとデータ構造の教科書です。様々な人が書くとても基礎的なテーマです。少し見比べてヴィルト(Wirth)という人が書いた本(英語の原本)にしました。

1985年の本です。Amazonの書評では、高評価する人もいますが内容が古すぎるという人もいます。特に使われているプログラミング言語がPascalという、とても古い教育用言語です。しかし、昔は定番の教科書で多くの人がこの本で学んだ事から、読む価値はあると思いました。

どうやって使ったか

前述の通り、古いPascalでプログラミング例が示されています。少しPascalの練習をしましたが、読むのが大変でした。そこでChatGPT-4に投げ込み、慣れているC言語へ変換してもらいました。これにより難なく読むことができました。

C言語とPascalはできた時代が近いので、変換してもそこまで変になりません。逆にPythyonとかRustに変換すると、無理が生じる気配はしました。たとえばASCII文字を8bitのuintとcharで自由に取り扱う、などです。

難しい教科書を読みこなすのに使えると分かった

ヴィルトの教科書は数学で定義していくなど、難しい面もあります。しかし読んでいて難しくなったら、遠慮なくChatGPT-4に質問しました。「ここの一文はどういう意味か説明してください」と聞くと、詳しく解説してくれます。

『写経』をしながら理解した

変換したプログラムを眺めていても理解は深まらないので『写経』をしました。ときどきプログラムの変換に失敗したり、提供されているプログラムが部分的な場合もあるので、デバッグをすることで理解を深めました。とりあえずC言語でやっていましたが、練習のためにRustでもたまにやりました。

これからどうするか

1章の『基礎的なデータ構造』を終えたので、次は2章の『ソート』です。アルゴリズムの革新的な部分ですね。楽しみです。その後は3章で『再帰アルゴリズム』、4章で『動的情報構造』、5章で『ハッシュ』と続ける予定です。

終わりに

仏教の経典はパーリー語から三蔵法師が中国語に翻訳したと聞きました。それを私達が写経している分けですね。そう考えると、コンピューターの古典的教科書をAIが翻訳してそれを『写経』する行為はどうなんでしょうか。AIはコンピューターの産物なので自然の流れと思うか、それとも人間の能力を駆使する「翻訳」の機会が失われて残念なのか。個人的には学べる幅が広がったので、良かったのかなと思いました。

写真はデリー駅前です。疲れたので座って休んでいたら、優しい人がみかんをくれました。一瞬、躊躇しましたが食べて話てみました(見知らぬ人から食べ物をもらって食べないないのは原則ですが)。どうやらカシミール出身のおじさんらしく、綺麗なところだからぜひ来てくれと言われました。機会があったらそのうち行くと言いましたが、まだ行けていません。。。

それではまた。

#AIの活かし方

無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。