在PHP和其他一些脚本语言中有$var
语法,而Java和其他语言我们只能做var
。
背后有什么理论吗?它有助于他们解析。如果不是,他们为什么会选择在前面加一个额外的角色?
在PHP和其他一些脚本语言中有$var
语法,而Java和其他语言我们只能做var
。
背后有什么理论吗?它有助于他们解析。如果不是,他们为什么会选择在前面加一个额外的角色?
我的理论是,像php这样的脚本语言会需要一些方法来继续运行,即使引入了一个新的保留字,比如php4 - > php5有catch添加。由于语言的变化,因为它是一种脚本语言,任何被捕获为变量名的网页都不会死亡。
这是不是与编译语言,因为一切都转换为二进制,并在语言中的任何更改将不会影响已编译的程序
像Python这样的解释性语言没有任何可变的前缀。向后兼容性中断更改一直持续到该语言的下一个主要版本。 – badp 2010-02-13 13:35:48
Perl有**和**编译。当然是字节码,但是'C#'又是这样。你应该真的把*编译*改为* static *,因为它更准确。 – 2010-02-15 14:42:11
一个问题,因为常数和保留字来而不$东西
不要试图比较编程语言的语法......他们是正确的如此不同。 :)
因为某些语言是特别丑陋的脚本编写的工具,并且使用愚蠢的技巧来提醒“解析器”它有工作要做。
和其他语言是真实的语言设计工作所用真实变量名,而不是丑陋的宏观语法...
的一个使用$
是Perl的相当得体的语言,但我可能会指出,Perl6放弃了它。
由于其根源在于在Perl:PHP History
对于低调选民:你想借一个简短的说明为什么? – 2011-02-24 08:38:59
Perl的根源在于shell脚本。 – mob 2011-11-09 22:34:07
这里是一个proposed explanation as to why PHP uses $。它显示了原始脚本的序列,例如awk,通过Perl将PHP用于Perl。
可能最初用于使语言的解析更容易。
为什么鸟突然出现? – cletus 2010-02-13 12:31:37
每一次...你接近 – 2010-02-13 12:35:51
某些语言使用缩进一些括号...这就是为什么所有语言都有语法差异...在PHP之前,变量相同$ – 2010-02-13 13:30:05