把字符串当代码运行的利与弊

把字符串当代码运行的利与弊


当前常见的解释型语言都有一个把把字符串当代码运行的函数,比如javascript 的eval,
今天我看到这个函数,不由多想了一下,好像在编译型的语言中没有这个功能,但大部分的
解释型语言都有这个功能。

我不由想到了我还在读书的时候,大约9年前,我与另外一个同学合作用foxpro开发一个学籍管理的系统,
当时我们用这个功能开发了一些强大的可设置的东东,可是而来证明这个是个错误的使用,

对于开发人员来说,不可能像神那样正确,不犯错误,没有关系,编译器和调试器可以帮我们解决最头疼的问题。
但这些代码一旦进入到字符串里面,这些编译检查和调试检查将很难再起作用。

从这里我们也可以看出来为什么强类型检查的语言越来越流行,而解释型的语言大多是弱类型的,
这些语言因而难以担当重任,我也看到许多人说javascript是如何好,但没有强类型检查,就不可能建立
庞大的系统。

这就相当于人类社会的发展,没有复杂繁复的法律并且强制执行,我们怎么能够建立璀璨的人类文明呢?

你可能感兴趣的:(把字符串当代码运行的利与弊)