If you just want to experiment with some machine learning/pattern recognition stuff without too much programming, give Weka a try. It is a suite of open source machine learning algorithms packed in a pretty usable interface.
To patent software is to grant a government-enforced monopoly on a set of mathematical operations to a person or group.
There is a very important distinction between a SET of mathematical operations and a SEQUENCE of mathematical operations.
{Add, Sub, Mul, Div} is a set of mathematical operation, so is {And, Or, Not}. Naturally, a SET of mathematical operations should not be patentable since it is not a technological innovation.
a = 22 / 7 * r * r is a SEQUENCE of mathematical operation (in this case, to find the area of a circle). This sequence should be recognized as a technological innovation and thus patentable. However no portion of the patent laws prevent other inventors from finding BETTER mathematical sequences that calculates the area of a circle. In fact patent law is written to encourage this.
Having said this, I think current patent expiry date of 17 years is way too long considering that software moves at internet speeds. A 5-7 year expiry date for software patents would be a better option IMHO.
I've been working with VB in my day job for the past year and one thing that I noticed was how similiar C# is to VB.
I mean, both languages
- compile into byte-code
- require a VM to execute
- garbage collection
- support and essentially need COM to do anything useful
- have strong typing + safety
- have versioning support
- have early binding
- have interfaces
- have built-in events
- have built-in properties
The only difference I see is full OO support that VB lacks. C# is VB + OO extensions! Yay, MS has reinvented VB and renamed it C#.
If you just want to experiment with some machine learning/pattern recognition stuff without too much programming, give Weka a try. It is a suite of open source machine learning algorithms packed in a pretty usable interface.
There is a very important distinction between a SET of mathematical operations and a SEQUENCE of mathematical operations.
{Add, Sub, Mul, Div} is a set of mathematical operation, so is {And, Or, Not}. Naturally, a SET of mathematical operations should not be patentable since it is not a technological innovation.
a = 22 / 7 * r * r is a SEQUENCE of mathematical operation (in this case, to find the area of a circle). This sequence should be recognized as a technological innovation and thus patentable. However no portion of the patent laws prevent other inventors from finding BETTER mathematical sequences that calculates the area of a circle. In fact patent law is written to encourage this.
Having said this, I think current patent expiry date of 17 years is way too long considering that software moves at internet speeds. A 5-7 year expiry date for software patents would be a better option IMHO.
I've been working with VB in my day job for the past year and one thing that I noticed was how similiar C# is to VB.
I mean, both languages
- compile into byte-code
- require a VM to execute
- garbage collection
- support and essentially need COM to do anything useful
- have strong typing + safety
- have versioning support
- have early binding
- have interfaces
- have built-in events
- have built-in properties
The only difference I see is full OO support that VB lacks. C# is VB + OO extensions! Yay, MS has reinvented VB and renamed it C#.