Forum OpenACS Q&A: Response to A Template-Based ACS

Collapse
Posted by Brent Fulgham on
I don't think either Titus or I ever suggested that we wanted to force Python on anyone.  We have a goal of extending the AOLserver with Python (now partially completed), and it seemed that Python had some features and techniques that might make it easier to resolve some of the shortcomings with the ACS's architecture.

Ben -- I absolutely will spend more time learning Tcl.  However, increasing the performance and thread safety of the Python engine is (to me) a more interesting problem, and one that I started independently of the ACS.  This work will continue.

However, I recognize that the ACS is the most powerful Open Source toolset available for developing web sites.  Perhaps Zope has some useful features, perhaps not.  I do know that the only "large scale" websites that I know of using it have only a fraction of the functionality of even the ACS/pg sites (which don't fully implement the ACS stuff yet).

I am reminded of the "UNIX way", which has always been to use lots of small tools that do a particular job very well.  Perhaps Tcl is that tool for the ACS.  Perhaps Python might be a very useful tool as well.  Perhaps the ACS would be most useful if we used both.  I can't say.  I do know that your average UNIX Sysadmin must know lots of little tools.  No one says "I'm only going to use shell scripting.  No AWK or SED for me".  It would be laughable.  So I'm not sure it would be as crazy for a website architect or administrator to need to know Python as well as Tcl.

Furthermore, we can draw a distinction between some sort of mythical Object Oriented framework written in Python that uses Tcl, which organizes and coordinates the various Tcl/adp pages, and the Tcl/ADP themselves.  We don't complain that you have to know C to modify the AOLserver engine, do we?  Why complain if another loadable AOLserver module is written in Python?

At any rate, I just want everyone to know that we don't want to cause a language war and that was never our intent in starting PyWX.  I would prefer to talk about what we *can* do to make the ACS more modular.  Since this thread is getting quite long, maybe I'll post under a new topic.