Reputation
Next tag badge:
139/100 score
17/20 answers
Badges
13 179 261
Newest
 Good Answer
Impact
~2.1m people reached

Aug
12
comment Is there any evidence that Intellisense reduces productivity?
@Casey: Umm... what in the world are frameWidth and frameHeight? That doesn't look like any sprite system I've worked with. I should only need to pass in a single Point describing the size of a single sprite, and let CreateAnimatedSprite work the rest out. Or, if I've got a badly designed sprite sheet with more than one character on it, I'd need to use 2 points: 1 for the size of an individual sprite, and one for the total number of sprite sets horizontally and vertically on the sprite sheet. There's no need for a numColumns in either case; that can be inferred from the sizes.
Aug
12
comment Java API vs. Other APIs
To be fair, Date, Calendar, and related code is a mess everywhere. I don't think I've ever seen a Date/Time system that's not horribly messy, because the problem it's solving is inherently a horribly messy one.
Aug
11
comment Can static and dynamically typed languages be seen as different tools for different types of jobs?
WRT unit tests, I completely agree. You always see people saying "if you have good unit tests, they can verify type correctness for you." That's always reminded me of how Paul Graham (who strongly believes that dynamic typing is always a good thing) says that a language making you manually do the compiler's work for it is a flawed language. Sorta makes you stop and think...
Aug
10
comment Legal proof of when a feature been implemented
@RS Conley: You can't. It's called "code" for a reason. It doesn't make much sense to laypeople. What you could try, though, is an expert witness: getting someone with a similar skillset as you to examine the code and testify that it's correct.
Aug
9
comment How is Delphi XE2 going to work across platforms?
I haven't heard anyone say anything about "generating multiplatform binaries". The impression I get is more of "generating single-platform binaries for more than one single platform."
Aug
9
comment Philosophy behind Undefined Behavior
Huh? What do exceptions have to do with embedded hardware?
Aug
7
comment Why was Python's popularity so sudden?
@maaartinus: It's an obvious step forward, right up until you run into an expression too long to fit on one line without horizontal scrolling. Then things get awkward fast.
Aug
7
comment Why does the Lisp community prefer to accumulate all the parentheses at the end of the function?
WRT "the question", because "throwing around" closing tokens in the style of the second example lets you easily line them up with your eyes and see what closes what, even if you're just in a text editor with no automatic matching/highlighting features.
Aug
4
comment Where are octals useful?
The difference is, hex is "natural" as half a byte. Two hex digits = 1 byte. But you can't divide bytes up into octal digits.
Aug
3
comment Should I plan ahead, or figure out programs as I'm writing them?
@Job: I think the biggest spec I've ever worked from was about 10 pages. If it gets much larger than that, you're not working on one new feature anymore.
Aug
2
comment As a practitioner, why should I care about Haskell? What is a monad and why do I need it?
It's worth noting that the paper you linked to specifically rejects the idea of "immutability as a virtue of functional programming" right at the beginning.
Aug
2
comment Should I plan ahead, or figure out programs as I'm writing them?
I feel compelled to point out that no model railroad I've seen has loops, (aside from the whole thing being one big loop, of course,) subroutines, or conditional branches.
Aug
2
comment What can multiple threads do that a single thread cannot?
@Michael: I'm not talking about SIMD, I'm talking about multicore, which can speed up CPU-intensive tasks if they're parallelizable.
Aug
1
comment Does KISS encourage tools and frameworks that expose complex leaky abstraction layers?
>Abstraction is simple, leaky abstraction is not. Really? In my experience, leaky abstractions are almost invariably caused by oversimplifying the problems that they're supposed to be abstracting away.
Aug
1
comment What can multiple threads do that a single thread cannot?
>Note that threading can only increase efficiency on heavily IO bound processes. If a program is mainly calculating things, there's not going to be a lot of "holes" we could do more work in. ...huh? Try telling that to my graphics card while I've got a 3D game running. It uses massively parallel multithreaded processing to render enormously complicated calculations, with a minimum of I/O stuff going on.
Jul
28
comment In what specific ways did Delphi influence the C# language
It's a real shame that some of them actually did. Look at how long it took the .NET folks to reimplement the dynamic capabilities that Delphi's had available in the variant type since pretty much forever...
Jul
28
comment Is Free Pascal just an open source, multi-platform clone of Turbo Pascal & Delphi?
There are some who would call that a significant language feature in and of itself. ;)
Jul
28
comment In what specific ways did Pascal and or Delphi influence Java?
@Jesse: Exactly. It's particularly evident when you look at the really early versions: C# and the .NET framework look a whole lot like "Delphi rewritten to look like Java."
Jul
26
comment How important are Haskell's advanced concepts like Monads and Applicative Functors for most routine programming tasks?
I don't know how far you'll get. Without monads you can't do anything useful in Haskell, since doing anything useful in programming (as in, writing a serious program that someone would actually want to use) requires I/O and state, both of which can only be managed in Haskell through the use of monads.
Jul
26
comment Is integer used too much as a data type?
@Aaronaught: Well yeah, you'd want to disable it for stuff like hash codes and checksums that are specifically designed to overflow and wrap around. But for general-purpose calculations that are not designed to overflow and wrap around, it's an important safety feature and turning it off is kinda like driving without a seat belt.