Eri*_*ric 6 scripting language-design
在本周几种脚本语言之间来回切换之后,我发现自己在想它们的相似之处.然而,我总是想要谷歌(或现在的SO)来记住细节,例如"instanceof"和"endswith"的本地等价物,或者声明界面的正确语法,或者其他什么.
这让我想起了(人类)语言Europonto.只需选择一些模糊的英语语法和一些模糊的浪漫/日耳曼/斯拉夫语词汇,这一切都很好!
那么如果我们尝试用脚本语言做同样的事情会发生什么.对于今天的Python风格的缩进块感觉如何?精细!想要使用原型对象?好!只记得如何拼写某些库函数的PHP名称?没问题!
无论如何,这是疯狂而疯狂的想法.既然我们需要一个承认具体答案的问题,那就让我们这样收紧:
在创建允许[Python,Ruby,PHP,Perl,shell和JavaScript]的所有本机语法和库函数的脚本语言中,最重要的冲突是什么,这样您就可以在语言之间自由地混合代码块和函数名称?
让我们说任何特定的结构应该在声明级别上保持一致.所以我们允许:
foreach( $foo as $bar )
{
if $foo == 2:
print "hi"
}
Run Code Online (Sandbox Code Playgroud)
但不是,比方说,
foreach( $foo as $bar )
{
if $foo == 2:
print "hi"
endif
end
Run Code Online (Sandbox Code Playgroud)
冲突可能包括:解析器含糊不清; 名字碰撞; 对象或函数或闭包的冲突语义; 我猜这个范围将是一个巨大的问题,但你告诉我.
我将从一开始就将其作为"社区维基"开始,所以如果您认为这是一个有趣的问题但想要使其更加严谨,请随时编辑.
我建议主要问题是识别每个语句的语法应该是什么。
无论如何,这有什么意义呢?几乎所有的脚本语言都具有做同样事情的功能,这就是为什么人们倾向于掌握一种他们一直使用的脚本语言,并坚持使用它。
| 归档时间: |
|
| 查看次数: |
259 次 |
| 最近记录: |