软件是用编程软件编写的,那么编程软件又怎么来的?

2020年11月16日22:56:04 科技 1710

软件是用编程软件写成的,那么编程软件是怎么来的呢?

这个吧,我真的没办法一个个给你解释到底,不然你要是打破砂锅问到底,可能一顿火锅的功夫我也没办法给你说完。举个例子哈,IntelliJ IDEA和Eclipse都是Java的IDE,用这两个IDE可以写非常多的软件,比如Android Studio先后分别基于这两个软件,Android上所有的软件都是用这玩意儿开发的,但是这两个IDE本身也都是Java语言开发的,这两个IDE呢最初肯定是在Vim/Emacs+Java开发的,咱就先说到这里,不然要喋喋不休了。

我给大家提一个思路,大家按照这个思路可以自己去找自己感兴趣的问题。我给大家说一说Google实现Go 1.5自举、去除所有的C语言程序的过程,大家慢慢就明白了,基本上计算机技术都是这样迭代出来的,比如怎么先有了C语言、现有了Unix,又如何在这些基础上,诞生了Emacs、C++等众多新的软件和技术。

软件是用编程软件编写的,那么编程软件又怎么来的? - 天天要闻

事实上现在所有新的编程语言,基本上都会考虑在C语言的基础之上构建,Go语言也不例外,何况Go语言的重要设计者之一肯汤普森老爷子,还是C语言、Unix之父。Go语言发展的第一阶段,就是开发一个从C语言到Go语言的翻译器,将C语言编译器翻译成Go语言的,不过了Go语言核心设计团队的三位大神非常机智,他们最大程度避免了在Go语言编译器设计中,大量使用未来很难移植到Go语言的一些特性,比如宏、比如指针,这些都是C、C++留下的一些糟糕的设计,不符合现在的编程语言设计潮流。转换编译器源码树产生一个Go语言编译器,不过这时候还是典型C语言风格。

接下来,Google对编译器进行了优化,将编译器CPU、内存等硬件资源占用的问题解决了,并且引入了并行概念。为了改进编译器在消除边界检查等问题下的能力,同时在不依赖架构的node*s、prog*s之间引入一个中间表示。这些事情完成之后,Google就做了最后一步,用Go 1.5、也就是当时Go语言最新版本,用go/parser和go/types替换了编译器前端,至此Go语言实现了自举,并且获得了一个稳定高效的编译器实现。

软件是用编程软件编写的,那么编程软件又怎么来的? - 天天要闻

Go语言本身编程难度要比C更简单,这是因为Go语言跟很多高级语言一样,摒弃了指针、规避了内存泄漏、解决了缓冲区溢出,深度递归时栈的溢出,摒弃了宏这些定义。Go语言工具链对模块化、单元测试、以及性能分析支持更好,在修改内部API或重构时,应用自动化程序重构前景更加值得期待。

你看这就是Go语言从C语言写编译器 ,到最终实现Go语言完全自举的过程,当然大家都知道图灵完备的编程语言都可以实现自举,理论上符合图灵完备的编程语言都是这么发展的,C++就是这么发展的,满足这个条件的编程语言,你才能作为其他编程语言的基础。

软件是用编程软件编写的,那么编程软件又怎么来的? - 天天要闻

那么我们回到最初的问题上,编写软件的编程软件又是在什么环境下开发的呢?计算机技术发展至今,在机器语言的基础上,弄出了汇编语言,接着两位祖师爷弄了C语言和Unix系统,接着在这个基础上,又有人弄了Emacs、Vim、GCC,你看基本上现代计算机技术的所有根基技术就有了。

接着就是用C语言写各种操作系统,为了各种需求写各种编程语言,又根据各种需求开发各种集成开发环境,然后又根据各种应用需求用集成开发环境写其他应用软件,这就是一个完整的计算机技术发展进化流程。

编程软件也是,先有了机器语言,打孔时代创造和发明了汇编语言,汇编语言的基础上又有了B语言,然后B语言的基础上发明了C语言,C语言重写Unix,于是现代计算机的雏形也就有了。早期是一生一、机器语言生汇编,然后机器和汇编语言生C语言,到C语言时代就是一生万物、C语言生万物,现在就是多生万物。这就是计算机技术发展的过程。

软件是用编程软件编写的,那么编程软件又怎么来的? - 天天要闻

科技分类资讯推荐

