C#语言名称的由来

我是C和C ++程序员,现在正在学习C#。 我已经买了Wrox出版物专业C#的书。

从C到C ++的迁移中,我怀疑为什么在C中添加了++ 。后来我意识到,由于++是一个增量操作符,为了提供“面向对象的扩展”,它被添加到C中。

在C#中,#的意义是什么?

“C sharp”这个名字的灵感来源于音符,其中一个尖锐的音符表示书写的音符应该在音高上半步。[6] 这与C ++的语言名称相似,其中“++”表示一个variables应该增加1.尖形符号也类似于四个“+”符号的连字(在一个两乘二的网格中),进一步这意味着该语言是C ++的增量。

由于显示器(标准字体,浏览器等)的技术限制以及标准键盘上不存在尖锐符号(♯,U + 266F,MUSIC SHARP SIGN)的事实,数字符号(#,U + 0023 ,NUMBER SIGN)被选为代表编程语言的书面名称中的尖锐符号[7]。 这个约定反映在ECMA-334 C#语言规范中。 3然而,当这样做是可行的时候(例如,在广告或盒子艺术中),微软使用了预期的音乐符号。

从维基百科 。

另外,在这次访谈中 ,安德斯·赫尔斯伯格说:

“我们希望在这个名字中引用该语言的C遗产,并最终落户于C#。我记得的其他一些候选人是eC,C,C,C,C, …现在看来,我很满意我们的select。“

最后, Naomi Hamilton直接问Anders Hejlseberg这个问题 :

[NH]为什么最初命名为Cool的语言,以及促进了对C#的改变?

[AH]代号是Cool,代表“面向对象的语言”。 我们很喜欢这个名字:我们所有的文件都被叫做.cool,那真是太棒了! 我们认真考虑保留最终产品的名称,但从商标的angular度来看,这是不可行的,因为那里有太多有趣的东西。

所以命名委员会必须开始工作,我们有点喜欢这里有一个固有的C参考的概念,在C ++上有一个小小的文字游戏,因为你可以把这个尖锐的符号看作四个加号,所以它是C ++++ 。 音乐方面也很有趣。 所以C#就是这样,我真的很高兴这个名字。 这对我们很好。

鉴于这是一个程序员的网站,列出“真实姓名”是微软程序员在项目上工作时使用的名字,这也许是有趣的。 在CLR(Rotor),SDK头文件和Reference Source的源代码中,这些名称往往会出现,比如考古logging。

C#最初是COOL(C-like Object Oriented Language)。 Rotor makefiles显示早期的C#代码可能已经写入了扩展名为.cool的文件。 但是,也有几个地方被命名为COOLC。

CLR有几个名字。 它起初是在Windows 2000的COM +上工作的一个项目,在CLR源代码中有很多对“ComPlus”的引用。 托pipeexception的exception代码是0xe0434f4e,0xe0 +“COM”+1。 在WinError.h文件中,CLR错误代码使用“URT”,“通用运行时间”。 收缩“Cor”出现在主机接口“COM Object Runtime”的许多地方。 CLR源代码通常使用EE的缩写,与COR不同,是执行引擎的简称,也是CLR代码库中的一部分变更,以使其能够执行托pipe代码。

内部项目名称我见过:

  • Rainier:Visual Studio 2002
  • 埃弗雷特:Visual Studio 2003
  • Whidbey:Visual Studio 2005
  • Orcas:Visual Studio 2008
  • 夏威夷:Visual Studio 2010(非常早)
  • 转子:CLR的共享源版本
  • Avalon:WPF
  • 靛蓝:WCF
  • 育空地区:SQL Server 2005
  • Katmai:SQL Server 2008
  • Strike:一个自定义的debugging器扩展,用于debuggingCLR的第一个版本,演变为SOS(Strike of Son)。

1991年,Al Stevens在Dobbs杂志(DDJ)上介绍了D-Flat; 一个基于DOS的事件驱动框架,用于构build用户界面(请参阅http://www.ddj.com/184408553 )。 当时,D-Flat是用C编写的,因为Al Stevens为DDJ编写了C编程专栏。 C ++这个名字已经被采用了,他曾经考虑过C-Sharp,但是确信有人已经想到了它(参见http://www.ddj.com/184410858 )。 我的观点是,Al Stevens一直在考虑C-Sharp这个名字,因为D-Flat不是一时兴起,他有很多语言经验。

看看这个解释: http : //www.jameskovacs.com/blog/CNETHistoryLesson.aspx

C#的名字是音乐的启发。 这是一种C风格的语言,它是C / C ++之上的一个步骤,其中sharp(#)表示音符上方的半音。

“#”实际上是一个音符符号 – ++表示C ++是C递增,#表示C ++递增,或者C ++++; 一种C语言的语言,提供更高级别的function。

看看这个维基百科的文章 。

这只是一个名字。 #字符取自音符,意思是C#(C sharp)在C以上一半。

C#部分基于C / C ++,还有Java和Pascal(Delphi)。 像Java一样,C#是一种面向对象的语言,而C ++和Pascal是过程语言,增加了面向对象的function。

C#是一个音乐的启发命名,也有复调C#

“#”实际上是一个音符符号 – ++表示C ++是C递增,#表示C ++递增,或者C ++++; 一种C语言的语言,提供更高级别的function。

除了其他地方提到的音乐参考资料外,请注意“♯”和“#”看起来像是两个重叠的“+”符号。

最后,虽然这是一个营销决定,而不是技术性的。

(顺便说一句,当时我们认为这是一个糟糕的select,因为search引擎会忽略“特殊”字符,而你会得到'C'的结果,现在search引擎更聪明了。

以及c ++与“面向对象的扩展”c,另一方面c#不是只基于c语法,是面向对象和编译为msil,而本机c ++编译为本地二进制代码…