Microsoft's 'IsNot' Patent Continued...
An anonymous reader writes " According to the patent application--filed in mid-November by Paul Vick, lead architect for Visual Basic .Net at Microsoft; Amanda Silver, a program manager on the Visual Basic team; and an individual in Bellevue, Wash., named Costica Barsan--the IsNot operator is described as a single operator that allows a comparison of two variables to determine if the two point to the same location in memory." This article continues the tale started last november, and here is an eWeek story on the same subject.
I like how the submitter conveniently left out Paul's blog entry on the subject:
1 /2 0/2321.aspx
http://www.panopticoncentral.net/archive/2004/1
He says, among other things that software patents are a "bad idea" and that he did not "feel particularly proud of my involvement in the patent process in this case".
So there you have it, from the horse's mouth.
Natural != (nontoxic || beneficial)
From Lisp primer:
= (= x y) is true if and only x and y are numerically equal.
equal As a rule of thumb, (equal x y) is true if their printed representations are the same (i.e. if they look the same when printed). Strictly, x and y are equal if and only if they are structurally isomorphic, but for present purposes, the rule of thumb is sufficient.
eq (eq x y) is true if and only if they are the same object (in most cases, this means the same object in memory).
eql (eql x y) is true if and only if they are either eq or they are numbers of the same type and value.
So what Microsoft is trying to patent is known in LISP as (not (eq a b)) for a long time already :(
The IsNot operator described in the patent also differentiates between objects with the same address in different memory spaces. They mentioned running a cluster-aware program which could manage objects on multiple machines simultaneously.
So, it's equivalent to:
((&a != &b) && (a.host != b.host))
Which is yet more complex but still not worth patenting a simplification on.
I guess today is a passable day to die.
Well, in C, if a and b are strings, structures, or arrays, then the variable name is the same as the address.
Therefore a != b when you're testing if the 'two variables point to the same location in memory' is covered by friggin' PDP-11 architechture. It's basically a comparison of two integers and a BNZ (branch non-zero) instruction.
They can make all the claims they want about how they've done all sorts of innovative stuff to make the link novel, it's still comparing a pointer reference in a programming language as far as I can seem.
What's next, start patenting the AND, NOT, OR family of operations? I hope not!
Lost at C:>. Found at C.