乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > 第一版wps用什么语言编写

第一版wps用什么语言编写

作者:乔山办公网日期:

返回目录:word文档

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


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

这个吧,我真的没办法一个个给你解释到底,不然你要是打破沙锅问到底,可能一顿火锅的功夫我也没办法给你说完。举个例子哈,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语言生万物,现在就是多生万物。这就是计算机技术发展的过程。

一些著名的软件都用什么语言编写?


一、操作系统:

Microsoft Windows :汇编 -> C -> C++

备注:曾经在智能手机的操作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。

相信很多朋友都知道Windows Vista,这个系统开发早期比尔盖茨想全部用C#写,但是最终因为执行慢而放弃,结果之前无数软件工程师日夜劳作成果一夜之间被宣告作废。

Linux :C

Apple MacOS : 主要为C,部分为C++。 备注: 之前用的语言比较杂,最早是汇编和Pascal。

Sun Solaris : C

HP-UX : C

Symbian OS : 汇编,主要为C++。 (诺基亚手机)

Google Android :2008 年推出: C语言(有传言说是用Java开发的操作系统,但最近刚推出原生的C语言SDK)

RIM BlackBerry OS 4.x : 黑莓 C++



二、图形界面层

Microsoft Windows UI :C++

Apple MacOS UI (Aqua) : C++

Gnome (Linux图形界面之一,大脚): C和C++, 主要是C。

KDE (Linux图形界面),C++。



三、桌面搜索工具

Google Desktop Search : C++

Microsoft Windows Desktop Search : C++

Beagle (Linux/Windows/UNIX 下): C# (基于开源的 .net : Mono)



四、办公软件

Microsoft Office :在 汇编 -> C -> 稳定在C++

Sun Open Office : 部分JAVA(对外接口),主要为C++ (开源,可下载其源代码)

Corel Office/WordPerfect Office : 1996年尝试过Java,次年被抛弃,重新回到C/C++

Adobe Systems Acrobat Reader/Distiller : C++



五、关系型数据库

Oracle : 汇编、C、C++、Java。主要为C++。

MySQL : C++

IBM DB2 :汇编、C、C++,主要为C。

Microsoft SQL Server : 汇编 -> C->C++

IBM Informix : 汇编、C、C++,主要为C。

SAP DB/MaxDB : C++



六、Web Browsers/浏览器

Microsoft Internet Explorer : C++

Mozilla Firefox : C++

Netscape Navigator :The code of Netscape browser was written in C, and Netscape engineers, all bought to Java (see M. Cusumano book and article) redeveloped the browser using Java. It was too slow and abandoned. Mozilla, the next version, was later developed using C++.

Safari : (2003年1月发布)C++

Google Chrome : (2008的发布)C++

Sun HotJava : Java (死于1999年)

Opera : C++ (手机上占用率比较大)

Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java. The browser is split in two parts, an ultra thin (less than 100Kb) "viewer" client part and a server side responsible of rendering. The first uses Java and receives the page under the OBML format, the latter reuses classical Opera (C++) rendering engine plus Opera's Small Screen Rendering, on the server. This allows Opera to penetrate various J2ME-enabled portable devices, such as phones, while preserving excellent response time. This comes obviously with a few sacrifices, for instance on JavaScript execution.

Mosaic : 鼻祖(已死) C 语言



七、邮件客户端

Microsoft Outlook : C++

IBM Lotus Notes : Java

Foxmail : Delphi



八、软件开发集成环境/IDE:

Microsoft Visual Studio : C++

Eclipse : Java (其图形界面SWT基于C/C++)

Code::Blocks : C++

易语言:C++

火山中文:C++

火山移动:C++



九、虚拟机

Microsoft .Net CLR (.NET的虚拟机): C++

Java Virtual Machine (JVM) : Java 虚拟机:C++



十、ERP软件 (企业应用)

SAP mySAP ERP : C,后主要为“ABAP/4”语言

Oracle Peoplesoft : C++ -> Java

