现在Unity在游戏开发中的地位还是辣么的如日中天,而几个月前C#在Unity中变成了官方唯一开发语言。若是让众多游戏开发者看到这个问题,肯定是黑人问号脸,哈哈。
曾经Unity中出现过不止一种脚本语言,有语法类似JavaScript的和类似Python的。但是几年后官方发现,用C#开发的游戏已经占据了绝大绝大多数,用其他脚本的游戏凤毛菱角,所以在新版本中果断放弃了其它语言的支持。
为什么C#会逐步受到大家喜爱呢?我简单谈谈自己的看法。
1、C#有点类似Java,属于一种比较庞大的语言。一开始你会觉得功能太多,但是随着大家用熟了、形成了一些固有的模式,就会感觉到很灵活,很够用。大项目、小游戏、类库都可以搞定,不用切换技术方案。
2、使用方便,容器够用,基本库很多,不用自己管理内存,Exception的设计很科学。需要极端性能的时候也可以申请非托管内存……要啥有啥。
3、C#是静态类型语言,且微软爸爸的.net虚拟机优化很到位,另一种开源虚拟机mono性能也很不错。据测试C#执行时间约是C语言的4倍,lua是C的7倍,Python是C的14倍。大家感受一下。(这个性能测试并不准确,但是语言执行效率的相对关系可以参考。)。
4、C#依然保留了在栈上分配变量的形式,同时支持值类型和引用类型。动态语言和静态语言的优势算是都占上了。
——————————————————————————
个人水平有限,暂且举这四个优点吧。
感慨现在知识大爆炸的时代,每个人都只能看到世界的一角。绝大多数现实都位于人的知识盲区中,比如我们大多数人真的不知道阿拉伯世界人民的真实生活情况,看到的都是新闻里以偏概全的叙述而已【无奈】。
想随便学学C#的可以看B站介个视频,信息点自寻:
|