[Zope3-dev] Number of languages in Zope 3

Chris Withers chrisw@nipltd.com
Tue, 08 Apr 2003 07:59:51 +0100


Steve Alexander wrote:
>>
>> What examples are there of successful frameworks that require the 
>> knowledge of two config languages, two templating languages and a 
>> scripting language?
> 
> The OpenACS system is made up of OpenACS, AOLserver and either Oracle or 
> PostgreSQL.

What are the languages that would need to be known in this setup?

> The OpenACS framework requires knowledge of the configuration languages 
> of Oracle or Postgres, of AOLserver and of your chosen RDBMS.

When do "Oracle or Postgres" and "your chosen RDBMS" not equate to the 
same thing?

> If you want to use stored procedures, you have the choice of all the 
> languages that PostgreSQL allows you to use.

Yes, but you can add these to the six currently needed in Zope 3 if you 
want to use PostGres in Zope 3 as stored procedures aren't _required_ by 
either framework...

> You'll need to use Tcl, as 
> that's what AOLserver and OpenACS use. You'll need to use SQL. It is 
> common to extend AOLserver in C. 

What evidence do you have to support that hypothesis?

> AOLserver has its own templating system.

So, I count needing to know TCL and AOL's templating system.
The SQL issue raises a good poit for me: all six of the languages needed 
for Zope 3 will be new ad never before seen languages for the majority 
of people who use them. That certainly isn't true for SQL, and many 
would argue for C either...

> People also use the add-on XSL-T module. I'm not sure whether to 
> classify that as a templating language or a programming language.

People also use things like JPE and PyPerl with Zope. This is what I'd 
class as a really optional language and not something I'm concerned about...

> I don't actually use ACS so I might be a bit inaccurate in what I said 
> above. If so, perhaps someone more knowledgeable can correct me.

As far as I can see, you only need to know one config language, one 
scripting language and one templating language to make pretty full use 
of the OpenACS setup you describe...

cheers,

Chris