Oracle E-Business Suite : Java



十一、商业智能(Business Intelligence )

Business Objects : C++



十二、图形处理

Adobe Photoshop : C++

The GIMP : C



十三、搜索引擎

Google : 汇编 与 C++,主要为C++



十四、著名网站

eBay : 2002年为C++,后主要迁至Java

facebook : C++ 和 PHP

This line is only about facebook, not its plugins. Plugins can be developed in many different technologies, thanks to facebook's ORB/application server, Thrift. Thrift contains a compiler coded in C++. facebook people write about Thrift: "The multi-language code generation is well suited for search because it allows for application development in an efficient server side language (C++) and allows the Facebook PHP-based web application to make calls to the search service using Thrift PHP libraries." Aside the use of C++, facebook has adopted a LAMP architecture.

阿里巴巴和淘宝:php->C++/Java(主要用)



十五、 游戏 :

汇编、C、C++

星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界.... 数不胜数了,自己数吧

都是用C++开发的,C++语言靠近系统地称,执行速度最快。比如你的两个朋友与你分别玩用VB、Java、与C++编写的“跑跑卡丁车”,你玩C++编写的游戏已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相当的卡啊,



十六、编译器

Microsoft Visual C++ 编译器: C++

Microsoft Visual Basic 解释、编译器:C++

Microsoft Visual C# : 编译器: C++

gcc (GNU C compiler) : C

javac (Sun Java compiler) : Java

Perl : C++

PHP : C



十七、3D 引擎

Microsoft DirectX : C++

OpenGL : C

OGRE 3D : C++



十八、Web Servers (网页服务)

Apache : C和C++,主要为C

Microsoft IIS : C++

Tomcat:Java

Jboss:Java



十九:邮件服务

Microsoft Exchange Server : C->C++

Postfix : C

hMailServer : C++

Apache James : Java



二十:CD/DVD 刻录

Nero Burning ROM : C++

K3B : C++



二十一:媒体播放器

Nullsoft Winamp : C++

Microsoft Windows Media Player : C++

Microsoft Windows Media Player : C++



二十二:Peer to Peer (P2P软件)

eMule : C++

μtorrent : C++

Azureus : Java (图形界面使用基于C/C++的SWT,类Eclipse)



二十三:全球定位系统(GPS)

TomTom : C++

Hertz NeverLost : C++

Garmin : C++

Motorola VIAMOTO : 2007年6月,停止服务。 Java。



二十四:3D 引擎

Microsoft DirectX : C++(相信玩游戏的同学都知道这个,现在最高版本是DX11)

OpenGL : C

OGRE 3D : C++


二十五:服务器软件

Apache:C

Nginx:C

IIS:C


二十六:其他相关

OpenStack:Python

桌面端开发都用什么语言,简单分析下这些语言的优劣势对比?


对于编程,没有最好的语言,只有最合适的语言。下面谈谈常见的PC桌面端开发语言。

C/C++系列

C++系列最大的优点就是效率高,不过缺点也是很麻烦的,上手难度大。下面介绍介绍两种有官方背书的,开发过程中经常用到的C++界面库,至于Duilib、BCG等第三方开源库这里不再介绍。

1、Qt

C++开发界面首选开源库。在C++领域,有GUI的地方都有Qt,有嵌入式的地方一般也有它,金融、工业、电力、视频监控等行业也有它。跨平台支持,文档齐全,API设计优雅,一直保持更新,它不仅仅是一套界面库,更封装了多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等接口。

常见的抓包神器Wireshark、文档编辑器WPS就是使用Qt开发而成,下面附一张使用QSS实现的界面换肤效果图。

2、MFC

俗话说,MFC==没饭吃,虽然现在2020年都已经过完了,但是还是有大量的公司在使用MFC这一上古技术来开发界面,它并没有灭绝。不过大多数处于维护态了。新项目我想很少有公司会采用MFC来开发了。

