C# 登顶!超越Java或非空想

整理丨诺亚
出品 | 51CTO技术栈(微信号:blog51cto)
近日,TIOBE编程社区公布年度编程语言,此次摘得这一桂冠的是C# 。
这也是C#在TIOBE二十多年评选历史中首次赢得这一年度大奖 。C#虽然长年稳居编程语言排行榜前十,但存在感并不如四大“金刚”——Python/ target=_blank class=infotextkey>Python、C、C++和JAVA那么高,所以称得上是一匹黑马 。

C# 登顶!超越Java或非空想

文章插图
图片
截图来自TIOBE社区:近五年来 , 年度编程语言奖获奖语言列表
1、不算黑马的黑马C#是微软推出的专为.NET开发设计的面向对象编程语言,其发展史可以追溯至1999年 。
彼时,天才程序员安德斯·海尔斯伯格带队开发一种名为Cool的语言 , 所谓Cool , 即“C-like Object Oriented Language” 。后来由于种种原因,微软在2000年公布.NET项目时,这门语言也被更名为C# 。
这一名字的灵感来源于五线谱,在五线谱中#表示升半个音 。从字面来理解,C#即C++++,其设计初衷是成为C++的超集,因此从1.0版本就设计了指针、结构体等底层特性,既能与C/C++高度兼容,又具备与Java虚拟机同样强大的自动内存管理能力 。
在多年发展中,C#固然经历诸多版本变化,但一直在稳定发展 。尤其在2014年 , 微软宣布.NET平台全技术栈开源后,C#的地位更趋稳固 。
回顾2023年全年走向,C#正在低调逼近四大主流语言 。这门语言最终以1.43%的年上升幅度傲视群雄,获奖可谓实至名归 。年度份额增长幅度紧随其后的亚军是Scratch(增长0.83%),季军是Fortran(增长0.64%) 。
C# 登顶!超越Java或非空想

文章插图
图片
Tiobe首席执行官Paul Jansen表示:“C#正在从Java手中夺取市场份额 , 并在诸如Web应用程序后端和游戏开发(尤其得益于Unity引擎)等领域变得越来越流行 。”在他看来,“C#已稳固其地位,未来甚至可能超越Java” 。
2、暗流汹涌的排名变化另外值得一提的是,TIOBE指数并非衡量最佳编程语言或编写代码行数最多的语言,而是体现编程语言的受欢迎程度 。这也是榜单排名与个人体感不甚一致的原因 。
该指数基于全球范围内熟练工程师的数量、相关课程以及第三方供应商情况来制定排名 。通过google、Bing、Yahoo!、Wikipedia、Amazon、YouTube和BAIdu等主流搜索引擎的数据来进行评分计算 。
【C# 登顶!超越Java或非空想】除了C#以外 , 去年TIOBE指数还发生了不少有意思的变化 。
在榜单前二十名的“常客”里,Fortran和Kotlin踢走了昔日热门R和Perl 。Fortran作为一门古董级语言 , 以数值计算为出发点,几度被唱衰,但在众多领域仍然是大学的首选 。而Kotlin则作为易学易用的Java竞争对手崭露头角 。
编程语言界的竞争向来激烈 。那么面向2024年,哪些编程语言有望进入TIOBE指数前20名呢?
Paul Jansen表示,很难预测 。他提到:Julia曾在2023年短暂触及TIOBE指数,但未能保持这一位置 。Julia语言及其社区需要进一步成熟以获得第二次机会 。在他看来,“Dart(搭配Flutter框架)和TypeScript有望进入前20名 。TypeScript已经在业界得到广泛应用,但由于某种原因尚未在TIOBE指数上取得突破 。让我们拭目以待2024年的发展 。”
3、C#在中国:就业环境倒逼程序员转向虽然C#发展前景看起来一片向好 , 但C#在国内的发展似乎始终不温不火 。除了公认的工控和游戏领域,C#也并非热门 。   
在知乎相关议题下,针对C#的发展现状,来自各领域的开发者也有各自不同的观点 。
有人认为 , C#只是在国外火,在国内没有太大发展余地 。虽然在工业领域独领风骚,在游戏领域有Unity的加持,但在互联网领域,C#已经没落,java独领风骚 。
但也有人认为 , C#生命力顽强,每次发新版本都在让语言更有表现力 。“C#新版本吸收了Rust的特点 , 完全可以无GC然后AOT出来速度不比C++慢 。”
C# 登顶!超越Java或非空想

文章插图
图片
认为C#未来可期的人并不少 。一方面,由于微软过去的闭源政策 , C#其实长期处于被低估的状态,但自从C#连同编译器、工具集、标准库目前全部开源在Github上面后,事情已然发生变化;另一方面,从技术角度看,C#功能强大,融合高度表层抽象和精细底层控制于一体,是可玩性和上限都非常高的语言 。随着时间的推移,C#的崛起是早晚的事 。


推荐阅读