言語処理系

後期 - 金曜 - 4限 - 2023年8月28日22:58

西川清史先生の授業(2022)。出席は取らず基本的には中間期末で評価。1章終わるごとにでる課題(任意)をやると若干の加点。試験は公開される穴埋めシートみたいなのを紙で持ち込むことができる。
言語処理系と聞くと自然言語処理のことかと思う人がいるかと思うがプログラミング言語の処理、簡単に言えばコンパイラの授業である(扱うのはインタープリタ)。教科書の「Go言語でつくるインタプリタ」は買わなくてもスライドに大体書かれているのでなんとかなる。

この授業で大切なのは課題をやるためのGo言語の環境構築である。なぜなら授業を聞いていても理解するのは難しく課題をやって手を動かすことで理解が進んだと感じるのだが、その課題をやるにはGo言語の環境構築が必要になるためである。

詳しく説明すると、授業は教科書に沿って行われるが教科書はあのオライリーの書籍なので、教科書独自のプログラミング言語をGo言語で書かれたインタープリタで実行しようという結構大変なものになっている。その為授業ではGo言語が理解できなくても問題ないようにするとは言っているが授業中にもGoのプログラムがたくさん出てくる上に、授業の内容が二分木で根からbfsしたときのように飛ぶ(伝われ)ので中々理解が難しい。

そこで必要になってくるのが「1章終わるごとにでる課題」で、これは教科書に出てくるソースコード(Go)を指示のとおりに書き換えて実行し結果をみるといったものなのだが、実際にやってみるとかなり授業の内容が理解できるようになっている。そのためGo言語の環境構築が必要なのだが、教科書のGo言語のバージョンが古いらしく結構面倒である。
Go言語の環境構築はWindowsのやり方は授業の資料にあるが、Macのやり方はなかったのでQitaにやり方をまとめておいたものをぜひ使ってほしい。
https://qiita.com/igeeeeee/items/7c49361146a47648a6cc

Go言語のローカル環境がある人は多分その環境では動かないのでうまく切り替えられるようにするか、仮想環境を使う必要がありそう。

ここまで書いたがこれは授業を理解したい、いい評価ほしい人向けの話で、単位だけなら授業を受けて穴埋めシートを埋めて印刷してテストを受ければ問題ないと思う。

9

コメント

まだコメントはありません