3 ms·
"Meaninglessness" is the exact wrong word for this. The test shows that those who consistently apply the same meaning to the types of questions they are presen
by JoelSutherland 18y ago
"Meaninglessness" is the exact wrong word for this.
The test shows that those who consistently apply the same meaning to the types of questions they are presented with end up being the best programmers.
- yters 18y agoI've noticed this kind of mindset helps with debugging. I use it to eliminate possibilities and to also keep going. The latter is especially important when I think I've already tried all possibilities. It's a constant check that keeps me from thinking it's a problem on the computer's end, instead of a problem on my end. I can think of a number of times when I've been able to solve the bug precisely because I kept the right mindset.
- marcus 18y agoIf I had a dime for every time a co-worker said it was a problem with the compiler, I would have retired years ago...
- Agathos 18y agoThe problem with the compiler is that it implements a language whose rules, applied to the code I just wrote, yield a bug. That this language is consistent with the spec makes it no less a problem.
- Retric 18y agoI have only once found the problem to be bad memory on the test machine. But let me tell you the joy, figuring that out was hard to describe.
- blasdel 18y agoWorse is when you think you've proved it to be bad memory, but it turns to be something way more ridiculous. I dealt with a batch of 60 identical PCs that would occasionally fail in odd ways during the disk imaging process, and upon further inspection would fail memtest spectacularly. It didn't make sense, as they were stable when running an operating system, just not in memtest or while imaging. Plus the memory tested fine in other computers! I eventually figured out that while the BIOS was in real mode, the USB controller would write to extended memory when the USB mouse sent it events. They would have no problems with the mouse unplugged, and the problem went away with a BIOS update. It took a lot of yelling to figure this out!
- yters 18y agoAs for the term "meaningless," I think I can see what the researchers are saying. For example, when I first started programming in QBasic, I was trying to modify a game called Gorillas that came with the language. In the game, there are two gorillas that try to destroy each other by throwing exploding bananas. I saw one variable in the code was called 'banana' and thought changing it to 'baby' would make the gorillas throw babies at each other (yes, I was a strange kid). Anyways, that would be an instance of looking for meaning where there isn't any. I ignored the syntactical context of the variable in favor of the semantics of the variable name, though this was more due to me not being familiar with code. So, the tested students who focus on the syntactical context of variables and keywords will probably be better at understanding programs than those who focus on their understanding of these words' semantics. The problem is not "meaning" itself, but that they are using the wrong frame of reference to derive meaning. Perhaps a better distinction, then, is objective vs subjective meaning. Those who look for the objective frame of reference to infer meaning will understand programs better. Once they do so, they can analyze programs more semantically. For instance, now that I've been exposed to many languages, I know something called "print," occurring in a certain position on a line, probably outputs textual information somewhere, such as stdout.