我们该选择哪一门新兴程序设计语言:Go语言、Rust、Nim、D语言

因为我不是软件专业出身的,只会基本的C语言,但是项目中有时候又不得不开发一些性能又好、看上去还比较复杂的程序。

这个时候如果学习C++、java这类语言的代价太高,即使学了也不一定写得出客户想要的程序,微软的C#之类的貌似学起来不难,不过想要写出效率比较高的程序还是需要很多心血的,可以选择WinForm或WPF开发模式,不过不管你选择哪种模式,都不会省心,WPF更方便做出更好看的显示效果,但是WinForm毕竟出来的早,性能、普及程度比较高,WinForm目前在Linux平台开始得到支持,WPF则不会。C#做些简单的程序其实很容易的,程序复杂了之后坑就多了,如果要跨平台开发,C#还不合适,我也没有精力针对每一种操作系统各学一门开发语言。说到跨平台应用,Qt也许不错,很多人都对Qt抱以希望,Qt发展了这么多年,中途被Nokia收购现在又不知道是谁在运作,总之Qt的学习难度不低,不过我觉得比MFC还是简单些的。Qt现在更新的还是很快的,目前是5.x的版本。一些功能还不完善,也许下一个版本就稳定了可以用了,但是即使稳定了也需要比较长的时间来普及,形成好的生态环境,总之我们多么希望Qt可以赶紧发展,这样我们就多了一个好的开发平台可以选择。开发语言竞争这么大,不会给太多的时间来供Qt这种平台慢慢发展的,目前苹果的Swift语言也即将开源,还有C#也一直朝着跨平台的方向发展,还有我今天要讲的很多新兴语言:Go语言、Rust、Nim、D语言。这些新兴语言最终肯定会有一门到几门发展起来的,基本上是按照3个月更新一个版本,更新的很快,得力于庞大的开源社区。

不同领域的人选择语言的标准不同,有些人对性能要求高点,这个时候我推荐Nim,因为它先将代码转换成C语言,再借助高效的C语言编译器来编译成二进制代码,性能和C语言应该是在同一个级别的,同时Nim只依赖于C语言标准库,所以兼容性特别好,可以轻松编译到不同的平台。
有些人是要做Web服务器的,可以选择Go语言之类的,配合BeeGo这样的开源框架,可以分分钟做出高性能的站点。

对于大侠们而言,他们要开发一个大型的软件项目,学习一门语言所需要投入的精力相对于软件开发本身还是不值一提的,这个时候他们会更关注开发语言本身是否适合开发当前项目,是否有足够多稳定可靠的库来用。

而对于吾等草民来说,学一门语言实在太难,学了之后也不知道会用在什么地方,客户要我开发什么我就开发什么,所以需求未知,我也没有能力判断出语言本身设计的是否高效,只看到一帮人在争来争去谁好谁不好,这个时候就只能持一个观望状态,随大流。如果哪天Google愿意将Chrome浏览器用Go语言改写,然后使用起来没区别,或者哪天Mozilla推出一款Rust语言编写的浏览器,性能和Firefox媲美,这个时候我就不用担心学了之后以后用起来会出问题了。在这之前,等高手们去选择,会有一天用这些新兴语言开发的软件会走进我们的电脑桌面,会在后台为我们提供越来越多精彩的网页。成功案例最能说明问题,告诉我们如何来选择!当然最终胜出的语言不一定是最好的,就像TCP/UDP这样的协议理论上讲也不是最好的,但是语言只是工具,可以更好地解决我们暂时不怎么好解决的问题就行。


发表于:2015-10-29 12:35:15

原文链接(转载请保留): http://www.multisilicon.com/blog/a24274544.html

友情链接: MICROIC
首页