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

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

整理丨诺亚

出品 | 51CTO技术栈(微信号:blog51cto)

近日,TIOBE编程社区公布年度编程语言,此次摘得这一桂冠的是C#。

这也是C#在TIOBE二十多年评选历史中首次赢得这一年度大奖。C#虽然长年稳居编程语言排行榜前十,但存在感并不如四大“金刚”——Python、C、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%)。

图片图片

Tiobe首席执行官Paul Jansen表示:“C#正在从Java手中夺取市场份额,并在诸如Web应用程序后端和游戏开发(尤其得益于Unity引擎)等领域变得越来越流行。”在他看来,“C#已稳固其地位,未来甚至可能超越Java”。

2、暗流汹涌的排名变化

另外值得一提的是,TIOBE指数并非衡量最佳编程语言或编写代码行数最多的语言,而是体现编程语言的受欢迎程度。这也是榜单排名与个人体感不甚一致的原因。

该指数基于全球范围内熟练工程师的数量、相关课程以及第三方供应商情况来制定排名。通过Google、Bing、Yahoo!、Wikipedia、Amazon、YouTube和Baidu等主流搜索引擎的数据来进行评分计算。

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

更有人直言:在当前的就业环境下,很多人会被逼转向C#。

“从就业角度来说,现在这个时间点,C#程序员比java和前端找工作容易得多。互联网公司裁员,政府企业紧缩开支,这两个java就业大头都出问题了,而大学和培训班还在源源不断输送人才。C#程序员基本盘没怎么变,反而因为产业升级,需求还增多了。加上培训班和大学不教,人员断层很久,找工作反而容易些。这波就业压力,应该会逼着很多人选择C#,从而改善C#的人才供给问题。”

参考链接:

https://www.tiobe.com/tiobe-index/

https://www.zhihu.com/question/596673608

责任编辑:武晓燕 来源: 51CTO技术栈
相关推荐

2017-09-18 08:53:28

编程语言ERP补丁管理

2021-01-07 14:56:55

AI 数据人工智能

2009-05-30 08:39:20

2023-11-15 16:55:35

编程语言Java

2009-08-28 12:41:49

静态方法与非静态方法

2009-08-17 07:58:00

C#删除文件目录

2011-03-31 09:13:00

Visual Stud

2009-08-11 14:36:41

C#读取Excel

2022-06-10 09:36:12

TIOBE编程语言C++

2009-08-24 16:19:45

c#判断点

2009-08-25 17:15:50

C#隐藏C#重写C#重载

2009-09-02 17:10:45

C#语言入门

2009-08-25 17:21:31

C#索引

2021-04-30 11:34:45

JavaScript开发者Rust

2024-10-09 07:59:10

C#接口信息

2009-08-03 18:49:17

C#和Java

2009-08-20 13:48:37

C#正则表达式

2009-08-11 13:13:09

C#和Java比较

2009-08-11 14:57:11

比较C#和Java

2009-09-07 13:02:52

Java和C#线程
点赞
收藏

51CTO技术栈公众号