Standards not standard
darkcowherd at gmail.com
Mon Aug 1 07:03:12 CEST 2005
Multiple threads running currently about reinventing the wheel,
Multiple GUI's etc.
Being able to write a usable GUI is key task for all programmers today
- read. ESR's http://www.catb.org/~esr/writings/cups-horror.html
And look at ESR's reason to come over to Python - he wanted to write a GUI !!!
I love the Delphi Environment and the Python language.
So I would like to share here why I find the Delphi environment so productive.
They have taken key concepts and defined standards for them and
shipped a default implementation.
To illustrate -
They have the concept of a TDataset which is sort of like a cursor in
the DBAPI. They have their default implementations but ANYBODY can
write their own class which is TDataset compatible.
Then they define how widgets should interact with TDataset. Now
anybody can write a widget which interacts with any TDataset.
So this means that anybody can write a widget and know that it will
work with any Dataset.
There are literally hundreds of open source projects using Delphi -
You can take any open source widget that you like and hook it up with
any open source TDataset that you like. It will work first time
without any problem.
And a sort of MVP is inbuilt.
You can for example tie a dataset with a chart and grid on the same
screen. Type in the grid and see the chart change. All this with zero
code. Made my eyes bug out the first time I saw this.
Wishful thinking here about Python.
Suppose I like templating system from framework A. but prefer
framework B. What if I could drop the existing templating in Framework
B and use the templating from A.
Somebody pointed out Java is just as "bad' with lots of Web frameworks
but the key here as mentioned in
http://www.python.org/peps/pep-0333.html is interoperability.
I think the Python community did a great job with DBAPI 2.0 Rather
than more code projects the community should work towards putting
interface standards in such a way that for e.g. I could use Zope's
templating and twisted as framework and kinterbas for data access and
it should all work together because all of them are writing to the
The language is so elegant with introspection and mixins and so many
other things. And nowdays the pattern community has helped us all
focus so much on designing for interoperability. I really think that
the community needs a lot more of STANDARDS not a STANDARD GUI
Just my thoughts.
More information about the Python-list