为什么会有”C#是世界上最美的语言”这种说法?

我简单的说一下,为什么说C#是世界上最优美的语言

首先从IDE来说,拥有世界上最好的IDE VS。只要用过VS的人都会明白,VS是多么强大,并不是其他的IDE所能比较的。

另外和其他语言比较,我首先将脚本语言排除在外。在我看来,没有强类型的语言是不完整的。脚本语言随随便便的用var这种东西,导致定义的变量类型莫名其妙。另外脚本语言也做不了大型的项目。 可能有人要拿python说事了,python极大的拉低了程序员的门槛,很多会python的其实就只会调调接口,python的底层接口也不是自己写的,导致了一个问题,就是说如果某个API没有的话,就只能被动等待别人用C++去写一个。

C# 是抄JAVA出身的,但目前来看,其语法结构要比JAVA合理多了,也简洁多了。C# 有着恰到好处的语法糖,对C++近乎完美的引用,甚至自己也可以直接写指针。不会像Java那样很容易让项目膨胀,也不像C++那样晦涩难懂(C++的内存操作对我这样不经常用的人来说简直是噩梦)。

从aspx开始,到net core 3.1的发布,虽然仅有短短5年,但是C#的巨变,真的让我震惊。在编程史上能称上巨变的事情,真的不多,我们来看看这些年C#的巨变:

第一个巨变:从axpx(MVC 3)到Razor(MVC 4)

学过aspx的都知道,这个东西比较依赖服务器控件,对于初次者来说,容易形成“拖控件思维”,这样的“拖控件”方式导致前端臃肿,晦涩难懂,写法也不够不灵活;微软为了解决这些问题,发布MVC4 ,用微软自研的Razor引擎,代替aspx引擎,这是第一个巨变,这意味着,传统的aspx的写法,将被更加轻量级的html标签代替,一个cshtml页面更加灵活,对于前段开发人员来说,通俗易懂,灵活可用,配合jQuery,bootstrap等框架,可以开发出任何复杂可用的web项目。MVC 4的发布,是一次大的巨变,很多公司争先恐后的都开始了这样的写法,这一巨变,可以从当时的招聘信息、培训班的培训课程就看到非常清楚。

第二个巨变:从framework到net core

我之前看到有一些人说,net core是微软摒弃了framework,其实这是完全错误的理解,net core是基于framework的基础,对于framework中不符合现代互联网的写法,微软开发者进行了修改,使net core更加适应现在互联网的发展,同时,对于当前互联网新兴的变化,微软也时刻在改进,相比其他语言来说,微软对国内开发者是非常友好的,微软是提供中文文档的(如下图),而且非常详细,这在其他语言中,是很少见的,微软的文档,不仅仅是教你如何写代码,更多的是教你理解代码,一个理解代码的人比会写代码更重要。


为什么会有"C#是世界上最美的语言"这种说法?

再来说说关于跨平台,在net core没有发布之前,如果要将你开发的MVC项目,或者web api部署到非windows环境,困难重重,但是现在,一切都变的非常便捷,只用几个命令,就能轻松将net core程序发布到linux,docker中,这事情,在三年前,是很难想象的,而在今天,这一切都变得触手可及。

从性能上来说,很多人都做过测试,和其他语言对比,net core都是遥遥领先,事实上,你会发现,之前开发的基于framework的项目,现在用core重写,速度真的提升了不止10倍。

而C#本身能做的事情也很多。很多人对C#的印象还停留在拖拖控件上。除了最常见的windows客户端程序外,网站、GIS、Unity3D,C#都可以做。要说目前常见的不能用C#的方向,估计就是机器学习那一套,都是python调接口。其实也不是不能,C#调C++接口也很容易,但学习成本比python高,所以都用脚本语言去搞了。

C#最大的诟病估计就是仅限于windows,但是生态不行,干不过 Java ,然后现在也干不过Python。语言虽然优雅简洁,但还是要的是有人用,就像一个美女,没人追,也是暴殄天物。

好在现在.net core也趋于成熟,.net 5 甚至要合并framework 和 core。

原创文章,作者:27149,如若转载,请注明出处:http://wpbbw.com/4608.html

发表评论

登录后才能评论