如果你是在校学生, 不建议深入学习MFC相关技术,理解大致思想即可。

如果你已经参加工作,不幸处于维护MFC老项目之中,那么建议工作之余多学习其他技术,早日跳槽脱坑。

C#

简单易上手,这家伙绝对是Windows界面开发的王者,背靠微软这一强大后盾,为开发者提供所见即所得的开发模式,即使是新手也可以通过简单的拖拽来开发出带有图形界面的可视化软件,不仅可以开发PC客户端,更能开发Web端。最大的缺点是要安装framework组件。

JS系列

曾梦想一统天下(Web、移动端、PC端)的JS,推出了Electron,为开发者提供PC客户端开发,更有VSCode、Atom这样的成熟案例。不过最大的缺点就是开发出来的东西体积太大了,运行效率偏低。


Delphi

曾经的王者,现在已经落寞到很少有人知晓的地步,虽然它还在坚持更新。将所见即所得发挥到了极致,至于到底它有多强大多好用呢,因为自己确实没有使用过,就不再妄加评论了。

如果没有特殊需求的话,不再建议大家再去纠缠Delphi 了,比较是过时的东西。

Python

没错,Python不仅可以写爬虫,更能来开发界面。

借助于PyQT,你也可以快速完成图形化界面开发工作。下图是某大神高仿的网易云音乐的开源项目「FeelUOwn」,使用PyQT开发而成,号称是一个符合 Unix 哲学的跨平台的音乐播放器。目前该作品已在Github上开源。


以上就是我的观点,喜欢就【点个赞】吧!

WPS是山寨的吗?DOS时代WPS有啥老底?


WPS不是山寨,在DOS时代的中国市场WPS是绝对的王者,市场占有率高达70%,微软在它面前都得低头,只不过,最后它被微软狠狠的坑了一次



WPS诞生于1988年,原名Word Processing System(文字处理系统),是一个叫求伯君的大神编写的,相信很多人都听过它的大名。在ODS时代之前是没有中文排版软件的,求伯君看准了以后市场巨大,编写了WPS,推出之后大获成功,一度占据了70%左右的市场份额,培养了用户的使用习惯。

92年微软在中国设置办事处,正式入中国,当时市场上使用的排版软件都是WPS,为了适应我们的使用习惯,96年微软主动找上求伯君,希望与WPS格式共享,并且互相兼容。当时求伯君的金山软件与微软相比体量真的太小了,一个国际大公司抛来了橄榄枝,他们毫不犹豫地答应了。之后签署了一份协议——双方都能通过软件中间层的RTF格式来互相读取编写对方的文件。也就是wps能够编辑Word格式的文件,Word格式也能编辑wps格式的文件。正是这个文件的签署也把wps推向了深渊



在当时WPS与微软的WORD都是需要付费的,只不过微软将Windows与Word捆绑销售。刚开始相安无事,后来微软在中国市场纵容盗版,因为双方签署了协议,WORD是可以直接编辑之前的WPS文档。所以对于WPS的付费需求就少了很多,导致WPS市场份额大跌,陷入困境,最后WPS推到所有的代码,重新设计,反过来兼容微软的文件格式,到这WPS可以说烟消云散了,现在的WPS也仅仅是继承了这个名字罢了。

05年9月新版本的wps上线,并承诺面向个人永久免费,WPS这才从困境中慢慢的走出来。因为有之前协议的存在,就算WPS100%模仿MS Office也不能算作侵权,因为两者采用的底层技术是不一样的,只是通过中间层的RTF格式来互相读取编写对方的文件。



最后再来说说大家经常吵得不可开交的抄袭问题,上文已经说了它们采用的技术底层是不一样的,只能通过中间层的RTF格式来互相读取编写对方的文件,所以不存在抄袭,一说,仅仅只能算是模仿,至于谁模仿谁,现在大家应该都心知肚明了。

