Confusing constants and variables in Computer Programming

Apr 27, 2009 14:23


I am always amazed when people fail to distinguish between constants and variables. I am all the more amazed when the victims of such confusion are the otherwise brilliant implementers of programming languages. You'd think that if anyone knows the difference between a variable and a constant, it would be a programming language implementer.
Read more... )

software, lisp, tao of programming, tail-calls, constants, programming languages, accounting fallacy, variables, fallacies, economics, en

Leave a comment

Comments 14

anonymous December 13 2009, 00:18:16 UTC
... and woe be on anyone who confuse's woe and woo.

Still, I guess the other way round may be worse. "I'm just off to woe a young woman".

Tail Calls - couldn't agree more. Every serious modern language implementation should support them.

Microkernels - disagree here. My favourite case-in-point is Microsoft Research's Singularity - a .NET (ish) O/S that uses a Microkernel architecture but (largely as its .NET based, so can do so safely) eliminates the costly context-switches leaping in and out of protected mode, so drastically speeds up system calls. It trounces everything I've seen (even Linux) in those departments. So I guess the issue isn't Micro/Monolithic Kernel as much as how such things are actually implemented.

Reply

Lenrekorcim fare December 13 2009, 00:42:06 UTC
Thanks for the spelling lesson.

As for Singularity: how does it qualify as Microkernel? Your description makes it sound more like what I recommend, and what SPIN, ML/OS and other systems have already implemented in the past: a system with statically safe extensions that communicate without any unnecessary runtime barrier. The exact opposite of a Microkernel.

Reply


Leave a comment

Up