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


    作者:张寻Van
    摘自:http://codebay.cn/post/4029.html

    硬件

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

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

      

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

  • 相关阅读:
    MySQL内连接和外连接
    MySQL 重命名数据库
    linux查看文件大小
    Linux合并两个文件夹内容
    Linux压缩和解压命令
    深度学习反向求导
    深度学习网络压缩模型方法总结
    cuda培训素材
    cuda编程-卷积优化
    交叉熵代价函数(损失函数)及其求导推导
  • 原文地址:https://www.cnblogs.com/52php/p/7247334.html
Copyright © 2020-2023  润新知