Microsoft Patents 'IsNot', Enlists WTO
Milhouse102 writes "I was just reading an article on The Register about Microsoft's offshore patent war following Ballmer's recent outburst in Asia. I came across this little nugget, it seems MS has patented BASIC's IsNot operator."
Unless I'm mistaken, they've only applied for a patent; it has not yet been granted. Sadly, given the state of the patent system nowadays, it would not surprise me if it is granted.
"You're older than you've ever been, and now you're even older."
After a quick read of the patent, it seems to say that it is a test to see if two "variables" are actually the same entity, i.e. at the same address.
That would seem to imply
#define IsNot(A,B) (&(A) != &(B))
infringes?
Surely this is done in things like memmove() to prevent overwriting of data?
Actually, they specifically admit "Is" as prior art, the example they give is:
If (Not(A Is B)) Then (Goto Z) End If
By generating an IsNot operator, such that Not(A Is B)===(A IsNot B), you're re-ordering the sentance:
If (A IsNot B) Then (Goto Z) End If
That's what they're trying to patent. The use of a keyword rather than boolean logic. I rather hope and suspect this patent will fail for insufficient inventive step.
"Elmo knows where you live!" - The Simpsons
UK patent application GB0312175.3, someone already tried:
"The applicant appeared to be trying to protect the use of '0' and '1' in computer technology. [...] The applicant appeared to have completely misunderstood the patent system, and had not actually invented anything."
Via softwarepatents.co.uk. Well, at least *that* didn't get through. ARM's patent on the use of pointer arithmetic in CPU emulators *was* allowed, though.
"Elmo knows where you live!" - The Simpsons
First off, the IsNot operator is not part of VB 6.0 or VB.net 2003 (I haven't checked 2005, which is still in Beta)
Second, if you undestand VB's "Is" operator, IsNot makes more sense.
"Is" is a memory location comparison commonly used to see if two variables point to the same object, e.g. . It does not compare the values of the variables, only that they are pointers to the same object.
Because there is no inverse version of this operator like there is with "=" and "", you end up with non-natural-language statements such asMuch more natural looking isWhether this is patentable is another issue. But you can certainly patent a published idea -- it's the only way to protect it.
Design for Use, not Construction!
The dependent claims (2, 3 and 4) are merely shorthand to avoid writing the entire claim out each time, but for purposes of what they cover, you should read the claims like this:
"I have a porkchop, you have a porkchop. I have a veal, you have a veal".
http://www.panopticoncentral.net/archive/2003/11/1 7/243.aspx#Comments
And he writes that they "had requests for this in the past", so they did not even invent it, but some users suggested it.
Finally check out the comments of the VB users below wetting their pants for this little feature. Now isn't that really sad?
Signature deleted by lameness filter.