答:Tcl/Tk 的发明人是伯克利大学的教授John Ousterhout,八十年代初,在教学过程中,他发现在集成电路CAD 设计中,很多时间都花在编程建立测试环境上。 并且环境一旦发生了变化,就要重新修改代码以适应。 这种费力而又低效的方法,迫使 Ousterhout 教授力图寻找一种新的编程语言,它即要有好的代码可重用性,又要简单易学,这样就促成了 Tcl (Tool Command Language) 语言的产生。
答:一个解释器,通常会用以下的姿势来执行程序代码:分析源代码,并且直接执行;把源代码翻译成相对更加高效率的中间码,然后立即执行它;执行由解释器内部的编译器预编译后保存的代码。 所以 Tcl 的 Interp 是一个解释器,就像一个黑盒子,输入 Tcl 语法规则的命令,经过这个黑盒子立即返回结果。
答:Tcl 命令和数据基本可以混用,方便数据和命令在同一程序中混合。 基于上面一点,命令可以是字符串,是数据也是命令,方便应对各种场景。 逻辑层可以方便与数据层分开(软件设计思想方面,Tcl 可以应对当下的各种流行场景)。
答:从图中可以了解到一个很重要的概念,输入到Tcl的所有交互指令或者其他接口都被认为是文本,按一定的顺序进行Parsing。 这个特性在某些应用场景变得很有用,命令也是数据,某些其他语言在命令和数据方面的互通性更好。 EDA软件对Tcl的支持现在已经到了8.6,由于其扩展性好,调试简单,C接口友好,使用者学习成本低,这些都是商用软件的价值所在,更重要的是开源,免费。