[Zope3-dev] Number of languages in Zope 3

Steve Alexander steve@cat-box.net
Mon, 31 Mar 2003 12:34:48 +0200


Chris Withers wrote:
> 
>> Someone who wants to install Zope will need to know the simple 
>> configuration language (ZConfig). And that is all.
> 
> What class of user will _only_ want to install Zope?

A system admininstrator. The same user who will want to install an RDBMS 
on a system for use by database administrators. This person doesn't need 
to know SQL. This person doesn't need to know Python or ZCML.


>> Someone who wants to write their own product will need to know a 
>> programming language (Python), perhaps a templating language (Page 
>> Templates) and a complex configuration language (ZCML).
> 
> What are the benefits of needing to know three as opposed to two 
> languages here?

Which language would you use for two purposes?


>> Someone who wants to write templates will need to know a templating 
>> language (Page Templates or DTML or both).
> 
> Under what circumstances would they need to know more than just the 
> templating language in order to produce such templates?

When they want to do more than write templates.


>>  > Why do you consider that a desirable goal?
>>
>> I need an answer to this question before I can make sense of what 
>> problem needs to be addressed.
> 
> Simplicity is always better. Having to know extra languages definitely 
> reduces simplicity!

I know Python. I don't think that configuring Apache on my server in 
Python rather than in the Apache configuration language would make that 
configuration file simpler.

Simplicity is an emergent property of a system. It is more to do with 
the relationships between the parts of the system and how well those 
parts fit together than the number of different things you have in a system.

 > Simplicity is always better.

Except when it is not:

   When you want something that cannot be achieved without
   extra complexity.

 > Having to know extra languages definitely reduces simplicity!

Reduces in comparison to what?
You are not making a clear argument. Instead, you are appealing to rhetoric.

If I know only the language Python, and I have a complex Apache 
configuration file written in Python, then someone shows me that the 
file can be smaller and easier to comprehend and more maintainable if I 
write it in Apache configuration language, then using this language 
definitely increases simplicity.


>> If you want to fully understand a project written in the ".NET" 
>> framework, you may need to know all of these languages, plus the 
>> configuration language that .NET uses.
>>
>> http://msdn.microsoft.com/vstudio/partners/language/default.asp
>>
>> How many languages do you count there?
> 
> A lot. Why are we aspiring to be .NET?

I think we aspire to make a framework that can be used in place of .NET, 
in the sense that I would like to see Zope companies tendering for 
contracts, competing against .NET companies.

--
Steve Alexander