spyce
home
license
community
download
examples
resources
wishlist
contrib (@sf)
documentation
intro
lang
runtime
modules
tags
install
exits
sourceforge
statistics
freshmeat

transparent transparent transparent
Documentation - Introduction
[[ Spyce ]]
Python Server Pages
by Rimon Barr

Prev: 1.1 - Rationale Up: 1 - Introduction Next: 1.3 - Getting Started

1.2. Design Goals

As a Spyce user, it helps to understand the broad design goals of this tool. Spyce is designed to be:

  • Feature poor: The philosophy behind the design of Spyce is only to include features that particularly enhance its functionality over the wealth that is already available from within Python. One can readily import and use Python modules for many functions, and there is no need to recode large bodies of functionality.
  • Small: There is an active push keep Spyce small, especially the core engine. The engine currently stands at 3600 lines of code. The standard modules comprise another 2000 lines.
  • Modular: Spyce is built to be extended with Spyce modules that provide additional functionality over the core engine capabilities and standard Python modules. New features in the core engine and language are rationalised against the option of creating a new module. Standard Spyce modules are those that are considered useful in a general setting and are included in the default Spyce distribution. Users and third-parties are encouraged to develop their own Spyce modules.
  • Intuitive: Obey user expectations.
  • Convenient: Using Spyce should be made as efficient as possible. This, for example, is the reason behind the choice of [[ as delimeters over alternatives such as <? (php) and <% (jsp). Functions and modules are also designed with as many defaults as possible.
  • Single-purpose: To be the best, most versatile, wildly-popular Python-based dynamic HTML engine. Nothing more; nothing less.
  • Fast: Performance is important. It is expected that Spyce will perform comparably with any other dynamic, scripting solutions available. Of paramount importance, however, is clean design and syntax, and high degree of modularity and usability. The philosophy is to build and tweak only when necessary and only for significant performance gains, tested empirically.

Now, let's start using Spyce...


Prev: 1.1 - Rationale Up: 1 - Introduction Next: 1.3 - Getting Started


© 2002 Rimon Barr
email: rimon AT acm DOT org
Spyce Powered SourceForge Logo [[ Spyce ]]
Python Server Pages
version 1.3.10