至于很多人说的微软抄袭WPS,相信指的就是WPS与微软格式互通这件事,当时并不是微软没有文字处理工具,微软的文字处理工具是要早于WPS的,它为了适应我们的使用习惯,才与wps格式互通,后来微软的文字处理工具其实比WPS更加的好用,真正实现了所见即所的,几个人做的东西终究比不上几百个人做的东西,小的团队终究战胜不了资本。

大型的app都是用什么编程语言编写的?


你好,我来回答这个问题,我有9年多的IT从业经验,负责过一个大型App的前后端架构设计,以及多个小型App的架构编码工作。

大型App的开发,具体用什么编程语言,这个要分场景来说:


①追求用户体验的C端App:

这类面向普通大众、追求良好体验的App,例如微信、支付宝、今日头条等,则建议使用原生代码来开发。即Android使用Java或Kotlin,iOS使用swift语言。

使用原生语言开发,可以充分发挥出App的所有优势,你可以使用任何API提供的功能,而不像混合开发那样有着种种限制。此外,原生代码开发的App的运行速度也是非常流畅的。对于考虑兼容性广、适配所有机型的App来说,原生开发几乎是唯一的选择。

这类开发的弊端是研发成本较高,因为同样的业务逻辑需要在Android和iOS上分别来实现。



②追求迭代效率的B端App:

一些公司内部使用的大型App,由于使用范围仅限于某一个组织内部,不需要追求极致的用户体验以及广泛的机型适配,而追求的是系统版本的功能开发,问题处理的便捷性,更重要是降低App的研发成本。

对于这类App,适合采用混合开发的模式来做,例如Flutter、Ionic、Cordova等,这类开发的优势是一次开发,处处运行。无需再单独为Android和iOS分别开发代码,可有效降低企业的研发成本,也提高了App的版本迭代速度。此外,之前需要高薪聘请Android和iOS工程师,现在只需要会Web开发的人员即可。

这类App的弊端是流畅性较低,兼容性弱,无法开发大型游戏等对性能要求较高的场景。


以上就是目前App开发的两大分类,均占有一定的市场。所以你这个问题不能一概而论,需要分上述两个情况来决策,希望可以帮助到你!

windows客户端程序一般用什么IDE和什么编程语言编写?


作为一名一线开发工程师,我将自己用到的和看到的做一介绍,如果有不妥的地方,欢迎大家留言讨论。


1. C/C++系列

IDE不用说,首选全宇宙最牛的IDE VS系列,该部分有代表性质的也就是MFC、Qt了,下面分别介绍。

1.1 MFC

一个早已经被微软抛弃的产物,不过目前还占据着一定的市场,主要在军工、自动化等行业,如果你不幸入职一家还在维护这MFC老项目,那么建议你该考虑考虑下一份工作了,MFC==没饭吃,重要的事情说三遍,不建议选择MFC,不建议选择MFC,不建议选择MFC

1.2 Qt

当然IDE首推QTCreator,当然,你也可以选择VS搭载QT插件进行开发。跨平台支持,在国产化越来越受到重视的今天,相信Qt的市场也会逐步增大。

下面是一款使用QML绘制的界面效果图

1.3 C++第三方界面库

这里就不一一列举了,可直接网上搜索,重点推荐一款duilib。

Duilib是一个Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。Duilib还在不断的发展中,在文档、例子、动画、渲染引擎等多个方面将持续改进。

除去各方面优点,其最不足之处就是原始代码作者已经不再维护,可能遇到的坑会比较多,各个公司也都是维护这自己的一个版本。

下面是基于Duilib开发的一款仿360安全卫士的界面效果。

2. C#

程序界的富二代,有着微软这一亲爹的扶持,VisualStudio强力支持。通过简单的拖拽界面,即使你是一个新手,也可以快速做出一款有着可视化界面的GUI程序,当然想要做好、做深入了还是需要你花费一定的功夫来学习的。常见的管理系统使用它来开发的还是很多的。其优势就在于快速开发,很好的兼容瘟都死。


3. JavaScript

