|
|
|
|
WANT is currently undergoing a serious overhaul. Here are the goals of the WANT-refurbishing project
that will result in a release of WANT 2.0:
- I WANT the full power of a programming language behind WANTScript. This
means, at the very minimum, support for loops, conditionals, and
subroutines. This is currently completely lacking.
- I WANT to decrease WANT's reliance on declarative mode of programming, in
favor of plain old procedural mode. I am a Pascal programmer, with a
passionate dislike of functional languages and style of programming , even
though I do recognize their power in some applications. Consequently,
I don't WANT to waste mental energy when having to switch to another mode of thinking (declarative) when writing
and maintaining build scripts. WANT is a tool that should not stand in my way.
- I WANT the scripting language of WANT to resemble Pascal in spirit, but
also be an improvement that makes it easier to write build scripts than it
is to write Pascal programs. Otherwise build scripts should be written in
Pascal. This requirement rules out using Pascal itself as the scripting language.
- I WANT the scripts written for WANT to be easily readable and
maintainable. I WANT them to be easily readable and intuitively maintainable
by Pascal programmers. This rules out a language that requires lots of
squiggly-braces or weird symbols. The Pascal-style assignment operator ":="
is as weird as I'm willing to get.
- I WANT to make WANT Scripting uniformly consistent and intuitively
understandable to a programmer, especially a Pascal programmer, so that it
does not take much thought at all to make extensions to even a non-trivial
script. I WANT a Pascal programmer, who has never seen
WANT Script before in his life, to be able to maintain and extend a
non-trivial build script after looking at it for all of 5 minutes.
- I WANT to make WANT easy to extend for a moderately competent Pascal
programmer, making possible the adding of new tasks and elements without having
to consult extensive manuals, the original author, or gobbles of source code to
decipher how it works. Once a programmer knows how one task works, it should
be possible to extend WANT either by incorporating a new task into its code
base, or by hooking up to an external resource, with minimal coding.
- I WANT WANT to be able to easily bind to scriptable COM objects within
Windows directly from the script, without having to create custom wrappers
in Pascal.
- I WANT WANT to remain a single executable for distribution, but to enable
it to hook up into external DLLs containing functions and objects.
- I WANT to improve the readability and structure of the WANT code-base
itself, in order for any programmer-user to be able to easily extend and
tweak it, if needed, without having to consult Juanca or me before each change.
This would probably involve freeing WANT from dependency on some of the
libraries it currently uses.
- I WANT to have fun while refurbishing WANT, and even more fun using it
"in production" afterwards.
Andrew J. Wozniewicz
Milwaukee, June 18, 2007
Last updated August 5, 2008 (cleaned up spelling and made a few minor edits)
|