Standards not standard

D

Dark Cowherd

Hi,
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
same standards.

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.
 
M

Mike Meyer

Dark Cowherd said:
Being able to write a usable GUI is key task for all programmers today

No, it isn't. I'm a programmer. I never get paid to write usable
GUIs. Most of my programs don't have a GUI at all. For those that do,
I get paid to write a functional GUI. Clients that want a usable GUI
are told up front they'll have to pay someone else - who may not be a
programmer - to provide that. If you said "most" - well, I still
don't think I'd agree with you, but at I wouldn't have so directly
disagreed. The team I'm currently working on has about a half dozen
programmers, only one of whom needs to be able to write a usable GUI.

Now, when it comes to writing tools for me, I've written some things
that have what I consider to be *very* usable GUIs - much more usable
than anything I've ever seen on a Mac or Windows box. But gods forbid
end users should ever have to deal with them.
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.

PyQt has this kind of functionality. I first saw it in boopsie, back
in the late 80s. It is pretty cool.
I really think that the community needs a lot more of STANDARDS not
a STANDARD GUI

Standards happen in one of two ways. Either an 800-lb gorrilla
establishes them by fiat, or a group of people interested in having
their code play well together hashes out something after they've all
taken a crack at implementing it. The latter is slowly happening in
the Python community. But it's a slow process.

<mike
 
D

Dark Cowherd

I really think that the community needs a lot more of STANDARDS not
Standards happen in one of two ways. Either an 800-lb gorrilla
establishes them by fiat, or a group of people interested in having
their code play well together hashes out something after they've all
taken a crack at implementing it. The latter is slowly happening in
the Python community. But it's a slow process.

<mike
--
OK let me talk in specifics instead of abstractions.

Lets take a GUI. Consider something like wxGlade or XRCed which
generates a XML resource file and then wxPython works from it.

Suppose the python community works on defining a standard XML resource file..

Then all wrappers for GUI libraries in Python can optionally support
this XML resource file.

So if you are unfortunate enough to have to develop GUI applications
:) you use the standard XML resource file and pick the wrapper and
the toolkit that you like.

Then for some reason - you have to switch wrapper or toolkit - you
dont have a major crisis, you only have a minor crisis. ;-)

Of course the wrappers and toolkits are free to provide additional
functionality which the developers using those toolkits may or may not
choose to use.

I think this is what has happened with the DBAPI 2.0 for e.g.
kinterbasdb provides DBAPI 2.0 compliant methods for access to
firebird and also other non-standard methods. This is a GOOD THING and
my suggestion is that this GOOD THING must propogate into other areas
like GUI and the Web Toolkits.
 
M

Mike Meyer

Dark Cowherd said:
OK let me talk in specifics instead of abstractions.

Lets take a GUI. Consider something like wxGlade or XRCed which
generates a XML resource file and then wxPython works from it.

Suppose the python community works on defining a standard XML resource file.

Then all wrappers for GUI libraries in Python can optionally support
this XML resource file.

So if you are unfortunate enough to have to develop GUI applications
:) you use the standard XML resource file and pick the wrapper and
the toolkit that you like.

Then for some reason - you have to switch wrapper or toolkit - you
dont have a major crisis, you only have a minor crisis. ;-)

Of course the wrappers and toolkits are free to provide additional
functionality which the developers using those toolkits may or may not
choose to use.

I think this is what has happened with the DBAPI 2.0 for e.g.
kinterbasdb provides DBAPI 2.0 compliant methods for access to
firebird and also other non-standard methods. This is a GOOD THING and
my suggestion is that this GOOD THING must propogate into other areas
like GUI and the Web Toolkits.

Good idea. Are you willing to write the standard, and at least one GUI
toolkit implementation to show that it's workable?

<mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top