リモートワークが主流になった今日、個人所有のハイエンドゲーミングPCで仕事ができる喜びを日々噛み締めながら仕事をしております。
わたしはPCゲームもかなりやりますので、メインPCはどうしてもWindows一択になってしまいます。
プログラム開発の作業だけならLinuxが色々と捗ることはわかっているのですが、本業以外にも色々とやっているので、音楽制作、映像制作、MS Office、ゲーム、プログラミングを一台のPCで賄うとなるとWindows以外の選択肢がありません。
とはいえWindows, Mac, Linuxの三大プラットフォームのなかで、Windowsは開発環境としては癖が強く最弱であることは間違いありません。
WSLを使えば良いじゃない、とお思いの方も多いでしょう。実際WSLはかなり良くできていて、X-Windowも使えるしWindowsのファイルシステムも自動でマウントされるし、さらにはDockerのバックエンドとしても優秀です。
WSLがすべてを解決すると思っていました。あの日までは。
ある日私は超巨大なコードの塊と化した醜悪な業務プロジェクトをpullしてからgit statusしました。進捗は表示されるのですがそれが何分待っても返ってこない。一旦トイレに行って戻ってきてもまだ終わってなかったのでCtrl+Cしてやりました。
どういうことかというと、WSL内部からのWindowsファイルシステムへのアクセスが半端なく遅いのです。WSL1のころはそうでもなかったのですがWSL2は極端に遅いです。これでは巨大プロジェクトの開発には使えない。。
WSLのファイルシステムにソースコードがあれば問題はありませんが、私のプロジェクトはFドライブの大容量SSDに置いてあり、普段はIntelliJで編集をしています。それをWSLのEmacsからmagitしたり直接編集したりWSLのコマンドにかけたりと、Windows上のIDEとWSL上のEmacsを行ったり来たりするスタイルで開発をしていました。
解決策は、IntelliJをWSL側に持っていくかEmacs+コマンドラインツールをWindows側にもっていくかの二択になります。
どちらも茨の道ですが、わたしはEmacsをWindows側に持っていくことにしました。てことはWSLいらんやん。
つづく