关于技术趋势,写给技术小白们

硬件

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

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

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

网络从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密集行运算,GPU更适合人工智能时代的矩阵运算。并且更适合人工智能时代的CPU及芯片在研发;

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

你可能感兴趣的:(关于技术趋势,写给技术小白们)