C#和GO两种开发语言的对比

两种语言的设计理念完全不一样

C#开发时是JAVA如日中天,所以微软按照JAVA的OOP设计出的一套win平台语言,主要是针对windows平台的开发,其可以通过微软自家的visual studio实现快速开发(发布WEB应用到IIS上、对SQL Server的简单易用的交互)。

go的设计者是考虑到C语言(作为一个使用近50年的语言)至今仍然在大量使用,但对于互联网项目的业务逻辑复杂性和高并发已经显的力不从心,做为后来者面向对象的语言如C++、JAVA、C#等解决了C的一些问题但又带来了另一些问题,比如过度的封装设计导致不能和底层应用更好的交互,面向对象的开发人员在一个包里解决不了问题的情况下再引入另一个封装包解决,最后过多的依赖导致大多数项目前期编译时间久、后期维护成本高昂。

go语言的设计者之一Ken Thompson本身也是C语言的设计者之一,深知C语言在现代大型项目开发中的弊病,但做为过程性语言优势也非常明显:没有OO的思想限制,可以灵活的开发各种易维护的应用程序接口;所以设计了一个互联网版的C语言,把C语言里难以实现又在现代语言里需要的程序直接封装进语言的pkg里,优化了指针,加入多返回值,对异常的捕获处理,使其拥有了动态语言的开发效率又有了编译语言的执行速度。

结论:
C#主要是借助JAVA的语法加上强大的开发工具实现windows平台上的快速开发,Go语言主要是解决现有语言对互联网的项目的不足之处,随着windows平台对终端设备的垄断优势逐渐没落和互联网应用的大规模发展,两种语言的发展趋势也显而易见。



not about https://www.jianshu.com/p/ca62c7605d4f

猜你喜欢

转载自blog.csdn.net/aliyunc/article/details/89026116