I have quite a specific requirement: Some time ago I developed an application for managing motion-control hardware (robotics, automation in general). The main functions of the applications are: hardware configuration, programming motion paths and monitoring the status. The application provides a scripting interface based on TCL. From some points of view TCL is perfect for that purpose - multithreaded, embeddable, concise and supports dynamic scripting to an extreme. The dynamic scripting feature is especially important, as it is heavily used throughout the application.
Examples:
- reading/writing configuration parameters
- interactive commandline/console interface for device operators (remote console)
- networked communication (script commands are sent through network and executed on server)
- monitoring arbitrary parameters (server periodically executes a script that collects the data, and the script to execute is sent from the client application)
As you can see, it is essential that the script supports eval.
The main problem with TCL is its syntax. It is completely unintuitive for engineers, and what they would rather use is BASIC-like language.
Best regards,
RG