> From: Dan McGrath > 1) By having to pay for something as elemental as > language bindings... > > 2) How do create a language binding for U2 without several issues...
Dan, I believe my notes were misunderstood. To your point #1: When I talk about someone paying for coding, I didn't mean language bindings would be a for-sale product. I thought all of the notes about this being a community project made that clear. I'm saying language bindings can be FOSS, but people shouldn't be asked to starve in the name of creating and supporting FOSS for the benefit of everyone else. To your point #2: I fully agree that "properly done", language bindings should come from the company, with proper security, etc. But we all know that won't happen. So here we are into yet another decade of Pick where we can either lament about all the things that should be done by the vendors, or we can do what we can and work with the constraints. When people create language bindings for a package like cURL, they don't talk about how inherently insecure protocols are. The point is that people need to use the protocols as they are with the languages they prefer. Let's get to that point, while still working with the DBMS vendors on better pipes and better security. These are separate initiatives. Let's not let every extension to the environment be left undone by "us" because there are some features not implemented by "them". For reference, the language binding interface that I've created exposes a single API for all MV platforms. This can be used by all languages with minor variation for syntax differences. By definition of the project, connectivity to the DBMS is abstracted within the components that implement the language-specific implementation. In other words, a given language binding itself defers DBMS connectivity to yet another layer of abstraction. This allows a single language binding to be connected to any MV database, using any available connectivity tool. This gives us permutations like: Ruby>UOJ>Universe PHP>UOJ>Unidata Haskell>jRCS>jBase Haskell>UOJ>Universe Eiffel>mv.NET>Reality Eiffel>QMClient>QM Lisp>mv.NET>mvBase Perl>QMClient>QM Perl>UOJ>Unidata Smalltalk>UO.NET>Universe All of this is intended to be free and open source so that all of us have the FREEdom to fix and enhance individual bindings for the greater good. In the name of performance, any language binding can support a more direct connection to any DBMS of choice, as long as the API exposed to client code doesn't change. Consumers of these bindings can then choose to use platform-independent bindings or platform-specific bindings. Most people here don't care about Reality or mvBase, don't care about QMClient or mv.NET, and don't care about Eiffel or Smalltalk. That's fine. Once the API is defined, different groups of people can focus on their preferred interfaces. But right now absoilutely none of the above interfaces exist for any MV platform. I'm hoping we can get from nothing to something, and it's entirely possible, without everyone deferring to the DBMS companies to do everything for us. Maybe it's time for me to publish something more official on this? Regards, T _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users