为什么脚本(动态)语言没有指针?

时间:2014-05-13 00:16:32

标签: php python ruby perl pointers

我想知道为什么脚本语言(python,php,ruby,perl)没有像C / C ++,Objective-C这样的指针?

4 个答案:

答案 0 :(得分:5)

因为指针虽然非常通用,却是一种令人痛苦的错误来源。高阶语言的重点是将危险或冗长的结构抽象为更安全和更短的结构:为了便于开发,你需要交易权力。因此,例如,动态语言中的数组都知道如何分配自己,释放自己,甚至自己调整大小,因此程序员不需要担心它(并且不能搞砸它)。除非我们真的想控制处理器的每个循环,否则我们通常不会在汇编程序中进行编程,这也是同样的原因:太冗长,太容易出错(这就是为什么C / C ++,Objective-C和等等存在于第一位)。动态语言向同一方向迈进了一步。

答案 1 :(得分:0)

问题太笼统也在Stackoverflow上得到解答。 但答案是 - 脚本语言尽可能地与硬件无关。这包括不了解RAM结构和内容。

答案 2 :(得分:0)

答案 3 :(得分:0)

这两个类别之间的主要区别在于脚本语言不一定以直接的方式处理诸如内存之类的事情。在您的C语言中,您有内存,必须分配和管理它。但是,在PHP中,您通常不直接管理内存(在大多数情况下,内存使用对程序员来说是透明的)。底层软件为您完成此任务。因此,完全可以在不知道机器级代码,malloc等的情况下编写软件。