编程语言比较

编程语言比较

ID:19714268

大小:52.50 KB

页数:22页

时间:2018-10-05

编程语言比较_第1页
编程语言比较_第2页
编程语言比较_第3页
编程语言比较_第4页
编程语言比较_第5页
资源描述:

《编程语言比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编程语言的比较CC++Java.NETRubyJavaScript类型无类型强类型强类型强类型强类型强类型静态/动态静态静态静态检验类型动态解释执行动态动态支持面向过程是是否否否是支持基于对象否是否是是是支持范型否否是是否否支持模板否是否否否否支持面向对象否是是是否否C语言适合编写操作系统和其他直接操纵硬件硬件的编程。C语言的优点1,面向过程开发,以函数为中心。简单有效。实现了简单的接口。2,面向机器,让用户可以完全的操纵机器,效率较高。C语言运行高效,广泛应用于各种计算领域。对于简单的任务,非常有效。C语言的缺点1,函数无法有效控制需要的数

2、据。不能保证外部状态不变。容易出现Bug。2,对于机器的控制太强,也就是依赖太强。由于过于强调效率,使用C语言编程时,更多的需要考虑机器,而不是问题本身。由于过于关注机器,而不是问题域本身,因此抽象能力不足。容易出现各种Bug。对于编写大型的程序,常常力不从心。C语言的使用方法C语言作为一种简单高效的编程语言,适用于编写简单的程序。在编程中,应该注意扬长避短,使用面向过程的编程范式,少用对机器的依赖。1.使用函数编程时,应该尽量使用函数参数传递状态,少用全局数据。因为,你无法保证全局数据不被其他代码改变。这样使用函数,叫作“纯函数”。类似于函

3、数式编程的用法。而且,使用这种方式编程,由于不存在全局数据,在进行多线程开发时,还不需要考虑多线程问题。2.使用结构化的编程方式。不要卖弄技巧。3.函数是接口。尽量使用函数调用而不是直接的代码。通过层层分层,分配职责,编写出短小精悍,易于维护的代码。4.尽管C语言是一种面向机器的语言。但是,我们还是应该尽量少地依赖机器。多从问题域来考虑和抽象问题。如,少用内存假设等等。因为,我们会使用很多种语言,C,C++,Java,C#等语言的很多语法类似。但是实际的表现,各个语言都是不同的。如果过分考虑C的机器特性,那么很可能会因为记错而编写出错误的代码

4、。5.代码,首先是给人看的。顺便给机器执行!不要处处优化代码。只应该优化性能瓶颈。因为优化的代码,常常表示很难看懂!6.应该大量使用Struct组织相关的数据。在用C语言编程时,也应该树立类型和对象状态的概念。把Struct作为函数的参数传递数据。过程式设计:1、自上而下(top-down)的设计方式:是一个自顶向下,逐步求精的过程;2、以main函数概括出整个应用程序需要做的事情,而main函数由对一系列的子函数的调用组成;main中的每一个子函数都可以被精炼成更小的函数。重复这个过程,即可完成一个过程式的设计;3、特征是以函数为中心,以函

5、数作为划分程序的基本单位,数据往往处于从属地位。过程式设计的优点:易于掌握与理解,符合人们的思维习惯;过程式设计的缺点:1、不能适应问题比较复杂,或者需求经常变化的情况;2、数据与操作分离开,对数据与操作的修改变得很困难;3、程序架构的依赖关系不合理:main函数依赖于子函数,子函数又依赖于更小的子函数;而子函数往往是细节的实现,这些实现是经常变化的,造成的结构就是:程序的核心逻辑依赖于外延的细节,一个细节上的小改动,会引起一系列的变动。C++的使用方法使用C/C++开发环境,我们可以同时使用C和C++开发。既然C++和C是兼容的,我认为完全

6、没有理由使用C语言,而不使用C++进行开发.即使是很小的问题,使用C++的“模板支持的基于对象”的编程范式也是首选的开发方式。另一方面,在整个类库的外部,如果我们希望向其他语言提供接口,那么我们还应当提供C语言的API函数作为接口。C语言是程序世界的世界语。使用C++的基本类型,struct,STL库的Vector,STL的string::c_str()等都可以得到C语言兼容的接口。还不能使用异常。因为C语言不支持异常,而且C++本身的异常,在不同的编译器中也可能不兼容。总之1,使用C++开发,只在外部接口中使用C语言开发。使用“模板支持的基

7、于对象”的编程范式,或者面向对象的编程范式。不要使用面向过程的编程范式。2,尽量把代码放到类中,而不是使用全局或者命名空间的变量。3,尽量不要使用操作符重载。4,必须注意到C++不像C语言那样面向机器,不能对C++对象内存布局进行假设。不能根据内存内的数据直接构建对象。不要进行内存操作。5,C++还是很面向机器的。很多语言规则都规定了内存的布局,必须按照规则定义、初始化等等。这和Java,.NET,Ruby等语言不同。用惯高级语言的程序员特别需要注意C++和C对程序员的繁琐要求。C/C++的设计哲学中,始终把自己作为一门系统编程语言,针对机器

8、进行了很多优化。因此,对于人,就很不照顾了。很多规则很不人性化。但没办法,你必须适应它们!它们就是为了高效而生的。它们就是汇编的替代者。Java是一门静态强类型面向

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。