タグ

ブックマーク / note.com/ruiu (3)

  • スタンフォードのコンピュータサイエンスの授業の感想|Rui Ueyama

    いまのところ25単位分(マスター修了に必要な単位数の約半分)の授業を取ったので感想を時系列でちょっとまとめたい。昔のやつは記憶が曖昧になっているけど。 CS243 プログラムの解析と最適化 (2014Q4)要するにコンパイラの最適化の授業。前半はデータフロー解析とかでかなり実用的な感じがしたが、後半は行列計算の命令の依存関係を抽出してベクトル最適化とか、ItaniumみたいにレジスタのたくさんあるCPUでループアンローリングするみたいな話で、実際に役に立つのかはよくわからなかった。 と、そのときは思ったが、巨大な行列の計算はよくあるので、興味を持てなかった僕がダメだっただけかもしれない。 とにかく難易度が高かった。かなりがんばって夜中までやっていたつもりだけどもっと真剣に取り組むべきだったかもしれない。なにせこれが最初の授業だったのでレベル感がよくわかっていなかった。教授がドラゴンブックの

    スタンフォードのコンピュータサイエンスの授業の感想|Rui Ueyama
  • オープンソースプロジェクトを最初から英語で運営してみてわかったメリットについて|Rui Ueyama

    僕は最近とあるオープンソースプロジェクトをオーナーとしていわば運営しているのですが、英語プロジェクトをまわすというのは良いなと思うようになりました。他の言語を使うのに何も悪いことはないのですが、英語のほうがコミュニティがずっと大きいので想定外の幸運なことが起こる可能性が高くなるというのが理由です。 僕がやっているプロジェクトは開発ツールを作るというもので、それなりに専門的な知識が必要になるプロジェクトです。人間が書いたプログラムのコードは最終的に何らかの形でコンピュータが直接実行可能な形に変換されて実行されるわけですが、僕が作っているリンカというのは最後の実行ファイルを作成する部分を担当するプログラムです。つまり僕はプログラムを出力するプログラムを書いているわけで、そのためにはOSやCPU、入力や出力のファイルの形式などについてよく知っている必要があります。 また僕らの目標は既存のものよ

    オープンソースプロジェクトを最初から英語で運営してみてわかったメリットについて|Rui Ueyama
  • ソースコードって実際のところどういうふうに書いていますか?|Rui Ueyama

    私はプログラミングは結構自信があるんですが、他の人の作業をつぶさに観察したことがあるわけでもないので、自分で当たり前だと思っているコーディングの方法が他の人にとってはそうではないこともあると思ってます。上手い人がどういうふうにしてプログラムを書いているのか知りたいんですよね。 逆に私はどういうふうに書いているかちょっとまとめてみました。自分はこうしている、というのがあったらぜひ教えてください。 まず私の場合、ゼロからコードを書くよりも現在のプロジェクトのためのコードを書くことのほうが多いので、コードを書くというのは既存のコードに変更を加えることがほとんどです。既存のコードに手を加えるときは、新機能追加か、リファクタリング(動作は変えずにコードをきれいにすること)のどちらかになるわけですが、まず前者をどうしているかどうかをできるだけ説明してみます。 まず必要なのは考えることです。よく知ってい

    ソースコードって実際のところどういうふうに書いていますか?|Rui Ueyama
  • 1