正如标题所说,我只是有点好奇......我已经看到一些欧洲的开源项目发布了源代码,但它在语法上完全相同。中文或日文或其他更复杂的基于字符的语言如何?.net源(C#,VB.net)在其他(非英语)语言中看起来如何?
更新:这是有点误导我猜。我问的是C#,VB.net,甚至F#等“传统”.Net语言。我现在明白,有一些新的.Net语言主要是为支持非英语书面和口语语言而创建的,他们与用VB.net和C#编写的类似源代码很不一样。
我会尽力为少数人投票,并将我的预期问题的答案标记为答案。
正如标题所说,我只是有点好奇......我已经看到一些欧洲的开源项目发布了源代码,但它在语法上完全相同。中文或日文或其他更复杂的基于字符的语言如何?.net源(C#,VB.net)在其他(非英语)语言中看起来如何?
更新:这是有点误导我猜。我问的是C#,VB.net,甚至F#等“传统”.Net语言。我现在明白,有一些新的.Net语言主要是为支持非英语书面和口语语言而创建的,他们与用VB.net和C#编写的类似源代码很不一样。
我会尽力为少数人投票,并将我的预期问题的答案标记为答案。
关键字是英文的,所以大部分的代码是任何语言相同。有些人使用本地语言来标识名称,其他人使用英语也使用英语。
下面是一些代码会是什么样子与瑞典标识符的示例:
public class StenSaxPåse {
public enum Värde { Papper = 0, Sten = 1, Sax = 2 }
private Värde _värde;
public StenSaxPåse(Random slump) {
_värde = (Värde)slump.Next(3);
}
public bool SammaSom(StenSaxPåse andra) {
return _värde == andra._värde;
}
public bool Slår(StenSaxPåse andra) {
return
(_värde == Värde.Papper && andra._värde == Värde.Sten) ||
(_värde == Värde.Sten && andra._värde == Värde.Sax) ||
(_värde == Värde.Sax && andra._värde == Värde.Papper);
}
public override string ToString() {
switch (_värde) {
case Värde.Papper: return "PAPPER";
case Värde.Sten: return "STEN";
default: return "SAX";
}
}
}
句法相同。编程语言在语法上应该是通用的。
这就是说 - 他没有指定任何具体的语言。我刚刚添加了几个针对.NET的非常不同的外观语言的示例以供我回答;) – 2010-09-23 19:32:09
@Reed Copsey - 但这些语言本身都是一种新语言,拥有自己的语法(显然, )正确吗? – 2010-09-23 19:42:51
@Justin:但那些仍然用于“.net源码”...如果你用C#或VB.NET编写代码,它当然会使用相同的语法:) – 2010-09-23 19:43:44
这当然取决于语言。
单个语言的语法和规则不会改变。例如,无论开发哪种语言,C#仍然会使用相同的字符和关键字。但是,变量名称等允许使用(几乎)任何Unicode字符,这意味着其他语言的用户可以使用非英文名称。这就是说,没有什么能够阻止人们使用本质上不是英语的标识符来制作新的.NET语言 - 例子包括Lexico,Hindi Programming Language和Farsi.NET。
下面是来自Lexico site一些示例代码:
incluya "System.Windows.Forms"
clase ventana derivada_de "System.Windows.Forms.Form" { publicos: mensajes: ventana copie "Este es el título de mi primera ventana" en ventana.text }
'对于モウ= 1〜モ.Count'? – 2010-09-23 19:30:58
另请参阅http://en.wikipedia.org/wiki/Non-English-based_programming_languages – Brian 2010-09-23 19:33:00
可能重复的[你使用另一种语言,而不是英语?](http://stackoverflow.com/questions/250824/do-你用另一种语言,而不是英语) – Brian 2010-09-23 19:34:05