CPU的后记,程序员的未来之计

简介: CPU的后记,程序员的未来之计

4edc953e2c684bbe819ffa954c899c08.png

渔家傲

塞下秋来风景异,衡阳雁去无留意。四面边声连角起,千嶂里,长烟落日孤城闭。

浊酒一杯家万里,燕然未勒归无计。羌管悠悠霜满地。人不寐,将军白发征夫泪。

作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:Conscience_Remains

1

4edc953e2c684bbe819ffa954c899c08.png

   周日写了一篇CPU的文章,为了它三天看了一本四百多页的技术书,又看了几篇文章和几个小时的视频资料,然后结合自己掌握的知识浓缩到两千字去变成一篇文章,既是整理自己的知识,也是分享给大家。谈不上多好,就是分享给大家而已。

   不过巧的是,通过写这篇文章中对计算机历史发展的梳理,我甚至产生了些感慨,一些思考,通过写这篇文章,我重新认识了计算机的历史,芯片发展,编程方式的发展。通过这些历史的进程,我隐约琢磨了一点,自己对未来硬件和程序发展的一些见解。

2

4edc953e2c684bbe819ffa954c899c08.png

   从这篇写的文章中,从开头介绍三极管,再由三极管组合成的电路抽象到逻辑门,再抽象到简单的累加器、锁存器,再抽象到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

4edc953e2c684bbe819ffa954c899c08.png

 总之一个比较深刻的感觉,计算机的发展历程中,包括现在的大数据,好多都是用空间换时间,释放计算机的计算能力,把开发人员从中抽象出来,去做更多的事情。而这个更多的事情是什么,需要大家一起来考虑考虑哈。

   其实这些变化可以推广到个人的发展体系中,一样的抽象自己,当自己可以做现在一个本职工作的时候,OK这时候我们还有进阶的部分,当我们可以熟练并且轻松的掌握工作的时候,我们就需要进行傻瓜式的传导,裂变自己,尝试去把自己已经做过的事情去授予其他人,自己再抽象出来,去选择更高阶的事情。

   现在已经不是一门技能活一辈子或者传几十代,尤其在程序员类似学习积累成本很小的这些行业,自己学的能够自己用都很困难了,初级还得去抽象自己,去做一些琢磨未来的思考,去做一些考虑未来的事情,拥抱变化,体验这人生吧。

   未来可期吗?不敢,但敢想,敢去试试,已经很好了。碎文一篇,还望诸位海涵。

目录
相关文章
|
5月前
|
安全 Java 编译器
多线程(看这一篇就够了,超详细,满满的干货)
多线程(看这一篇就够了,超详细,满满的干货)
45 2
|
6月前
|
编解码 测试技术
【自己动手画CPU】计算机数据表示
【自己动手画CPU】计算机数据表示
255 0
|
6月前
|
存储 Linux 调度
[操作系统]秋招面试问到进程扩展知识!!!面试官喜欢的答案
[操作系统]秋招面试问到进程扩展知识!!!面试官喜欢的答案
Nice!没有内存就一定不能跑程序吗?看完这篇文章你再下定论
主存(RAM) 是一件非常重要的资源,必须要小心对待内存。虽然目前大多数内存的增长速度要比 IBM 7094 要快的多,但是,程序大小的增长要比内存的增长还快很多。正如帕金森定律说的那样:不管存储器有多大,但是程序大小的增长速度比内存容量的增长速度要快的多。下面我们就来探讨一下操作系统是如何创建内存并管理他们的。
|
存储 缓存 架构师
程序员学习 CPU 有什么用?
在上一篇文章里,我们聊到了计算机的冯·诺依曼架构,以及计算机的五大部件:控制器、运算器、存储器、输入设备和输出设备。在现在计算机体系中,CPU 是整个计算机的核心,主要包含控制器和运算器两大部件。 在后续文章中,我们将从 CPU 的基本认识开始,逐步将 CPU 与执行系统、存储系统和 I/O 系统串联起来,请关注。
167 0
|
消息中间件 存储 缓存
【操作系统入门到成神系列 三】如何写出让CPU跑出更快的代码?
【操作系统入门到成神系列 三】如何写出让CPU跑出更快的代码?
【操作系统入门到成神系列 三】如何写出让CPU跑出更快的代码?
|
缓存 运维 前端开发
面试官:平时工作中有没有做过一些性能优化相关的工作呢?
面试官:平时工作中有没有做过一些性能优化相关的工作呢?
面试官:平时工作中有没有做过一些性能优化相关的工作呢?
|
算法 Java Linux
工作这么久了,还不懂多线程吗?
浩哥Java多线程整理学习系列之01基础知识整理
105 0
工作这么久了,还不懂多线程吗?
|
程序员 C语言
程序员之路:C语言内存不足已停止工作
程序员之路:C语言内存不足已停止工作
120 0
程序员之路:C语言内存不足已停止工作
|
存储 小程序 Java
程序员需要了解的硬核知识之CPU
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和CPU打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU
171 0
程序员需要了解的硬核知识之CPU