Subject | Re: [Firebird-Architect] why KinderbasDB and Jaybird over the wire? |
---|---|
Author | Pavel Cisar |
Post date | 2009-08-06T15:19:44Z |
woodsmailbox napsal(a):
KInterbasDB is implemented partly in Python, partly in C. The C
extension module is an obstacle to run KDB on various platforms, that
include not only various operating systems, but also Python versions
(3.x line) and implementations (Jython or IronPython to name a few). It
also complicates distribution (nothing can beat single source
distribution that runs everywhere and without special dependencies).
However, the strategy was changed some time ago, as ctypes evolved into
viable interface to external libraries supported by all main Python
implementations across platforms. Reimplementing the diver in pure
Python using standard ctypes module on top of fbclient is also more easy
:-) and would not discard embedded engine. The "client-less" version may
follow after ctypes, if there would be serious need or interest from users.
best regards
Pavel Cisar
IBPhoenix
>The answer is simple: portability and to some extent maintainability.
> I'm wondering why the decision to reimplement KinderbasDB over the
> wire and skip fbclient? Is this python specific or fbclient specific?
> That is, is there something you can't do with fbclient? Same question
> goes for Jaybird.
KInterbasDB is implemented partly in Python, partly in C. The C
extension module is an obstacle to run KDB on various platforms, that
include not only various operating systems, but also Python versions
(3.x line) and implementations (Jython or IronPython to name a few). It
also complicates distribution (nothing can beat single source
distribution that runs everywhere and without special dependencies).
However, the strategy was changed some time ago, as ctypes evolved into
viable interface to external libraries supported by all main Python
implementations across platforms. Reimplementing the diver in pure
Python using standard ctypes module on top of fbclient is also more easy
:-) and would not discard embedded engine. The "client-less" version may
follow after ctypes, if there would be serious need or interest from users.
best regards
Pavel Cisar
IBPhoenix