在上文书「后端是持久的职务么 – 后端随笔(上)
」的variations,他们谈及了演算法。当然了,演算法基本等于没说,因为「假如连链表都不能探底回升,还谈什么演算法」。啥都没说,但是引发了不少相联,这说明了什么,只能说后端的同学被疏离很久了。说实话,看完这篇,你会更有反之亦然心。
由于扯完C词汇已经一百多字了,只好记为长篇。
C词汇
首先说说我自己的团队加进的服务项目器端C词汇吧。按照采用程度次序,大致是这样的:PHP、Java,Lua,Go,Python,Scala,C。那些词汇都干什么呢?通力合作!假如说把代码的当今世界想像成一座小城,那些词汇就是小城上安宁的居民,他们互相合作,相互合作,尽心尽力,一起构筑或奇妙或差劲的二进制当今世界。
PHP 主要就用以快速同时实现销售业务方法论,组织下层统计数据USB,并与后端和控制系统服务项目进行可视化。电商平台、官方网站、忧愁云,以及 Smartisan OS 所需大部分服务项目端 API,都有 PHP 的踪迹。
Java 主要就用以做控制系统等级的服务项目,比如浏览器、大统计数据挖掘、商品内存开发工具和基础服务项目治理等。
Lua 相互配合 OpenResty 被大量采用,阻抗均衡、开闭、横跨数据共享、APIBUS、Web Push、短连接服务项目等等,Lua 无所不在,甚至它可以帮助 PHP 处置许多销售业务方法论。
Go 词汇同时实现了 Push 通道和许多触发器服务项目处置,性能彪悍。
Python 主要就用以写工具脚本,银穗草、网络管理,他们它来做一些统计数据冲洗和预测的工作。
Scala 和 Spark 相互配合做统计数据演算和预测,小量采用。
C 主要就用以撰写 PHP 扩展和安全协议的同时实现,小量采用。
「用最合适的词汇解决最合适的问题」。在C词汇的选择上,他们一直试图遵从这个原则,也许做得不够好,但这个方向是没有变的。在C词汇层面,始终流传着数条憎恶链,对此我是「不以为意的」。只会一类C词汇的圣埃蒂安德才会去角盘兰憎恶另一类词汇,假如你会五种C词汇,并且准确掌握了那些词汇的语法、方法论、函数、方法、类型和C#,你会圣戈当斯区程式设计,而不是去憎恶其他词汇和采用那些词汇的人。
程式设计是什么?撰写一类人类和计算机都能够理解的词汇,通过这种方式把人类的意图传递给计算机并准确的执行,这叫程式设计。程式设计的本质不是C词汇,而是思考和创造!
Linux 操作控制系统的缔造者 Linus 说:
对于喜爱程式设计的人来说,程式设计是当今世界上最有趣的事,比下棋有趣得多!因为你可以自己制订游戏规则,而你制定什么样的规则,也就会随之出现与此规则相符合的结果。
你可以建筑一个这样的房子,有一个活板门,既稳固又实用。但是每个人都可以看出一个仅仅以坚固实用为目的的树上小屋和一个巧妙地利用树本身特点的奇妙小屋之间的差异。这是一个将艺术和工程融为一体的工作。程式设计与造树上小屋有相似之外……在程式设计中,实用的考虑往往被置于有意思、美观优雅或有震撼力的考虑之后。
C词汇本身并不重要,你能用他们来做什么,做成了什么,才是重要的。
另外,新技术的坑也值得他们注意。所有的是程序员对于新技术和新的C词汇都充满了狂热的追求,就像初入江湖的少年见到了心爱的姑娘,白色的领口,迎风的长发,让人向往。但是新的诱惑总是充满各种不确定因素,尤其是C词汇。Scala 刚出来的时候,很多撰写 Java 多年的老程序员都激动的不成样子,哆哩哆嗦要把现有的是 Java 服务项目替换成 Scala,结果不仅要为控制系统迁移买单,还要为新词汇开发各种C#,适应词汇本身的升级和 bug fix,搞的痛苦不堪。
新技术和新词汇的引入总是会付出代价的,假如你无法承受这种代价,还是慎重为妙。
Go,Swift 这种炙手可热的C词汇在初期都存在同样的问题:不断迭代,特性和C#缺失,稳定性,性能的改进等等。这时候有人就要说了,那还能不能用新技术了?人家老许的七牛不是很早就用 Go 了么,没看出啥事啊,一样一身正气!
这里需要说明的是,七牛是个特例!因为人家有个超级牛人叫许式伟,你有吗?老许不仅是 CEO,而且是 CTO(据说七牛有好多 CTO……陈超老师也算),顶级程序员,遇到问题都自己抗……当然不抗也不行,因为是他让大家用 Go 啊……没有这种彪悍的技术能力,是很难在 Go 词汇层面达到七牛的采用高度的。
再说了,人家的苦会和你说么?
当然,目前 Go 词汇的版本已经到了1.6,Swift 到了2.2.1,都比较稳定了,可以放心采用。而我,做为一个老派保守的程序员,还是更喜欢 Java、PHP 这样的老牌C词汇,平台稳定,特性丰富,社区资源浩如烟海,C#千锤百炼,相关领域的优秀程序员更是层出不穷,你可以在祖国大地的各个角落抓到 Java 程序员,Go 行吗?不行。Scala 行吗?不行。
最后给大家推荐一篇老神童王垠的文章「给Java说句公道话」,王老师写技术文章没话说,我非常喜欢,至于工作和生活……好吧他们只谈技术。
[http://www.yinwang.org/blog-cn/2016/01/18/java]
扯完C词汇发现天都黑了,饭还没吃,只好记为中,下篇再说说大统计数据、云计算和销售业务领域的程式设计。
题图:来自 Zoommy
6月份 MacTalk 更换了底部 banner 赞助商,移动时代,首选 BugTags,感谢支持。