817 reputation
28
bio website gameprogrammingpatterns.com
location Redmond, WA
age 35
visits member for 2 years, 9 months
seen May 29 at 16:37
stats profile views 67
I'm a programmer at Google. Before that, I was a game programmer for Electronic Arts for eight years.

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?
Mar
10
comment What is the greatest design flaw you have faced in any programming language?
Well, in that case void basically is unit, but you're right that it works without any problems.
Mar
8
comment What is the greatest design flaw you have faced in any programming language?
@David: Yup. Ruby too.
Mar
8
revised What is the greatest design flaw you have faced in any programming language?
added 151 characters in body
Mar
8
comment What is the greatest design flaw you have faced in any programming language?
Correct. Expressions for everything.
Mar
8
answered What is the greatest design flaw you have faced in any programming language?
Mar
1
comment First Class Functions
It's worth noting that for C#, they did not actually need to add VM support for closures. Since objects and closures are conceptually interchangeable, as long as you have one, you can use it to implement the other. In the case of C#, a closure will be translated by the compiler to an instance of an anonymous class.
Feb
26
answered Is there a better term than “smoothness” or “granularity” to describe this language feature?