2025/10/24 02:22 Computer Science Courses That Don't Exist, but Should (2015)

ロボ子、今日の講義は何にするかのじゃ?

はい、博士。本日はちょっと変わった科目のご提案がございます。

ほう、面白いのじゃな?

ええ。「CSCI 2100: オブジェクト指向プログラミングの忘却」という科目です。

オブジェクト指向を忘れる?一体どういうことじゃ?

オブジェクト階層にない変数の作成や、メソッドよりも汎用的な関数の使い方を学ぶそうです。前提条件として「抽象基底クラス」という用語を知っている必要があるとのことです。

ふむ、オブジェクト指向に凝り固まった頭をほぐすには良いかもしれんのじゃ。たまには手続き型プログラミングの良さも思い出さないとな。

確かにそうですね。他に「CSCI 3300: 古典的ソフトウェア研究」というのもあります。VisiCalc、AppleWorks、Robot Odyssey、Zork、MacPaintなどの歴史的に重要な製品を分析するそうです。

おお!懐かしいのじゃ!VisiCalcは表計算ソフトの元祖、Zorkはテキストアドベンチャーゲームの金字塔じゃな。ユーザーインターフェースやハードウェアの制約の中で生まれた創造性を学ぶのは面白そうじゃ。

はい、創造性の源泉は制約の中にある、というのは興味深い視点ですね。

次は「CSCI 4020: 遅い言語での高速コードの記述」じゃと?Pythonとかで高速なコードを書くのかの?

そのようです。高レベルでのパフォーマンスを分析し、C++に匹敵するPythonコードを作成するとのことです。堅牢性と楽しさを重視するそうですよ。

PythonでC++並みの速度が出せるなら、夢が広がるのじゃ!

「CSCI 2170: コマンドラインツールのユーザーエクスペリエンス」という科目もあります。コマンドラインプログラムにUX原則を適用する入門とのことです。

コマンドラインにUX?それは斬新じゃな。出力の関連性、可読性、最小化が重要らしいぞ。UNIXのlsコマンドは、過剰なコマンドラインスイッチのケーススタディになるらしい。

確かに、lsコマンドのオプションは多すぎますよね。

最後は「PSYC 4410: プログラマーの心の強迫観念」じゃと?

はい。コードのフォーマット、分類、型システム、プロジェクトの過剰なファイル分割など、プログラマーがこだわるトピックを研究するそうです。

わかるのじゃ!私もインデントにはうるさいぞ!

不慣れなシステムに触れた際の反射的な批判も研究対象とのことです。

それもよくあるのじゃ!新しいフレームワークが出ると、すぐに「これはダメだ!」って言っちゃう人、いるいる!

今回の講義の提案は以上になります。博士、いかがでしたでしょうか?

どれもこれも面白そうなのじゃ!全部受講したいぐらいじゃ!

そうですね。それでは、今日のところはこの辺で。

最後に一つ、ロボ子。プログラマーが一番恐れる強迫観念って、何だと思う?

なんでしょう?

それは…、動くはずのコードが動かないこと、なのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。