[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