1,082 reputation
310
bio website gameprogrammingpatterns.com
location Seattle, WA
age 36
visits member for 3 years, 10 months
seen Jun 27 at 19:52

I'm a programmer at Google. Before that, I was a game programmer for Electronic Arts for eight years.


Jan
30
awarded  Nice Answer
Dec
5
awarded  Nice Answer
Dec
5
comment Authoritative sources for exception handling best practices
Thanks, @RossPatterson, I added your link to the answer. I couldn't find it online and actually got the quote from my print copy of the book.
Dec
5
revised Authoritative sources for exception handling best practices
Add link
Dec
4
answered Authoritative sources for exception handling best practices
Nov
13
comment So Singletons are bad, then what?
"Toolbox" looks pretty similar to "Service Locator" to me. Whether you use a static for it, or make it itself a singleton is, I think, not that important for most programs. I tend to lean towards statics because why deal with lazy initialization and heap allocation if you don't have to?
Sep
16
awarded  Yearling
Feb
20
awarded  Caucus
Nov
4
awarded  Nice Answer
Nov
3
answered What triggered the popularity of lambda functions in modern mainstream programming languages?
Sep
16
awarded  Yearling
Jun
10
comment Are the criticisms against Dart valid?
@Hassan, Dart is harder to compile to JS because its semantics are quite different (especially compared to CoffeeScript, which is essentially local syntactic sugar for JS), but our expectation is that we will be able to compile Dart to JavaScript that is as small and fast as the hand-written JS you would have written to solve the same problem.
Feb
19
comment Backquoted symbols, good or bad?
@S.Lott can you point to a reference that all strings are interned in Python? All I see is that identifiers in programs and certain other "name-like" strings are.
Feb
10
comment Why doesn't the DART language use a special character to identify variables?
@DeadMG, it's actually pretty straightforward to make semicolons optional in a C-derived language. JS just has a particularly awful way of doing it.
Oct
9
awarded  Nice Answer
Sep
17
awarded  Yearling
Mar
18
comment What is the greatest design flaw you have faced in any programming language?
@bit-twiddler: You say LL parsers are just "fun" and LR parsers are more powerful, but the majority of the world's code is being parsed by "far less powerful" recursive descent parsers: GCC, LLVM, Microsoft's C# compiler, et. al.
Mar
18
comment What is the greatest design flaw you have faced in any programming language?
Dangling elses are more a fault of LALR parsers than with the language itself. There's no ambiguity in the language, and it's trivial to write a recursive descent parser than handles them correctly. Requiring curlies for all if statements would make chained else if statements hideous with no actual benefit to the user.
Mar
17
comment What benefits for the developer does the Ruby language offer that C# does not have?
You can do that in one line of C# too. Define an extension method Minutes() on int that returns a DateTime, then an extension method FromNow() on DateTime. That would let you do (3).Minutes().FromNow(). The () are kind of a drag, though. Unfortunately C# doesn't support extension properties, just methods.
Mar
16
answered Should if statments be in inner or outer method?