934 reputation
714
bio website google.com/+DanielPryden
location Silicon Valley
age 31
visits member for 4 years, 6 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.


Feb
7
awarded  Editor
Feb
7
revised Regulation of the software industry
Fixed broken link
Feb
7
suggested approved edit on Regulation of the software industry
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.
Oct
24
comment What exactly is a programming language? What enables us to write in such a language?
+1 for mentioning "Code". That book should be required reading for every entry-level CS student.
Oct
16
comment Is it wrong or bad to use autocomplete?
Good points, but seriously: you can't remember how to add an item to a List? That's not an "obscure" API, it's one of the most commonly used interfaces in the standard library.
Oct
12
comment Is Systems Hungarian notation still a useful practice?
+1 for pointing out that the real argument here is about type theory. Hungarian notation is a technique for augmenting the type system with additional information, and as such should be compared and contrasted with other techniques for augmenting the type system (e.g. templates, typedef, etc.), rather than being discussed on its aesthetic merits (or lack thereof).
Oct
9
answered Why do languages such as C and C++ not have garbage collection, while Java does?
Oct
6
comment Are these signs of a bad developer?
+1 for the iceberg secret.
Sep
24
answered Database source control
Sep
6
comment Do the young minds need to learn the pointer concepts?
@Joe Internet: Correct, except that C# calls its pointer-enabled blocks "unsafe" blocks, not "unmanaged". You can use an unsafe block to manipulate unmanaged resources, but they are not the same thing.
Aug
30
comment Are compilers used outside of development?
@Jan Soltis: I am aware that that is your opinion. I respectfully disagree. I provided counterarguments to support my position, while you continue to make unsupported assertions. You seem to think that there is a sharp line between "developer" and "end user" which I do not believe exists.
Aug
30
comment Are compilers used outside of development?
@Stargazer: Did you mean: "No, compilers translate from a source language into a target language"? Omitting the comma makes your sentence mean the opposite of your intended meaning.
Aug
30
comment Are compilers used outside of development?
@Jan Soltis: I disagree. I've compiled the Linux kernel from source: does that mean that I am a Linux kernel developer? I've never modified Linux kernel code or submitted a patch -- I would say that means I'm not a kernel developer. Plus, for the several years that I used Gentoo as my primary operating system, I compiled every single piece of software on the machine. However, the vast majority of those were compiled automagically by the Portage package management system. I would argue that in that case I was acting as an end user but not as a developer.
Aug
25
comment Why isn't Java used for modern web application development?
@Jordan: Well, some web apps don't do any work other than displaying data -- and for those apps PHP or another lightweight front-end technology is a fine choice. I mostly work on scientific applications with low transaction counts but very algorithm-heavy processing and display. When you're doing things like spatial data rendering, multidimensional data, on-demand simulations, coordinate system transforms, etc., then some of that has to be loaded in the web tier. The real heavy lifting is in the application tier -- the database tier, by contrast, doesn't have that much of a load.
Aug
22
comment What is the benefit of not using Hungarian notation?
Upvoted for a single sentence: "Most of the time, knowing the use of a variable implies knowing its type. Furthermore, if the usage of a variable is not known, it can't be deduced from its type." -- IMHO, this is the #1 reason to avoid Hungarian notation.
Aug
22
comment Why isn't Java used for modern web application development?
But... we're not talking about cross-platform GUI apps: this question is about web application development. And your arguments are mismatched: "Java is tedious and verbose" is a criticism of the Java language, while all the cross-platform benefits are features of the Java platform. It is possible to write apps for the Java platform in languages other than Java: see Jython, JRuby, Groovy, Scala, Clojure, etc.
Aug
22
comment Why isn't Java used for modern web application development?
@James: I've never heard a Java programmer complain that PHP is "too simple". I've heard lots of other complaints about PHP, but simplicity isn't one of them. And to make this point perfectly clear (since this seems to be a misunderstanding a lot of people here have): Java web apps != J2EE. Even in Java circles, "J2EE" is dead, replaced with "JEE" -- Java 6 EE is very different from Java 2 EE. And many excellent Java web apps eschew Java EE entirely, instead using Java SE and a simple servlet container or other web server.
Aug
19
comment Why isn't Java used for modern web application development?
@James: it sounds like what you are saying is: overengineered and/or poorly designed applications have performance problems. That's not specific to Java! Certainly, there are badly-written Java apps out there, but there are also well-written Java apps as well. The same can be said of any language.