CPU的后记,程序员的未来之计
渔家傲
塞下秋来风景异,衡阳雁去无留意。四面边声连角起,千嶂里,长烟落日孤城闭。
浊酒一杯家万里,燕然未勒归无计。羌管悠悠霜满地。人不寐,将军白发征夫泪。
作者:良知犹存
转载授权以及围观:欢迎添加微信公众号:Conscience_Remains
1
周日写了一篇CPU的文章,为了它三天看了一本四百多页的技术书,又看了几篇文章和几个小时的视频资料,然后结合自己掌握的知识浓缩到两千字去变成一篇文章,既是整理自己的知识,也是分享给大家。谈不上多好,就是分享给大家而已。
不过巧的是,通过写这篇文章中对计算机历史发展的梳理,我甚至产生了些感慨,一些思考,通过写这篇文章,我重新认识了计算机的历史,芯片发展,编程方式的发展。通过这些历史的进程,我隐约琢磨了一点,自己对未来硬件和程序发展的一些见解。
2
从这篇写的文章中,从开头介绍三极管,再由三极管组合成的电路抽象到逻辑门,再抽象到简单的累加器、锁存器,再抽象到ALU、内存。一层层的封装,意味技术的发展迭代,而对应的编程方式也由从最开始的穿孔卡,再后来用存储器,从编程人员一点点计算机器码,到更加抽象化的编程语言的流行,汇编开始之后,70年代出现C和Smalltalk;80年代有C++、Objectivs-C和Perl;90年代有Python、Ruby和Java;2000开始出现Swift、C#、Go。
从硬件的摩尔定律开始,芯片的晶体管的管数量都翻倍的变化。硬件发生了倍增,软件开发的语言也开始对应的大幅度的脱离底层开发,每一种新的语言都让开发者傻瓜式的配置现有的硬件,而去用大量的时间去开发我们硬件无法达到的地方。我们都学过一篇文章,就是以前有个人发明了国际象棋,国王要给他赏赐。相传古印度的一位国王因为象棋的发明而赏赐象棋的发明者(一说为西萨,一位古印度宰相),此人要求国王根据数米问题的答案赏赐他粮食。国王起初认为他要求的赏赐过少,但是后来仓库管理员发现这个人要求的粮食比国王国库里的粮食多出上千倍。
软硬件的变化,这其中的本质,我感觉可以用几句话来概括,就是通过空间来换时间,释放计算机的计算能力,把开发人员从繁琐的底层解放出来,让我们更多从事逻辑层面。
我是从底层起来,所以平时对一些内存空间的应用比较苛求。但是经过这些知识对我的洗礼,我开始对未来技术的走向有些预测,未来的CPU和编程语言,大概率就是用空间换时间,用大容量的计算去把精简时间。比如现在很热门的算法,芯片公司直接用设计算法电路到芯片里面,大量的开发人员直接进行配置开发就可以,剩下时间去做更多时间的思维模式更智能开发。
甚至现在出来的GPT-3:
生成式预训练变压器3(GPT-3)是一种自动回归 语言模型,使用深度学习生成类似于人的文本。它是由OpenAI创建的GPT-n系列中的第三代语言预测模型,OpenAI是一家位于旧金山的盈利性人工智能研究实验室。GPT-3的完整版本可容纳1,750亿个机器学习参数。GPT-3于2020年5月推出,并于2020年7月进行Beta测试, 是预训练语言表示形式的自然语言处理(NLP)系统趋势的一部分。在发布GPT-3之前,最大的语言模型是2020年2月推出的 Microsoft的Turing NLG,与GPT-3相比,其容量为170亿个参数或不到10%。
GPT-3生成的文本质量很高,以至于很难与人类所写的文本区分开,因为它既有好处,也有风险。31位OpenAI研究人员和工程师介绍了2020年5月28日介绍GPT-3的原始论文。他们在论文中警告了GPT-3的潜在危险,并呼吁进行研究以减轻风险。34 澳大利亚哲学家大卫·查默斯(David Chalmers)将GPT-3描述为“有史以来最有趣,最重要的人工智能系统之一”。
来自维基百科
GPT-3号称是可以让程序员失业的人工智能,一个普通人直接输入一段文字需要,GPT-3就可以给你编一个APP或者做一个前端出来。当然现在使用它费用都比较昂贵。但是未来在摩尔定律加持下,未来还真有可能普通人都使用上,那么那个时候现在80%的程序员都失业了。也许现在的我们听上去感觉离得遥远,但是技术进阶来说五到十年一个变化真的不是吹出来的,就如同我们觉得诺基亚是上个世纪一样遥远,其实智能手机时代才只有十来年而已。
3
总之一个比较深刻的感觉,计算机的发展历程中,包括现在的大数据,好多都是用空间换时间,释放计算机的计算能力,把开发人员从中抽象出来,去做更多的事情。而这个更多的事情是什么,需要大家一起来考虑考虑哈。
其实这些变化可以推广到个人的发展体系中,一样的抽象自己,当自己可以做现在一个本职工作的时候,OK这时候我们还有进阶的部分,当我们可以熟练并且轻松的掌握工作的时候,我们就需要进行傻瓜式的传导,裂变自己,尝试去把自己已经做过的事情去授予其他人,自己再抽象出来,去选择更高阶的事情。
现在已经不是一门技能活一辈子或者传几十代,尤其在程序员类似学习积累成本很小的这些行业,自己学的能够自己用都很困难了,初级还得去抽象自己,去做一些琢磨未来的思考,去做一些考虑未来的事情,拥抱变化,体验这人生吧。
未来可期吗?不敢,但敢想,敢去试试,已经很好了。碎文一篇,还望诸位海涵。
CPU的后记,程序员的未来之计的更多相关文章
- 给各位PHP程序员十点未来的建议
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...
- 程序员需要了解的硬核知识之CPU
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和CPU打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CP ...
- PHP程序员的技术成长规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- PHP 程序员的技术成长规划
[导读] 按照了解的很多PHP LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序 ...
- 【转载】PHP程序员的技术成长规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- PHP程序员的技术成长规划(送给迷茫的你)
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- 【转】PHP程序员的技术成长规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- PHP程序员的技术成长规划(转)
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- 2017PHP程序员的进阶之路
2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...
随机推荐
- ThinkPHP的url简化
TP的url请求简化 下面是apache的配置过程,可以参考: 1. httpd.conf 配置文件中加载了mod_rewrite.so模块 2. AllowOverride ...
- String、StringBuffer 和 StringBuilder 的区别
面试简答 区别: 1) String 长度大小不可变 2) StringBuffer 和 StringBuilder 长度可变 3) StringBuffer 线程安全 StringBuilder 线 ...
- Linux设置系统时区
https://www.xlsys.cn/1741.html 如果你的 Linux 系统时区配置不正确,必需要手动调整到正确的当地时区.NTP 对时间的同步处理只计算当地时间与 UTC 时间的偏移量, ...
- 哎,这让人抠脑壳的 LFU。
这是why哥的第 83 篇原创文章 让人抠脑壳的 LFU 前几天在某APP看到了这样的一个讨论: 看到一个有点意思的评论: LFU 是真的难,脑壳都给我抠疼了. 如果说 LRU 是 Easy 模式的话 ...
- python安装whl包时出现的问题解决:is not a supported wheel on this platform
@ 目录 一.问题 二.查找问题 三.问题解决 一.问题 1.下载一个twisted包 安装Twisted,进入https://www.lfd.uci.edu/~gohlke/pythonlibs 下 ...
- web渗透之常见shell反弹姿势
常见反弹shell总结: 原文链接请点击:https://ruoli-s.github.io/posts/b956.html 一.bash反弹 通用 ① 在kali机里面开启端口监听: nc -lvv ...
- 【排序基础】5、插入排序法 - Insertion Sort
插入排序法 - Insertion Sort 文章目录 插入排序法 - Insertion Sort 插入排序设计思想 插入排序代码实现 操作:插入排序与选择排序的比较 简单记录-bobo老师的玩转算 ...
- 【linux】系统编程-6-POSIX标准下的信号量与互斥锁
目录 前言 8. POSIX信号量 8.1 概念 8.2 POSIX无名信号量 8.3 POSIX有名信号量 8.4 POPSIX信号量与system V信号量的区别 9. POSIX互斥锁 9.1 ...
- SDUST数据结构 - chap2 线性表
一.判断题: 二.选择题: 三.编程题: 7-1 jmu-ds-顺序表区间元素删除 : 输入样例: 10 5 1 9 10 67 12 8 33 6 2 3 10 输出样例: 1 67 12 33 2 ...
- vue原生文件上传,可以多文件上传
1.单文件上传 <template> <div> <label for="fileInput"> <i aria-hidden=" ...