我一直从事着c++开发,2015年参与工作,当时做的是c++和fortran数值运算,之后换了一份工作,做chromium内核浏览器的开发。
我喜欢c++,我认为这个语言充满了艺术性,它通过宏和模板的组合,能写出很多不可思议的语法,并且我认为这个是c++的强项,是其他语言都没办法做到的事情。
因为我学c++的同时,也会其他语言,例如java,basic,php,python,perl,ruby,fortran,js,r等等,我是一个喜欢探索的人,也尝试着把c++中一些能够让代码看着飞起来的编码技巧用到其他语言上面,最后都失败了,所以我觉得此生我非c++不换。
除此之外,我还在语言学的论坛和qq群混迹很久,像编译原理,lisp,coq,emacs等等,通过对语言本身的深入了解,我更坚信了c++是我作为程序员生涯的唯一选择。
从2017年末开始,我又换了工作,短短两年换了两分工作,不光别人,就连我自己都觉得自己是一个对事业没有忠诚的人,如此朝三暮四,以后难以有很大的发展,于是我便立志,下一份工作,一定要做到合同期满为止。
2017年年末,我进入了区块链行业,第一个项目就是基于以太坊开发智能合约,新学了solidity语言,也是在这一年,第一次看go语言写的项目。我对go语言十分的不认同,认为go语言不是一个优雅高效的语言,是白痴才会用的语言,所以因为这个原因我十分不喜欢以太坊。
好在之后的两个项目,把我从这种情绪中解放出来,要不然我搞不好又会辞职。
后面的两个项目,是比特币和eos的分叉链,主要重新设计它的经济模型,并以此落地一些应用,期间又对eos的虚拟机做了语言的扩展,使用gcc源码移植了一套工具链,使eos的合约能支持,c,c++,fortran,go,oc,oc++等,凡是gcc包中拥有的语言前端,都给搬了过来。
在今年,公司突然要整filecoin的算力竞赛,并且要做大规模存储集群和算力集群,也是在这一年我正式认同go语言,并且对于go产生了一定的敬畏,认可go也是一个优雅的编程语言,值得一身去研究去探索。
让我认可go语言的关键在于filecoin启动是,builder的那一段代码,它巧妙的应用了反射的机制,在结合go.uber.org/fx框架,实现了非常高的泛化性,这一刻我才认识到反射比模版更高效且更实用,最后还是应征了那一句话,没有牛逼的语言,只有牛逼的人。
有疑问加站长微信联系(非本文作者)