私は新たな言語を学ぶのが好きなのですが、しばらく使うとどうしてもその言語の魅力は色あせてきてしまいます。そして結局は、ツールボックスの中のありふれた言語の1つになってしまうのです。 しかしClojureは例外でした。私は […]

以前書いた(C言語についての)メモリ安全性について定義した記事について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単 […]

コード構造における重要な問題として、複数のクラスを共有する場合に合成と継承のどちらを用いるかという点があります。“has a”の関係と、“is a”の関係と言われる2つの対比です。例えば、“ソファには綿が入っている”と、 […]

この手紙は、”熟練者”ならではの知識を語るものではありません。新人かベテランかに関わらず、私たちの誰もが繰り返し学び、覚えておくべきことについて書いています。ここでは、一般的な傾向や、聞けばなるほ […]

この記事を書き上げるには、相当長い時間がかかりました。本来は今年の年明け、 Rubyの死やデイヴィッド・ハイネマイヤー・ハンソンのTDDは死んだがアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイー […]

新たなelm-htmlライブラリでは、HTMLとCSSをElmで直接使用できます。FlexBoxも使ってみたいし、既存のスタイルシートも使い続けたいですか? Elmは使いやすくなり、処理が速くなりました。例えば、Todo […]

この投稿はEdward Z. Yangが2010年に書いたOCaml for Haskellers、私自身が今年頭に書いたHaskell for OCaml programmersの流れに沿っています。 目次 プロローグ […]

先週、DARPAが確率的プログラミング言語に関する研究に資金を提供するための新たなプログラムを発表しました。関連記事では、このニュースが重要な理由について明らかな見解が示されていましたが、確率的プログラミング言語は新たな […]

複雑なアプリケーションではロギング、トレーシング、メトリクスといったサポートの機能により、関数にすぐ負荷がかかってしまいます。これらのコードブロックはあらゆるコードベース上でそれぞれ少し変形して繰り返し使用されるのですが […]

最近では最適化という言葉を使う場合、GPUメモリ消費やネットワークトラフィックの最適化、などと明示的に言わない限りは、実行時間の最適化という意味で使われるケースがほとんどです。 自分が何を最適化しようとしているかを知ろう […]

Pythonを始めたばかりのユーザーの多くが、どちらのバージョンを使えばいいのか迷っています。私の答えは、「気に入ったチュートリアルに書かれているバージョンにしましょう。そして、あとで違いを調べてください」という言葉につ […]

この記事はジェット推進研究所(JPL)におけるLispの盛衰について、私の(しかもかなり偏った)個人的見地から書きました。JPLの所員としての立場で書いているのではなく、JPLの公的な立場を代弁するものでもないことをお断 […]