皆さんはオブジェクト指向を学ぶ際、どのプログラミング言語を題材に学びましたか?
C#やJava、Rubyといった「オブジェクト指向言語」を利用するのが一般的ではないでしょうか。ちなみに私もその流れを踏襲したうちの一人であり、クラスとオブジェクト、抽象クラスや継承、カプセル化、ポリモーフィズムという特徴を持った言語を用いたプログラミングこそが「オブジェクト指向」な行為なのだと当時は理解をしていました。
このセッションでは、従来のオブジェクト指向言語とは毛色の異なるGo言語でオブジェクト指向のプログラミングが可能かどうかをテーマとして扱います。
・Go言語はそもそもオブジェクト指向のプログラミングを推奨していないのか?
・伝統的なクラスベースの継承が提供されない言語でどのような実装を考えるべきなのか?
Go言語の哲学を踏まえつつ、従来のオブジェクト指向言語と異なる言語における試行錯誤をセッションとしてお話しさせていただきます。