软件是由谁发明的?

Python016

软件是由谁发明的?,第1张

Dennis MRitchie,丹尼斯·里奇,美国人。

软件的起源即是C语言,而C语言的发明者非C++的开发者和设计师,C语言之父丹尼斯·里奇莫属。

C语言是使用最广泛的语言之一,C语言的诞生是软件发明的起点,是软件发展史中的一个里程碑。自C语言出现后,以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。但无法撼动C语言在系统编程、嵌入式编程等领域的统治地位。

C语言就是丹尼斯·里奇开发的,而这还是他在做另一个项目时的副产品。丹尼斯·里奇还和肯·汤普逊一起开发了Unix操作系统,因此,他还是名副其实的Unix之父。

扩展资料:

丹尼斯·里奇的主要软件研究以及影响

C++的开发者和设计师、里奇在贝尔实验室的同事比雅尼·斯特劳斯特鲁普说:“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中。”

事实上,丹尼斯·里奇与肯·汤普逊两人发展了C语言,同时发展了Unix操作系统,在电脑工业史上占有重要的席位。

至今为止C语言在发展软件和操作系统时依然是一个非常常用的电脑语言,它对许多现代的编程语言如C++、C#、java等拥有极大的影响。

在操作系统方面Unix也具有极大的影响:今天市场上有各式各样的Unix版本如Solaris、MacOSX和BSD等,以及与Unix非常相似的系统如Minix和非常普及的Linux操作系统。

甚至其MicrosoftWindows操作系统与Unix相竞争的微软为他们的用户和开发者提供了与Unix相容的工具和C语言编译器。

里奇还参加发展了Unix和C语言的两个后继软件,它们分别是Plan9和Inferno操作系统以及Limbo语言。两者均是基于他以前的工作上发展的。

参考资料来源:百度百科-丹尼斯·里奇

C语言起源于70年代, 由windows95推算 大约是90-93年,C语言比windows早约20年。操作系统不只有windows,windows之前已经有超过20个操作系统,只是windows的理念很先进,提出“所见即所得”,让现有的操作系统有继承这一理念,基本都实现界面作为人机交流。同时还有很多系统是不需要界面的,主要是后台系;因为界面会占用很多资源来达成人机交流,而后台系统不需要人机交流,主要是进行资源调配和数据处理,后台系统是可以通过前台系统进行人机交流。

从最早的计算机开始了解计算机(程序软件方面)的发展过程,操作系统还是比较后才出现的。最早的是机器语言,令人头大的0与1二进制->进行八进制编码辅助->引入伪码辅助记忆->引入字符辅助交流->接口集合,模块化->解释语言(BASIC)->编译原理(B,C语言)->出现操作系统->操作系统各自发展->操作系统逐步融合->Windows->继承界面理念的各种操作系统(linux,安卓,苹果OS,虚拟机等等);由此可知,出现新问题和新需求,解决这些问题和需求是发展的主线,而操作系统是问题出现和解决得越来越多,需要更好地整合才建立和发展起来的。在哪里运行是最早的问题,原本没有内存(RAM)的,计算机就在数据(ROM),寄存器,运算单元,控制单元运行。由于寄存器成本高而少,然后出现内存。然后内存就成为运行主件之一。编程语言比编译器早一些,因为解释语言是单语句执行的,效率很低,就催生出先编译后执行的编译语言(B,C语言等等)。其实没有编译语言,根本无法编出真正的操作系统,因为操作编译包括太多功能,其代码都是以M开始(现在以G为单位)的,如果直接使用机器语言写出这M(8百万个0或1),G(亿个0和1)单位内容,可以先想象当中的出错和调试难度。

所以,编程语言可以不需要操作系统可以存在,也可以寄存于不同的操作系统,程序可以不需要操作系统存在(单片机就是典型的无操作系统),编译器更是操作系统的基石。操作系统更象个管理者,其他的所有一切由他综合管理,整合在一起,这些其他才是操作系统的基本单元。操作系统不是必须的,却是锦上添花。

楼上你就2吧,C#和C都不分你就敢来发帖

复制自新云网络的Anders Hejlsberg访谈,讲述了C#的种种背后:

在CNET News.com对微软公司最杰出的软件设计师 Hejlsberg的采访过程中,双方就C#的起源、Web服务的未来等问题进行了探讨。

当微软公司需要一项新技术来确保在软件业的统治地位时,它需要Anders Hejlsberg的帮助。

对于成千上万的使用Borland Turbo Pascal和 Delphi进行编程的软件开发者来说,Anders Hejlsberg,这位40岁的软件大师让他们肃然起敬,是他创制了上述两个备受欢迎的软件开发工具。

