计算机软体是怎么发展的。

例如怎么由最初的输入0和1,到可以用汇编语言,再到各种高级语言?低级语言怎么编写的高级语言?

计算机硬体是怎么发展的。

例如怎么让支持汇编语言的计算机,怎么发展到可以支持各种高级语言?。

心里一直有这些疑问,然而网上可以搜到的又解释的有些笼统,没有具体描述,希望大家可以详细解答一下。


01生汇编,汇编生c,c生万物。

推荐你读一读李忠的《穿越计算机的迷雾》主要是讲硬体发展史,软体发展史总的来说就是机器语言-&>汇编语言-&>高级语言,剩下的就是各个IT公司各显神通。可以阅读吴军的《浪潮之巅》和美国沃尔特·艾萨克森写的《创新者》。发展史之类的偏历史书籍最好是找本书,静下心,慢慢读,如果只是上网看的话只能了解模糊的大概情况。


自己去买本书看,《编码:隐藏在计算机软硬体背后的语言》


不请自来!

你的问题很宏大,我只能说个大概。

事实上,现代的数字式电子计算机,它从正式诞生到今天,不过才发展了几十年。

在数字电子计算机诞生前,曾有许多先驱者做过许多尝试,典型的有帕斯卡的纯机械式计算机和近代的模拟电子计算机,但是它们的应用范围有限,最后都不太成功。直到英国的阿兰图灵提出了图灵机模型,并成功建造出实物,解决了重要的密码破译问题,才为数字电子计算机的诞生铺平了道路(电影《模仿游戏》就讲述了二战期间,图灵和他的团队一起共同创建和应用世界上第一部电子计算机攻破德军密码的故事,相当精彩值得一看)。

现代数字电子计算机都以布尔代数和逻辑电路为基础。

作为普通大众,如果想了解计算机软硬体发展史,最好的科普书是《编码:隐藏在计算机软硬体背后的语言》。计算机专业课程中有《计算机系统原理》《操作系统》《编译原理》等课程,都是跟你的问题有关的内容。


首先,机器码的产生不是凭空产生的,而是根据设计好的电路产生的,也就是说,你设计好了电路之后,自然就有了对应的机器码了。那电路是怎么设计的呢?是根据布尔代数和逻辑电路的本质一样性。布尔代数非真既假,和逻辑电路的开或关在本质上是一样的。所以可以用布尔代数计算的数学问题,逻辑电路都是可以实现的。而布尔代数其实更像逻辑学,罗素已经做了证明,所有的数学问题都可以转化为逻辑问题,而逻辑问题就可以使用布尔代数表示和解决,而布尔代数和逻辑电路本质是一样的,所以,所有的数学问题,都可以使用逻辑电路解决,这也就是为什么设计的电路可以解决数学问题的原因。电路不是胡乱设计的,最开始都是一群数学家和工程学家和科学家一块研制出来的,都是经过理论证明的,这样设计的电路,是可以解决数学问题的。

前奏结束,下面,低级语言到高级语言是靠自己的迭代实现的,最开始是直接使用开关和插线实现二进位的输入的,然后是列印的二进位纸带,再之后是汇编程序,最开始的汇编程序就是使用二进位写的,有了汇编程序后,就可以用汇编程序写功能更强大的汇编程序了,然后用功能更强大的汇编程序写高级语言,比如fortran,也可以用更高级的汇编语言写操作系统了。汇编器开始的时间遭遇操作系统,汇编语言出现于1946年11月,汇编器出现于1949年5月,操作系统出现于1955年。最开始的汇编器应该也具有一定的操作系统的功能应该。

第三,计算机硬体的发展,最开始是普通的机械开关,后来变成电子管也叫真空管,再后来是三极体或叫晶体管,再后来把三极体集成到一块半导体晶元中,再后来是大规模集成电路。其实,硬体一直都是工艺再进步,本质是没变的,无论工艺怎么进步,都是使用能表示开和关的电子元件组装逻辑电路或布尔电路的。

第四,怎么让让支持汇编语言的计算机,怎么发展到可以支持各种高级语言?高级语言和汇编语言只不过是信息而已,计算机除了可以处理数学问题,还可以处理信息。就是把高级语言先经过词法分析、语法分析、语义分析转成汇编语言,再把汇编语言使用汇编器翻译成二进位语言,也就是高低电平。电路只能认识高低电平,因为电路的输入只可能是高电压或低电压。

这几天的研究成果。


推荐科普书。

《计算机是怎样跑起来的》讲的比较细,作为入门读物可以了。如图,我买的电子版的。


都是编译器相关问题

是计算机相关专业的等著学《编译原理》,不是的话找相关教程或者公开课看看


谢邀

计算机硬体发展类的知识可以参考一些专业级入门的书 例如湖北技能高考的计算机基础这样的书 一般都会讲解硬体发展而所谓的低级语言编写高级语言 我用C语言举例子1.由机器代码(01)编写汇编语言2.由汇编语言编写最最基础的C语言编译器3.由基础的C语言编译器编译功能更复杂的C语言编译器4.一直参照第三条

以上

割割割割割割割割

上面的内容严格地说属于科普类的 适合入门用 如果想更深入的了解 请参考其他答案的大佬们

ps 为什么!为什么改题目了!我好尬啊


cpu是人类历史上最宏大的智慧结晶


0和1表示开与关,开关的组合行程逻辑运算,从而衍生指令。有指令就有指令对应的表达式,一堆给指令命名形成了汇编,然后简化汇编形成了高级语言。


推荐阅读:
相关文章