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这时候们还有进阶的部分,当们可以熟练并且轻松的掌握工作的时候,们就需要进行傻瓜式的传导,裂变自己,尝试去把自己已经做过的事情去授予其他人,自己再抽象出来,去选择更高阶的事情。

现在已经不是一门技能活一辈子或者传几十代,尤其在程序员类似学习积累成本很小的这些行业,自己学的能够自己用都很困难了,初级还得去抽象自己,去做一些琢磨未来的思考,去做一些考虑未来的事情,拥抱变化,体验这人生吧。
未来可期吗?不敢,但敢想,敢去试试,已经很好了。碎文一篇,还望诸位海涵。
原文作者:良知犹存

原文链接:https://www.cnblogs.com/conscience-remain/p/13643983.html

更多推荐

更多
  • Spark编程-结构化流式编程指南 概述,简单例子,编程模型,使用 Dataset 和 DataFrame 的API,连续处理,额外信息,基本概念,处理 Eventtime 和 Late Data,faulttolerance 语义,创建流式 DataFrame 和流式
  • Spark编程-20 Spark 配置Spark 属性,Environment Variables环境变量,Configuring Logging配置 Logging,Overriding configuration directory覆盖配置目录,Inhe
  • Spark编程-在Mesos上运行Spark 运行原理,安装 Mesos,连接 Spark 到 Mesos,Mesos 运行模式,Mesos Docker 支持,集成 Hadoop 运行,使用 Mesos 动态分配资源,配置,故障排查和调试,从源码安装,第三方软件包,验证,上传 S
  • Spark编程-Running Spark on YARN 启动 Spark on YARN,准备,配置,调试应用,在安全集群中运行,添加其他的 JARs,配置外部的 Shuffle Service,用 Apache Oozie 来运行应用程序,Kerberos 故障排查,使用 Spark Hi
  • Spark编程-Spark 调优 数据序列化,内存调优,其它考虑,,内存管理概论,确定内存消耗,优化数据结构,序列化 RDD 存储,GC优化,并行级别,Reduce任务内存使用,广播大变量,数据局部性, 由于大多数Spark计算都在内存中,所以集群中的任何资源(C
  • Spark编程-Spark Standalone模式 安装 Spark Standalone 集群,手动启动一个集群,集群启动脚本,提交应用程序到集群中,启动 Spark 应用程序,Resource Scheduling资源调度,监控和日志,与 Hadoop 集成,配置网络安全端口,高可用
  • Spark编程-Monitoring and Instrumentation Web 界面,Metrics,高级工具,事后查看,REST API,环境变量,Spark配置选项,API 版本控制策略, 有几种方法来监视 Spark 应用程序:Web UI,metrics 和外部工具。 Web 界面每
  • Spark编程-Spark提交任务Submitting Applications 打包应用依赖,用 sparksubmit 启动应用,Master URLs,从文件中加载配置,高级的依赖管理,更多信息, 在 script in Spark的 `bin` 目录中的`spark-submit` 脚本用与在集群上启动
  • Spark编程-作业调度 概述,跨应用调度,应用内调度,动态资源分配,公平调度资源池,资源池默认行为,配置资源池属性,配置和部署,资源分配策略,优雅的关闭Executor(执行器),概述Spark 有好几计算资源调度的方式。首先,回忆一下 [集群
  • Spark编程-Spark 概述 安全,下载,运行示例和 Shell,在集群上运行,进一步学习链接, Apache Spark 是一个快速的,通用的集群计算系统。它对 Java,Scala,Python 和 R 提供了的高层 API,并有一个经优化的支持通用执行图
  • 近期文章

    更多
    文章目录

      推荐作者

      更多