1,092 reputation
510
bio website gameprogrammingpatterns.com
location Seattle, WA
age 36
visits member for 4 years, 2 months
seen Sep 10 at 0:09

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


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?
Feb
25
answered Is Android a language or a framework/platform?
Feb
21
answered Why OOP is enforced in Java and C#?
Feb
11
comment Does this have a name? DRY overloading?
@Frank: Ah, you're exactly right. Somehow I managed to remember the terms all wrong. My mistake.
Feb
10
awarded  Commentator
Feb
10
comment Does this have a name? DRY overloading?
@Frank: "ad-hoc polymorphism" describes overriding, not overloading. "ad-hoc" is used to disambiguate between type polymorphism (what people call "generics" in OOP languages) and overriding, not between overriding and overloading. Static overloading just isn't polymorphism at all.
Jan
27
awarded  Editor
Jan
27
comment So Singletons are bad, then what?
Done, but I still encourage you to read the whole chapter.
Jan
27
revised So Singletons are bad, then what?
added 1681 characters in body; added 1 characters in body
Jan
27
comment Why do some programmers hate the UI part of the development?
@Anna: I've tinkered with a couple of systems that could automatically position sets of controls. If you look at HTML with things like built-in baseline alignment, you can consider it a partial solution to this problem. There are lots of frameworks to automatically do data binding. Take a look at functional reactive programming, or Adobe's Adam and Eve languages. They address exactly these two problems. In general, if the level you're working at is drudgery, try to move up to a metalevel above that and use that to automate the drudgery.
Jan
27
answered So Singletons are bad, then what?
Jan
27
comment Why do some programmers hate the UI part of the development?
Implementation should never be grunt work. If it is, you've either got a poorly factored architecture, or an inefficient process. We're programmers, if we're doing something a machine could do, we should be automating it.