应用程序开发语言很多,我们常见的应用程序开发语言有哪些,他们各是什么,有什么特点,作为还未入门的非专业人士可能不是很清楚。为了让大家对应用程序开发语言有些更清楚的认识和详细的了解特别总结了一些应用程序中常见的开发语言以及其各自的特点,希望对大家有所帮助。
1、Java和C++
和C#相对于C++的不同最大的有两点:第一点是他们运行在一个虚拟环境之中,第二点是语法简单。对于开发人员而言,在语法和语言机制的角度可以把Java和C#视为同一种语言。C#更多的是个政治的产物而不是技术产物。如果不是Sun为难微软的话,我想微软不会费尽心力推出一个和Java差不多的C++++,记得Visual J++吗,记得WFC吗?看看那些东西就会知道微软为Java曾经倾注了多少心血。而且从更广泛的角度来说,两者也是非常相似的——C#和Java面对的是同样的问题,面向应用领域的问题:事务处理、远程访问、Webservice、Web页面发布、图形界面。那么在这一段中,我暂且用Java这个名字指代Java和C#两种语言——尽管两者在细节上确实有区别。Java是适合解决应用领域的问题的语言。最大的原因Java对于使用者来说非常简单。想想你学会并且能够使用Java需要多长时间,学会并且能够使用C++要多长时间。由于Java很大程度上屏蔽了内存管理问题,而且没有那么多为了微小的性能提升定义的特殊的内容(比如说,在Java里面没有virtual这个关键字,Java也不允许你直接在栈上创建对象,Java明确的区分bool和整型变量),他让你尽量一致的方式操作所有的东西,除了基本数据类型,所有的东西都是对象,你必须通过引用来操
作他们;除了这些之外,Java还提供了丰富的类库帮助你解决应用问题——因为它是面向应用的语言,它为你提供了多线程标准、JDBC标准、GUI标准,而这些标准在C++中是不存在的,因为C++并不是直接面向解决应用问题的用户,有人试图在C++中加入这些内容,但并不成功,因为C++本身太复杂了,用这种复杂的语言来实现这种复杂的应用程序开发框架本身就是一件艰难的事情,稍后我们会提到这种尝试——COM技术。渐渐的,人们不会再用C++开发应用领域的软件,象MFC\QT\COM这一类的东西最终也将退出历史舞台。
2、C++语言的演进
最初要从二进制代码和汇编说起,但那太遥远了。我们就从面向过程的语言说起吧(包括Basic\C\Fortran\Pascal)。这种面向过程的高级语言终于把计算机带入了寻常的应用领域。其中的C语言因为它的简单和灵活造就了Unix和Windows这样的伟大的软件。
面向对象的语言是计算机语言的一个合乎逻辑的进化,因为在没有过多的影响效率、简单性的前提下提供了一种更好的组织数据的方法,可使程序更容易理解,更容易管理——这一点可能会引出不同意见,但事实胜于雄辩,C++终于让C语言的领地越来越小,当今还活着的计算机语言或多或少的都具备面向对象的特征,所以这一点并不会引起太多困惑。C++的成功很大程度要归因于C,C++成为它今天的样子是合乎逻辑的产物。因为在面向过程的时代,C几乎已经统一天下了。今天著名的语言象Java\C#都从C借鉴了很多东西,C#本来的意思就是C++++。其实C++曾经很有理由统一面向对象程序设计语言的天下来着,但可惜的是,C++太复杂了。即使是一个熟练的程序员,要你很清楚的解释一些问题你也会很头痛。举几个还不是那么复杂的例子来说:
对=的重载\成员转换函数\拷贝构造函数\转化构造函数之间有什么区别和联系呢?
定义一个类成员函数private:virtualvoidMemFun()=0;是什么意义呢?
int(*(*x(int))[4])(double);是什么意思?
还有其他的特征,比如说可以用来制造一种新语言的typedef和宏(虽然宏不是C++的一部分,但它与C++的关系实在太密切了),让你一不小心就摔跤的内存问题(只要new和delete就可以了吗?有没有考虑一个对象存放在容器中的情况?)……诸如此类,C++是如此的复杂以至于要学会它就需要很长的时间,而且你会发现即使你用C++已经好几年了,你还会发现经常有新东西可学。你想解决一个应用领域的问题——比如说从数据库里面查询数据、更改数据那样的问题,可是你却需要首先为C++头痛一阵子才可以,是的,你精通C++,你可以很容易的回答我的问题,可是你有没有想过你付出了多大的代价呢?我不是想过分的谴责C++,我本人喜欢C++,我甚至建议一个认真的开发普通的应用系统的程序开发员也去学习一下C++,C++中的一些特性,比如说指针运算\模板\STL几乎让人爱不释手,宏可以用几个字符代替很多代码,对系统级的程序员来说,C++的地位是不可替代的,Java的虚拟机就是C++写的。C++还将继续存在而且有旺盛的生命力。
3、详细介绍Delphi
Delphi是从用C++开发应用系统转向用Java开发应用系统的一个中间产物。它比C++简单,简单的几乎象Java一样,因为它的简单,定义和使用丰富的类库成为可能,而且Delphi也这么做了,结果就是VCL和其他的组件库。而另一方面,它又比运行于虚拟环境的Java效率要高一些,这样在简单性和效率的平衡之中,Delphi找到了自己的生存空间。而且预计在未来的一段时间之内,这个生存空间将仍然是存在的。可以明显的看出,微软放弃了这个领域,他专注于两方面:系统语言C++和未来的Java(其实是.Net)。也许这对于Borland来说,是一件很幸运的事情。如果我能够给Borland提一些建议的话,那就是不要把Delphi弄得越来越复杂,如果那样,就是把自己的用户赶到了C++或Java的领地。在虚拟机没有最终占领所有的应用程序开发领域之前,Delphi和Delphi的用户仍然会生存得很好。
上面详细介绍的三种语言,大家可能只是了解其中的一个。作为应用程序的开发人员,可能是实际运用中只会使用到其中的一种,已经足够应付开发过程中的问题,其他可以浅尝辄止即可。当然,了解更多那更好了。
word如何进行全文分栏和某段落分栏 word如何进行全文分栏和某段落分栏的区别
word如何进行全文分栏和某段落分栏 在Word2003中,我们可以对一篇文章进行分栏设置,分两栏,分三栏都可以自己设置.像我们平常看到的报纸.公告.卡片.海报(39)人阅读时间:2024-09-12word2010大纲怎么显示(word2010大纲级别怎么设置)
word2010大纲怎么显示(word2010如何使用大纲视图) 有些时候我们在网上下载的一些word文档太长了,我们其实可以显示大纲,看清楚每一节是否有自己需(28)人阅读时间:2024-09-12七种常见的Word打印设置技巧(七种常见的word打印设置技巧)
七种常见的Word打印设置技巧 七种常见的Word打印设置技巧 1.打印指定页码 有些时候,我们只希望打印文档中的某些页码,只要点击菜单命令"文件→打印",在打(30)人阅读时间:2024-09-12四种方框内打钩符号的简易方法(四种方框内打钩符号的简易方法视频)
四种方框内打钩符号的简易方法 如何在Word方框里打钩? 四种方框内打钩符号的简易方法 如何在Word方框里打钩? 一.在方框里打钩的方法一 利用带圈数字来(29)人阅读时间:2024-09-12word如何进行全文分栏和某段落分栏 word如何进行全文分栏和某段落分栏的区别
word如何进行全文分栏和某段落分栏 在Word2003中,我们可以对一篇文章进行分栏设置,分两栏,分三栏都可以自己设置.像我们平常看到的报纸.公告.卡片.海报..2024-09-12word2010大纲怎么显示(word2010大纲级别怎么设置)
word2010大纲怎么显示(word2010如何使用大纲视图) 有些时候我们在网上下载的一些word文档太长了,我们其实可以显示大纲,看清楚每一节是否有自己需..2024-09-12七种常见的Word打印设置技巧(七种常见的word打印设置技巧)
七种常见的Word打印设置技巧 七种常见的Word打印设置技巧 1.打印指定页码 有些时候,我们只希望打印文档中的某些页码,只要点击菜单命令"文件→打印",在打..2024-09-12四种方框内打钩符号的简易方法(四种方框内打钩符号的简易方法视频)
四种方框内打钩符号的简易方法 如何在Word方框里打钩? 四种方框内打钩符号的简易方法 如何在Word方框里打钩? 一.在方框里打钩的方法一 利用带圈数字来..2024-09-12word怎么调整纸张的尺寸大小? word怎样调纸张大小
word怎么设置文档的水印呢?(word文档中怎么设置水印)
Word文档中表格的单个单元格边框怎么设置
使用Word制作成绩表表格的方法 表格制作excel教程成绩表
怎么批量导出Word文档中所有图片 word批量导出图片并分别储存
Word文档怎么设置自动保存 wpsword文档怎么设置自动保存
word怎么设置自动滚动页面(word怎么设置自动滚动页面)
Word实现Excel表格分栏打印的方法 word表格分页打印
Word2013怎么自定义SmartArt图形形状样式?
怎样去掉Word文档中的手动换行符(怎样去掉word文档中的手动换行符号)