I could easily redesign the horizontal whitespace test to show that horizontal whitespace matters.
Compare: spot the error
class FruitCollection
{
pubic:
FruitCollection()
: num_apple(0),
num_apricot(0),
num_avocado(0),
num_banana(0),
num_breadfruit(0),
num_bilberry(0),
num_blackberry(0),
num_blackcurrant(0),
num_blueberry(0),
num_currant(0),
num_cherry(0),
num_cherimoya(0),
num_clementine(0),
num_cloudberry(0),
num_coconut(0),
num_damson(0),
num_date(0),
num_dragonfruit(0),
num_durian(0),
num_elderberry(0),
num_feijoa(0),
num_fig(0),
num_gooseberry(0),
num_grape(0),
num_grapefruit(0),
num_guava(0),
num_huckleberry(0),
num_honeydew(0)
num_jackfruit(0),
num_jettamelon(0),
num_jambul(0),
num_jujube(0),
num_kiwifruit(0),
num_kumquat(0),
num_legume(0),
num_lemon(0),
num_lime(0),
num_loquat(0),
num_lychee(0),
num_mandarine(0),
num_mango(0),
num_melon(0)
{
};
};
Now spot the error here class FruitCollection
{
public:
FruitCollection()
: num_apple(0)
, num_apricot(0)
, num_avocado(0)
, num_banana(0)
, num_breadfruit(0)
, num_bilberry(0)
, num_blackberry(0)
, num_blackcurrant(0)
, num_blueberry(0)
, num_currant(0)
, num_cherry(0)
, num_cherimoya(0)
, num_clementine(0)
, num_cloudberry(0)
, num_coconut(0)
, num_damson(0)
, num_date(0)
, num_dragonfruit(0)
, num_durian(0)
, num_elderberry(0)
, num_feijoa(0)
, num_fig(0)
, num_gooseberry(0)
, num_grape(0)
, num_grapefruit(0)
, num_guava(0)
, num_huckleberry(0)
, num_honeydew(0)
num_jackfruit(0)
, num_jettamelon(0)
, num_jambul(0)
, num_jujube(0)
, num_kiwifruit(0)
, num_kumquat(0)
, num_legume(0)
, num_lemon(0)
, num_lime(0)
, num_loquat(0)
, num_lychee(0)
, num_mandarine(0)
, num_mango(0)
, num_melon(0)
{
};
};
Similarly the rectangle with tuples. I'm only guessing on this one but I suspect if you change it to vectors then a = Vector(1, 2, 3, 4)
b = Vector(3, 4, 5, 6)
c = mul(a, b);
Is far more understandable than a = Vector(1, 2, 3, 4)
b = Vector(3, 4, 5, 6)
c = mul(a.x, a.y, a.z, a.w, b.x, b.y, b.z, b.w);
And that the more complex the math the worse it would get. Even for rectangles a larger example that did various intersections and unions I suspect the results would change.In all seriousness, you make some good points, but I don't think they invalidate the findings so much as they demonstrate avenues for further inquiry.
It surprises me how little we really know about the human aspects of our own field. The practical/pragmatic side of understanding how we really program, what's hard, where we stumble, what we do easily, etc is something that we're trying to address with Light Table. LT happens to be the perfect playground to do this sort of experimentation, so at the very least we'll be making it easier for researchers already in the space. But as we get further along and have a few more hands to spare, we'll start picking off research questions ourselves.
The more the merrier, right? :)
As someone who uses Visual Studio everyday, I am not surprised by this at all. Don't get me wrong, Visual Studio is one of the best IDE's out there, but sometimes it's inspite of itself.
Like removing functionality from the Text Explorer in VS 2012, which they have finally been patching back in. Dumb, dumb, dumb. If they HAD end-to-end user testing, they never would've remove the functionality in the first place.
There is a lot of research done in this and other areas of Software Engineering. Problem is that it's usually locked away behind a huge paywall. If you're not affiliated with some university, you essentially have no access to it.
This may be true for research in other domains but as a researcher in Computer Science I can assure you that the number of academic papers locked behind a paywall is negligible in CS. Only once was did I find a paper not available and I promptly received a copy by sending an e-mail to the authors of the paper.
Like I said earlier areas like computational Medicine, Biology and other such areas run into pay walls. CS research areas like theory, data mining, NLP etc. will rarely run into such problems.