华为鲲鹏、升腾已发展超 665 万开发者、8800 多家合作伙伴 - 天天要闻

华为鲲鹏、升腾已发展超 665 万开发者、8800 多家合作伙伴

IT之家 5 月 25 日消息,在昨日举行的鲲鹏升腾开发者大会 2025 上,华为 ICT Marketing 部部长周军表示,华为持续打造坚实、易用的算力底座,使能开发者和伙伴,加速行业智能化。据周军介绍,截至 2025 年 5 月,鲲鹏、升腾已发展超过 665 万开发者,以及 8800 多家合作伙伴,完成 23900 多个解决方案认证。华为方面称,截..
“马上有”:小米 15S Pro 手机过上市关键期后将推 Beta 版系统 - 天天要闻

“马上有”:小米 15S Pro 手机过上市关键期后将推 Beta 版系统

IT之家 5 月 25 日消息,在本月(5 月 22 日)举行的小米 15 周年战略新品发布会上,小米 15S Pro 手机正式发布。新机基于小米 15 Pro 手机研发,搭载小米自主研发设计的玄戒 O1 旗舰处理器,售价 5499 元起。IT之家注意到,小米公司应用软件部总监王乐今日凌晨就网友提出的“小米 15S Pro 手机会不会有 Beta 版本更新”
苹果 AI 的崩塌真相:从乔布斯愿景,到高管失误的困局 - 天天要闻

苹果 AI 的崩塌真相:从乔布斯愿景,到高管失误的困局

一向在意公众形象的苹果,因为 AI 拉跨,这次被扒干净了。作者|Moonshot编辑|靖宇AI,已经热了快三年了。各大科技巨头争先恐后下注入局,可偏偏在这个热潮中,最接近我们生活的苹果,却看起来离 AI 最远。最大的巨头,在最热的潮流面前,好似隐身了。去年 6 月 WWDC 上,苹果慢吞地发布了 Apple Intelligence,可如今快一...
小米耳机变成了小苏打... ... - 天天要闻

小米耳机变成了小苏打... ...

快递越来越方便手指一点送货到家有时还会突然收到陌生快递这时候一定要当心骗子投放礼品卡进行诈骗请大家提高辨别能力5月18日辖区居民龚先生带着两个未拆封的快递来到开发区派出所报警“这快递不是我的,不敢拆”值班民警宋月亮检查后发现快递单上的信息模糊且龚先生及家人均未下单拆开快递后发现外包装是“小米耳机”盒看...
董宇辉也会在直播间“演戏”了? - 天天要闻

董宇辉也会在直播间“演戏”了?

董宇辉也开始在直播间“表演”和品牌商谈判的戏码了。近日,董宇辉在直播间销售某品牌电视时,讲到一半,商家表示要收取最高200元的安装费。董宇辉一听眉头紧皱,两手一摊,当场回绝,“不合理,你要这样,我不讲了,我不接受”。
定了,小米这直屏顶配要提前发布,7400mAh太爽了 - 天天要闻

定了,小米这直屏顶配要提前发布,7400mAh太爽了

REDMI K80至尊版其实按照正常节奏来说,K80至尊版应该得七到八月才会发。但可能是今年性能机这块地,竞争太过激烈。又或者是小米想趁热打铁,接力刚发不久的小米15S Pro。如今各方爆料都显示,这机子将要在6月底发布。反正前两天,这机子
看销售高手,如何在众多竞争对手中,拿到大订单! - 天天要闻

看销售高手,如何在众多竞争对手中,拿到大订单!

看正文之前先问一下各位,在各领域中挣扎销售人员,这几年的销售工作好不好做?是不是感觉越来越挤了?这片红海越来越红了对吧?竞争对手太多太多了尤其这两年跨行业竞争的尤其明显,那么我们该如何在众多的竞争对手当中脱颖而出,今天我们用一个小故事说明,
中集集团助力国际知名航运企业果汁船罐体项目高效交付 - 天天要闻

中集集团助力国际知名航运企业果汁船罐体项目高效交付

近日,中集集团旗下中集醇科与中集世联达协同联动,圆满完成了国际知名航运企业果汁船的罐体交付工作。该项目的启动,源于中集醇科为这家国际知名航运企业量身定制的果汁船系统工程。项目涵盖14个大型果汁罐的制造,以及分批次短驳、吊装、运输、清关和安装