Yet another Continuous/Bindable/Live LINQ?

Mar 28, 2009 at 3:32 PM
It look like there are many projects with same purpose. Continuous LINQ, Bindable LINQ, LiveLinq and now Obtics.Can you explain why there is four? Why Obtics? Is it not be better to work together?


Mar 28, 2009 at 4:14 PM

Hi Maarten.

Yes, I know about Bindable- and Continuous LINQ. I must say I didn't know about LiveLinq. I just googled it.

Obtics isn't that new. If you look at the history it has been around on CodePlex for quite a while already and the first ideas where conceived back in 2006. Obtics, like BLinq and Clinq, tries to create live Object LINQ queries. Obtics wants to do more; not just Linq. (That is why there is no 'LINQ' in the name). Obtics tries to create live expressions, including live Linq queries. So even 'simple' statements like a + b * c can yield a live and bindable result.

Naturally I have been keeping an eye in Bindable- and Continuous LINQ. Those libraries are light and fast. But I think Obtics can crunch a whole lot more complex queries/expressions. If you can't get it to work with BLinq or CLinq you should try Obtics :-)

About cooperation I completely agree. It seems a shame to invent the same ideas 3 - 4 times. I already tried to get in contact with the Bindable LINQ team. Possibly I did that a bit too clumsy. I should try again one day.


Apr 2, 2009 at 7:15 PM

Ok, thanks for your answer.

But is that not what binding would do? So Continuous LINQ + Bindings = Obtics?




Apr 3, 2009 at 4:00 PM
Hi Maarten,

No, I don't agree with your last statement that Continuous LINQ + Bindings = Obtics.

Obtics doesn't create bindings. You can't specify a target to a value or collection transformation. Rather it creates live values or sequences that you can bind to.
a + b * c is a very simple example for an expression. Probably too much so. Obtics can take practically ANY expression and convert it into a live form (with some limitations concerning inner lambda functions).
These live expression themselves can be easily chained to create even more complex live formulas. You can't do that using bindings, at least not in an easy way.

I have a small raytracer technology demonstration. Though it is not the way obtics should be used, it shows what the static to live expression converter can do. If you can recreate the same example using bindings in just ten times the ammount of code I'll agree that there is little use to Obtics.