关于技术趋势,写给奋斗中的程序员们

 

做者:张寻Van
摘自:http://codebay.cn/post/4029.htmlhtml

硬件

计算机CPU在09年左右就在性能上没有太大进步,几近物理极限;算法

在CPU中止进步的时候,机械硬盘存储空间从百G变成了百T,存储变得足够大足够便宜;编程

固态硬盘的使用在速度上快了十倍以上;segmentfault

网络从3G到4G再到5G;后端

手机端CPU在性能和省电之间作了不少处理,电池容量缓慢增长;目前仍是锂电为主;网络

CPU的闲置率仍是很大,CPU和IO的速度还有很大鸿沟;机器学习

手机从拼CPU,拼厚度,拼省电,拼摄像头到拼营销,移动时代即将结束。异步

编程语言

在计算机性能足够快的时候,语言自己大部分状况下再也不是性能瓶颈,服务端广泛的性能瓶颈在IO;编程语言

语言自己更以人为本。更注重开发效率,学习成本和团队协做,Python的学习门槛低,代码整洁,开发高效,利于团队协做;JS是全栈开发首选,适合Web项目开发,而且JS事件驱动异步语言的特色在性能上完爆其余语言,可让CPU跑满,可是JS的不可爱之处也很伤人,目前语言自己还在不断完善发展,学起来很费脑。可是ES7之后JS语言应该趋于稳定,目前恰是JS全栈的最好时机;分布式

多数语言都已支持协程,当前只有GO语言在语言层面支持协程,高性能,高开发效率,低学习门槛,被云产品团队普遍使用;

Java是不少公司一直使用的语言,拥有最多的开发者,能够作后端服务和Android。可是一旦你使用过Python这样的语言,你将颇有可能与Java将行渐远,Java的市场会不断的被其余语言侵蚀;建议技术开发新人慎入Java开发;

PHP这门世界上最好的语言,注定走向衰亡(纯属我的偏见);

云和大数据

单个计算机运算性能不在进步,就经过多个计算机合做运算来提升性能,就是分布式;

足够强大的运算性能,足够大而且便宜的存储,促使公司去更多的挖掘数据间的关系,就有了大数据;

技术会不断的从已有技术方案里提炼共通的解决方案,技术倾向一劳永逸的解决方法,因此大量的云平台和云服务出现;

能用云解决的问题,尽可能不要本身创造轮子去解决;

人工智能

在移动互联网时代,咱们一直在生产几个很是重要的数据,LBS位置,图片和语音,人类尝试让机器去理解这些数据,云的庞大运算性能基础加上机器学习等算法模型让这一切变得可能;

人工智能时代人和机器的沟通会更加天然。

人工智能时代整服务将从IO密集型转向CPU密集行运算,CPU更适合人工智能时代的矩阵运算。而且更适合人工智能时代的CPU及芯片在研发;

人工智能时代的技术开发是图像识别和音频识别以及数据处理;

 

  

附:什么是 计算密集型 和 IO密集型?

相关文章
相关标签/搜索