关于编程语言的几点思考

首先需要说明,一直执迷于编程语言的选择,是一件令人羞愧的事情,说明能力平庸,牛人有这个时间随便选一种语言都能把事情办成,参见T.Linus编GIT的故事,C语言直接来,两周完成雏形。

遗憾的是,我就是这样一个在不断思考这件事的人。

我看过C++、python、Go、Rust、Java、Scala、Erlang、C、object C、javascript(node.js),然后,因为复杂度、性能等原因,我陆续排除了C++、Go、Java、javascript、Scala等等,留下了erlang、rust、C,erlang实现功能,Rust/C实现性能,两步走。

其实,上面任何一个语言,搞一个交易系统都是可以的,功能上都能实现,但难易程度有差别,实现结果有差别。比如,python对多线程支持不好性能受限,C++语言特别复杂需要花很多心思在语言本身上,node.js写复杂业务会很吃力且内存管理能力弱,C语言缺少库支持需要考虑指针,等等。总之,没有完美的语言,只有做不成事的人。

如果个人能力更强,做事短平快,边学边做,估计2个月搞一个系统,反复推倒重来几次,便可以登峰造极。在个人有限的能力范围内,想做成一件事,方向就变得很重要,需要反复不断地思考,因为试错的成本很大。目前我使用erlang,几百行代码就有希望搞出一个可以扩展成千上万个客户的系统来,这背后依赖的是erlang的语言特点,相同的功能如果用java实现,可能还需要用docker。

猜你喜欢

转载自www.cnblogs.com/rudeway/p/10000685.html
今日推荐