Comparing “Go” to “Brand X”

The old-timers might figure out what Brand X really is before the end. For the rest of us, the reveal at the end is just as shocking as the author intended.  All and all, it confirms what I suspected: Go nice enough, but it is hardly original.  Sure it looks like a great language to …

Native Client at UWCS lecture

Available for streaming and download, Google Native Client presented at UW’s computer science lecture series. Covers the restrictions on x86 code, new alignment rules, and performance on various benchmarks. 5% overhead, that’s nothing compared to many other sandboxing techniques. Native client is 50KB download?  Wild. It really is just a gatekeeper, runtime library separate. Of …

On the value of consistent API design

Raymond Chen writes in “We’re using a smart pointer, so we can’t possibly be the source of the leak“.  The most immediate cause is a subtle misuse of CComPtr, using operator= which performs an AddRef on a return value that has already been AddRef’d, leading to one AddRef too many. The less immediate failure was …

Programming Language Popularity

Some interesting metrics of programming language popularity. LangPop.com – statistics on greping search queries on various web properties — usage in open source projects, books published on Amazon.com, etc. TIOBE index – similar listing, of search engine results exclusively.  Longer tail listing, and shows trending. Happiest users – this one is just a static blog …

Continuation Patterns

Interesting paper on the topic of various program patterns implemented in coroutine.  As mentioned in a previous post, continuations are a powerful control flow primitive — they can be used for: Call with Current Continuation Patterns, Ferguson & Deugo Escaping recursive procedures and loops Reentry into recursion Coroutines Backtracking Simulating multitasking The paper covers these …

Return-code vs. Exception handling

(Originally authored Feb 2008.  This is a revision of an older post from before I began blogging on the internet at large.  It’s been edited for style, not content) This is one of those “religous wars” in programming language theory; return code handling (RCH) vs exception handling (EH).  Firstly, I am biased.  Secondly, I will …