Q&A of Icwri Script
Q: What is the major purpose for you to develop this scripting language?
A: I have 3 purposes at the initial stage:
- I want to make the people with very little programming knowledge to be capable of writing simple applications to enforce and monitor some business rules.
- I want to help Java developers to make application tools (e.g. security tools, formatter tools, communication tools, test tools, etc.) in ease.
- The configuration for a complex application is usually with command line, properties file, and XML. All of them are not flexible enough. Icwri Script is a good tool to customize the application.
Q: What is the generic considerations of Icwri script:
A:
- Icwri script is case sensitive.
- Character ":" (colon) is used for assignment in stead of "=" (equal sign) to avoid confusion. In Icwri script character "=" (equal sign) is just an operator to compare two value of constant or attribute.
- Character "`" (backticks) is used to enclose a constant string instead of quotation marks or apostrophe.
- It is not required to put statement in one line. Statement must be ended with character ";" (semicolon).
- Prefixes are used to distinguish keywords. In Icwri script all words except constant and operators (e.g. "+", "-", ">" ...) must have a prefix. For example: service names are all prefixed by character “!”; Icwri commands are all prefixed by character “%”; attributes are prefixed by character "@"; aliases of attributes are prefixed by character "$".
Q: What is the advantage of so called SOA style programming in Icwri Script?
A: The first advantage I think is loose-coupling. The service implementation can be totally different. Only the attribute names are fixed. The second advantage I think is that the same service can be used by entry-level users and advanced users at the same time. You can remove some advanced attributes of the service in the manual for entry-level users.