有代表性的要数Electron了,不可一世的VSCode就是由其开发而来,JS大有一统天下的趋势(后台,PC端,移动端)。

4. Java系列

这个,使用的应该不是很多了,作为了解即可,JavaSE。使用Eclipse开发即可。

为什么微软office动辄几个GB而wps实现相同功能却几百兆呢?


Microsoft Office与WPS Office它们两个根本就不是一个量级的东西

MS Office动辄几个GB是因为它除了会安装我们常用的Excel、Word、PPT之外。Outlook、OneNote、Access、OneDrive、Skype等一些办公软件它也都包含在了MS Office中,MS Office更像是一个“办公的系统”,你可以在你能够想到的他都有,你可以利用MS Office完成几乎所有的常规工作。而WPS Office它仅仅包含了Excel、Word、PPT,这三个办公软件如果仅仅对比这三个软件它们的大小差不了多少的。当然MS Office的还是会更大一些,因为它包含的东西更多

不管是MS Office还是WPS Office很多人一生可能用到只能用到它们10%左右的功能。而我们最常用的Excel、Word与PPT它们的功能大致上也都是一样的。所以就会让人觉得这两个office功能是一样的。

有人可能会说:WPS这么明目张胆的抄袭微软的office,难道它们就不管吗?不是微软不想管,而是管不了。这就不得不提一下WPS与微软的一段爱恨情仇了


WPS原名Word Processing System(文字处理系统)诞生于诞生于1988年,是一个名叫求伯君的人编写的。当时能用的上电脑的人非常的少,中文排版软件更是仅此一款,WPS应运而生迅速占领了市场,几乎90%的人都是使用wps来对文字进行排版。1996年微软主动找上WPS,希望WPS的格式与微软共享,并且是两者互相兼容。WPS答应了它们的要求。随后双方签署了一份协议——双方都能通过软件中间层的RTF格式来互相读取编写对方的文件。也就是wps能够编辑Word格式的文件,Word格式也能编辑wps格式的文件。正是这个文件的签署也把wps推向了深渊


Windows系统刚进入中国的时候,微软将操作系统与office套件捆绑销售,纵容盗版,因为协议的关系,系统内置的office可以直接编辑wps文件,培养了用户的使用习惯,迅速占领了中国市场,导致wps的市场份额大跌,金山软件也陷入困境。为了适应用户,金山被迫推到所有的代码,重新设计WPS,反过来与微软的office兼容,2005年9月12日新版本的wps上线,并承诺面向个人永久免费,这才从困境中慢慢的走出来。因为有之前协议的存在,即使WPS100%模仿微软的office也不能算作侵权,因为它们两者采用的底层技术是不一样的,只是通过中间层的RTF格式来互相读取编写对方的文件。

最后还需要说一句的是:网上很多人说wps的诞生早于微软的office,微软的offcie抄袭wps之类的。其实并不是,当时的wps只是一个文字处理工具,而office是一个办公套件,微软的第一版Word诞生于1983年远早于WPS的1988年。wps被迫推到重来后将旧代码全部舍弃,采用全新的代码。并且采用微软Office的标准,目的就是希望能能达到“一字不差、一行不差、一页不差”的兼容效果。两者也不存在抄袭一说,毕竟底层都是不一样的。

本文标签:

相关阅读

  • 第一版wps用什么语言编写

  • 乔山办公网word文档
  • 软件是用编程软件编的,编程软件又怎么来的? 软件是用编程软件写成的,那么编程软件是怎么来的呢? 这个吧,我真的没办法一个个给你解释到底,不然你要是打破沙锅问到底,可
关键词不能为空
极力推荐
  • 简述wps和office的相同点

  • excel和wps的区别是什么?同一功能在两个程序都能实现? 70-80%的功能是一样的 WPS的优点: 1.安装体积小,在这10年前,电脑内存或者硬盘容量小的时候,优势很明显,现在谁还在乎那十

ppt怎么做_excel表格制作_office365_word文档_365办公网