853 reputation
613
bio website google.com/+DanielPryden
location Silicon Valley
age 31
visits member for 3 years, 11 months
seen yesterday

I started tinkering with computers at the age of 6. These days, I'm a senior software engineer at Google, currently working on Java application server infrastructure.

Besides being fluent in English and American Sign Language, I know too many programming languages to count. Lately I've primarily been using Java, plus some odds and ends of Python, C++, and JavaScript. I enjoy C#, even though nowadays I don't get many chances to use it. I'm also a big fan of Haskell and Scala, although I haven't had a chance to use either of them in a large-scale project yet.

In my spare time, I play guitar and read voraciously, including science fiction and books on computing. I'm also a volunteer minister for the deaf, teaching Bible studies in American Sign Language.

Standard disclaimer: my opinions are my own, and not necessarily those of my employer.


May
24
revised What is the name for a NON-self-calling function?
Expanded answer in response to clarification of question
May
24
awarded  Nice Answer
May
24
comment What is the name for a NON-self-calling function?
Wow, great minds think alike...
May
24
answered What is the name for a NON-self-calling function?
May
24
comment Dependency injection: How to sell it
Possibly relevant to this discussion is Uncle Bob's article Dependency Injection Inversion.
May
21
revised Why is Invariance, Covariance and Contravariance necessary in typed languages
Minor correction to answer
May
21
answered Why is Invariance, Covariance and Contravariance necessary in typed languages
May
11
awarded  Yearling
May
10
answered Working machines of developers - in what ways are they usually standardized or restricted?
Mar
24
comment What makes C so popular in the age of OOP?
@DeadMG: Pot, meet kettle. TIOBE's data may not be reliable, but your bald assertion that "it's not popular" has no source or citation whatsoever. If you're going to challenge the assumption behind the question, at least provide some evidence to back it up.
Mar
24
comment What makes C so popular in the age of OOP?
@KonstantinSolomatov: If you are writing a library that will be consumed by other people, please do the world a favor and write it in C instead of C++. If you can't do that, at least write a C API. Everything in the universe can link to C code in some way or another, usually with minimal effort. By contrast, you will frequently have major ABI issues when trying to call C++ code from other C++ code, let alone from other languages.
Feb
23
answered Examples of operator overloading, which make sense
Feb
9
comment Why are shortcuts like x += y considered good practice?
+1 for a simple Python example.
Feb
7
awarded  Editor
Feb
7
revised Regulation of the software industry
Fixed broken link
Feb
7
suggested suggested edit on Regulation of the software industry
Dec
15
comment Should I encourage junior developers to use explicit or implicit typing?
@AndrewShepherd: I disagree with your second example. var may in fact be more readable than Stream in that case, depending on the context. As Eric Lippert advises: "Consider using var if the code emphasizes the semantic "business purpose" of the variable and downplays the "mechanical" details of its storage."
Dec
15
comment Should I encourage junior developers to use explicit or implicit typing?
@jeroenh: Seriously, re-post that link as an answer (and add some excerpts, if you could), and I will upvote it immediately -- I think it's a better answer than any of the answers here. Eric Lippert's advice is both pragmatic and useful, and it clearly explains when you can use var, when you must, and when it should matter -- which, it turns out, has almost nothing to do with whether the type is already visible in your expression, and everything to do with what your expression means.
Nov
10
comment Why are people so strongly opposed to #region tags in methods?
Not really an answer, but not only do I hate all #region tags, I turn off code folding in Visual Studio altogether. I don't like code that tries to hide from me.
Nov
8
comment Should a programmer fix someone else's failed build?
@KeithS: True. But I've found that, regardless of when I leave, the most likely time for me to break the build is when I'm in a hurry: right before lunch, right before a meeting, right before the end of the day. So I think it's a "personal best practice" to not commit anything when there isn't enough time to watch and fix the build afterward.