现在微软公司希望通过它最新的产品-C#软件开发语言-来赢得软件开发者的拥戴,在微软公司把视窗操作系统和软件向网络迁移的新市场战略中,C#语言是最重要的环节。

经过几年时间的埋头苦干,C#已成为微软公司反击Java语言的最有力武器。六年前,微软公司的老对手Sun公司推出了Java语言,并获得了Oracle和IBM公司的全力支持。

目前各大软件公司都争先恐后地把各自的应用程序移植为面向手持设备和个人电脑的互联网服务,因此微软公司希望软件公司会采用C#语言来编写各自的基于Web的软件和服务。同样,微软公司也希望商家能采用.Net家族的电子商务软件来运行Web服务。是的,微软公司希望用C#来打倒Java。

但就目前来说,C#还处于劣势,毕竟Java已经历了6年的风风雨雨,而C#还处于孕育时期。C#的正式版本最早也要等到年底才能投放市场。

市场分析人员认为微软公司希望利用C#来阻止原来的C++开发人员投向Java阵营。举例来说,C#摹仿了Java提供的多种特性,包括“碎片回收机制”(garbage collection)、可以利用多种类型的语言进行开发的“通用引擎”等等。

在CNET News.com对 Hejlsberg的采访过程中,双方就C#的起源、Web服务的未来等问题进行了探讨。Hejlsberg也就C#相对于Java的优点做了特别的说明。

问:创造C#的原因是什么?它是C++语言的升级吗,是否可以说C#是用来对抗Java的武器?

答:C#是立足于以往的基础上进行开发的,应该说它混合了以往开发语言的精华,但C#不会是终结其它开发语言的终极语言。这是个进化的世界,C#只是面向市场的需求应运而生的。

在C#语言的几个设计目标中,确保编程人员的高效生产率是最重要的一点。我们在设计C#的时候,就从大家熟悉的C++开始并对该语言进行了简化。我们希望把C++具备的强大和灵活、VB具备的简单易用同时赋予C#语言。C++确实需要升级了,但我们力求在增加更多的新特性-比如“碎片收集机制”-的同时,尽可能少地对它进行更动。

问:那么C#主要面向哪些开发人员?C++、Java还是Visual Basic?

答:C#语言传承自C和C++,它和Java一样,属于同一个语言体系。因此C#主要面向C和C++开发人员。

问:在与Java的竞争中,你认为C#将会表现出色吗?

答:你需要注意到,Java的推出领先于.Net平台整整五年的时间。而我们的.Net正式产品还没有投放市场。本公司也不会依靠现有的测试版C#进行市场竞争。但本公司认为C#测试版的表现符合预期水准。

问:说服开发人员弃Java而用C#的理由会有哪些?

答:当谈到Java,大多数人是在谈开发语言,但Java有时也被当作系统运行平台。本公司的C#就是纯粹的开发语言,而.Net可以说是它的运行平台。

我可以说C#与C++靠的更近。Java传承自C++,但当你观察它的模块,就会发现有些东西被省略了。而C#则保留了更多C++的特性。

C#语言首次引进了部件导向特性、方法以及事件。例如当你点击鼠标,就可以声明一个称为“点击”事件。而同样在Java语言中,开发人员就不得不进行特性和事件的模拟。尽管通过一个称为“Java Bean”的部件模块,开发人员也可以做同样的事,但这要比在C#开发环境中困难的多。

此外互用性也是C#的重要特性之一。Java一向以平台无关性作为卖点,但我们认为对已有的软件代码做出支持才是最重要的。C#可以提供出色的代码互用能力(例如已有的C++代码),且不需要开发者增加兼容性代码。

此外,Java和C#之间还有一点明显不同之处。当两三年前微软公司着手C#的开发,就注意到了如何让C#更适应新生的互联网应用世界的需求,而Java是在后来才补充了Web服务。

问:每个大软件厂商都在提出自己的Web服务版本。比如用户可以通过手机来进行互动商务活动,但这些许诺大都是空头支票,你认为何时互联网服务才会真正的蓬勃发展起来?

答:首先我认为,技术的发展是逐步渐进的。今天人们使用互联网,很大程度上是一种人对于机器的互动。开始人们会在门户网站中使用Email和日程安排,但逐渐地会在网络上获得更多的应用服务,相信再发展下去,人们日常需要的服务将会集成到智能设备和个人电脑中。这种进步会是自然而然的。

目前我们不得不等待宽带网络的到来,我们还需要无线设备具有更大的数据吞吐量。技术发展的方方面面将会是一个齐头并进的局面