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

thefowle April 27 2009, 21:35:25 UTC
accounting fallacy, as i once heard it: "your lack of a feature is not a feature".

"It is possibly the individual interest of these experts to promote labor-intensive solution where their expertise is the development bottleneck."

If you've ever had to use open source software that ThoughtWorks has touched, you'll develop this kind of suspicion immediately. Selenium is a fantastic HTML testing tool, however the infrastructure supporting the tooling seems deliberately half complete and painful to use. Setting up and running Selenium Grid on anything but a clean room environment is an exercise in grief heartache and madness. Good ideas are replied to with curt responses that 1) you dont want to do that 2) my way is better 3) you are wasting my time suggesting that 4) i have better things to do. It seems like an awfully defensive reply for someone asking for test tools a junior automator (and not a dedicated programmer) could use.

Reply


You're pretty off about microkernels anonymous April 28 2009, 00:37:43 UTC
You're totally off on the microkernels. Go take a look at Minix 3. It is tiny, yet achieves near linux performance with less code and in a safer manner. Go take a look at OSX, you have unix and your GUI running on top of a microkernel. Look at FUSE you have microkernel architecture running on top of Linux and OSX.

Reply

Re: You're pretty off about microkernels fare April 28 2009, 02:29:13 UTC
Minix 3 is tiny, has a small subset of linux functionality. I demand substantiation on the claims that its performance and robustness are remotely comparable to those of Linux ( ... )

Reply

Re: You're pretty off about microkernels anonymous April 28 2009, 14:46:58 UTC
The point was that you slander microkernels and use a FAILURE case to do so, totally ignoring the successful cases. Then you bother to respond with something totally offtopic from your actual post.

I know this is the internet and you feel you must defend yourself, but you're responsible for what you post. What you posted is factually inaccurate and your reply here shows that. Take responsibility.

Reply

Re: You're pretty off about microkernels fare April 28 2009, 17:56:44 UTC
The point is that microkernels are a total failure. The "best" microkernels take a ~3% performance hit for the benefit of doing nothing at all -- because you avoid their functionality like plague, except for your having to pay the initial tax of them being between you and the hardware.

If you actually start using the microkernel architecture for anything at all, each additional level of splitting your software into microkernel-level isolated servers will take its toll both at programming-time and run-time for zero gain in functionality.

Reply


Microkernels anonymous April 29 2009, 20:45:45 UTC
"Hence HURD being an undebuggable joke whereas Linux is a fast, robust system ( ... )

Reply


natecull June 8 2009, 22:55:01 UTC
Isn't QNX a microkernel? And from what I understand it's extremely efficient and was very successful in its chosen niche. Back in the mid-90s, there was a demo system shipped containing QNX, TCP/IP stack and web browser all on one 1.44 MB floppy.

Granted I've not played with it, but it seems to me to be one of the more inspiring pieces of OS design that suggest to me that there's a much better way of doing things than the current status-quo, be it Microsoft or Linux.

http://en.wikipedia.org/wiki/QNX

Reply

fare June 13 2009, 04:47:36 UTC
QNX is indeed a microkernel. Because it's proprietary software with a confidential niche audience, it's hard to call it either a success or a failure, either technically or commercially.

From all that I remember reading about QNX, its main useful technical ideas, that made it easy to write distributed applications, is hardly tied to the "microkernel" paradigm. Exposing an API that allows to easily abstract away locality? Either Plan9 or Erlang will provide that without "microkernel" nonsense. Simple design? The Amiga had something simple without being a "microkernel".

Once again, the "microkernel"ity is the stupid thing that's easy to intoxicate oneself with. But it's not the interesting thing that positively contributes to performance, robustness or simplicity.

Reply

natecull June 13 2009, 06:09:02 UTC
It's a pity that Plan 9/Inferno never took off in a big way. Though I guess Inferno has only been open sourced for five years, so it could still have a breakthrough. The Rio window manager model particularly looks very interesting.

Reply


fare December 1 2009, 21:26:47 UTC

Leave a comment

Up