行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 人工智能 正文

编程语言选型时,你需要考虑的几个方面

编程语言往大了讲是很复杂的,语法,类型系统,编译原理,编译器,解释器,内存模型,并发模型,工具链等等,单拿一点出来都能写一本书。限于篇幅,本文要介绍的内容限定在类型系统(type systems),语法(syntax)和

 

前言

 

毕业之后一直混迹在创业公司,经历过很多次产品从0到1的过程。产品在开发之前都会面临一个常见问题,即技术选型,首当其冲的是采用哪门编程语言来开发我们的产品。我的第一家公司是UCloud,三位老板都来自于腾讯,所以第一批员工不少都是腾讯兵,腾讯的主要开发语言是C++,有很多现成的轮子可以用,自然UCloud的产品都是用C++开发的,前端则采用的是当时流行的PHP

2014年Node大火,nodejs的非阻塞IO在非计算密集的高并发业务场景效果出众,开发起来也会比较快;nodejs让前端程序员也能参与到后端开发中来,在人力分配上面自由度会高一些;运行时有gc, 心智负担比C++小。UCloud也顺势采用了node, 先是前端部门用它重写了自己的产品逻辑,之后后端也陆续采用,包括我自己也用node重写了整个uhost产品的后端。

2016年golang热度很高,当时正好有个新产品要基于docker来开发,我们就开始尝试用golang来写后端服务, golang虽然类型特性不多,也不支持函数式编程,但是其极佳的工程实践和强劲的并发性能还是深得大家喜爱。现在这家公司,因为规模尚小,考虑到招人的难度就采用了主流的Java, 用golang来做ssh client。在做编程语言选型的时候,除了技术本身还有很多其他因素,这些因素要针对具体场景来分析,所以本文从通用性的角度考虑,只讲技术层面的内容。

 

看完这篇文章能收获什么?

 

对于开发人员,可以系统地了解各种类型特性,语法特性和编程范式对于架构师或者技术leader,可以为编程语言的选型提供理论依据


微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

相关文章:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
SEM推广服务

Copyright©2005-2028 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注

扫码入群
扫码关注

微信公众号

返回顶部