最近、社内でプログラミング言語についての勉強会が始まりました。
なぜこの勉強会?
「なぜプログラミング言語には、こんなにも数があるのでしょう?」
状態の扱い(mutableかimmutable)・型の特徴(強さ、静的か動的)・評価の戦略(正格か非正格)などなど、いくつかの言語基礎的な概念の組み合わせから、多くの言語が作られました。
よって、言語と言語を区別するものは文法ではなく、これらの概念のトレードオフに対する選択にすぎません。言い換えれば、これらのプログラミング言語の基礎概念を勉強することで、現在使っている言語に対するより深い理解が得られ、新しい言語を勉強する時の手助けにもなることが期待できるでしょう。
これがこの勉強会が始められた理由です。
教えてくれるのはプログラミング言語の研究をしているヨッシーです。この勉強会は主にワシントン大学の計算機科学者Dan Grossman教授がCouseraで開講している「Programming Languges, Part A/B/C」 を参考にしています。基本的に勉強会は週一回、自由参加の形です。
3パート構成
本勉強会はCourseraの講義を参考にして、3パートに分けて進行しています。
第一部:OCaml
第二部:Racket
第三部:Ruby
最初はOCamlですが、今の仕事では使っていない文法がほとんどです。それをいかに仕事中に使って効果を得ることができるかが私がこの勉強会に参加する目的の一つですが、好奇心をそそられて、何か新しいプログラミングの手法を学べたらと思って、面白さ半分で参加しています。
まだ勉強途中ですので、今後も勉強した心得を更新していきたいと思います。
中国貴州省出身、京都オフィス勤務のエンジニア。前職は大手コンビニ運営部スーパーバイザー。超多趣味。