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