C#这个语言没出什么问题。现在还被各种语言抄特性,包括不限于:Java、EcmaScript,说明这个语言是非常优秀的。
最后就像几乎所有程序员最终总会熟悉C语言一样(现在一半的程序设计语言有至少一半的基本语法来自于C语言),以后也说不定大部分的程序员被迫熟悉了C#语言,尽管他们还保留着自己的各种优越感。
生态圈问题吧,java用的人这么多,开源库这么多,想做什么都很快很方便啊。选择不同的语言都是有它的原因的,而且这些原因并不总是只取决于这门语言是不是优秀。
前段时间就碰上了这个问题,需要写一个用来仿真基于图论的博弈论的辅助研究工具。那么问题来了,到底用什么语言好呢?
1. 由于是学术上的工具软件,不想太折腾,只要能用起来就行了。
2. 由于需要结合图论和博弈论,查了相关的库和工具,发现用已经提供了图模版的库自己做扩展比较方便。
3. 由于运算量极其庞大,希望能在我不太刻意优化性能的前提下也能保持很好的性能。
4. 希望能比较容易的用分布式计算,比较容易的接入各种并行计算框架里。
综上,基本上就是java最方便了。c++其实也可以做,但是要比java难很多,c#太缺乏生态支持,其它很多语言我不专门优化,性能很是问题。
当然,在写的时候,由于用到了一些范型的东西,还有本来就是学术上的东西嘛,写的要多丑有多丑……一边写我就一边在吐槽java语言的实现是多么丑陋……