浅谈几种主要编程语言

        经常听到有人在抱怨这个语言哪里哪里不好,那个语言又是如何的优秀。对于这样的牢骚,我只是一笑而过。

       就我而言,语言只是工具,没有好坏之分。只要你采用相应的语言,完成对应的工作,那你的目标就完成了。我们无需抱怨这种语言的缺点,而是应该抱有接受的态度。任何语言的存在都有它的合理性,如果不合理是不会经受住时间的考验的。世间之物都具有双面性,只是看利多还是弊大。如果一个东西是十全十美的,那我毫不犹豫的告诉你,一种情况是它不存在,另一种情况是你还没发现它的缺点。

       每种语言都有自己得天独厚的优势,当然缺点同时伴存。C语言是计算机界的常青藤。C语言执行效率高,用于写底层的驱动那是再适合不过。指针是C语言的精华。而C++是很强大的,只要你是个高手,你几乎可以利用C++完成任何事情。当然虚函数是C++的精华。Java取消了指针,这是应该喜还是忧。喜的是,没有C或者C++那种对内存繁琐的操作,而且也降低了很多致命性的错误发生的概率。忧的是,效率大打折扣,采用虚拟机的方式使得Java有跨平台的特性,必然会使得效率降低。另外一个方面,你借别人的东西使用(内存),是不是应该还回去呢?从这一方面考虑,C或者C++的设计思想更有意义。经常关注TIOBE世界编程语言排行榜,Java已经有很久排名第一,我觉得这样的排名只是看看而已,无需过多的信奉。下面看看几种主要语言的优缺点。
 
C语言
 
C语言的优点:
1.简洁紧凑、灵活方便
2.运算符丰富
3.数据结构丰富
4. C是结构式语言
5. C语法限制不太严格,程序设计自由度大
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
7. C语言程序生成代码质量高,程序执行效率高
8. C语言适用范围大,可移植性好
9. C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型
10.有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护
 
C语言的缺点:
1. C语言的缺点主要是表现在数据的封装性上,这一点使得C在数据的安全性上做的有很大缺陷,这也是C和C++的一大区别。
2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。
3.可重用性差
4.数据安全性差
5.难以开发大型软件和图形界面的应用软件
6.把数据和处理数据的过程分离为相互独立的实体
7.当数据结构改变时,所有相关的处理过程都要进行相应的修改
8.每一种相对于老问题的新方法都要带来额外的开销
9.图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难
 
C++

 
C++优点:
1.可扩展性强
2.高效 简洁 快速
3.可移植性
4.面向对象的特性
5.强大而灵活的表达能力和不输于C的效率
6.支持硬件开发
7.程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障

8.通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便

C++缺点:
1.比较底层,易用性不是很好
2.多重继承和友元机制
3.标准库涵盖范围不足
4.开发周期长
5.非并行
6.掌握有难度
7.粒度封装不够
 
Java
 

Java的优点:
1.简单性
2.面向对象性(面向对象的程度可以达到95%)
3.健壮性
4.跨平台性
5.高性能(自动垃圾回收机制)
6.多线程
7.动态性
8.安全性
 
Java的缺点:
1.效率低(毋庸置疑)
2.跨平台是它最大的优点也是最大的缺点
3.复杂性(做一个项目需要很多的知识,涉及面广)
 

       很多时候,一种语言的优点很可能是它的缺点,缺点又可能是它的优点。这主要看你是从哪方面去考虑。这就印证了那句话,凡事没有必然。

       不管是哪种语言,就像文章开头所言,只要你采用他达到你想要的,那就成功了。无需过多在意它的缺点,更无需赞扬它的优点。所以网上那些关于哪种语言更好的口水仗,我只能说这样的争斗毫无意义。

       语言只是工具,没有好坏之分。

时间: 2024-11-02 08:22:27

浅谈几种主要编程语言的相关文章

在线导航吧浅谈八种网站推广方式

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做网站推广的动力来源于网站的流量,流量的高低取决于站长的推广方式,而在站长们的使用的众多的推广方法中,几乎都发现推广不同所带来的效果也不同,那么如何使网站推广发挥最大的效益,获取网站稳定的流量呢?接下来由在线导航吧浅谈八种网站推广 一.软文推广 软文推广也是最直接,最有效的推广方式,好的一篇软文想当于2000篇垃圾新闻,同时好的软文经常会被互

浅谈几种常用的JS类定义方法_javascript技巧

// 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : function(v) { this.v1 = v; } }; // 方法2 定义函数对象 var Obj = function() { var v1 = ""; this.get_v1 = function() { return this.v1; }; this.set_v1 = function

浅谈几种常见语言的命名空间(Namespace)_C 语言

命名空间提供了一种从逻辑上组织类的方式,防止命名冲突. 几种常见语言 C++ 命名空间是可以嵌套的 嵌套的命名空间是指定义在其他命名空间中的命名空间.嵌套的命名空间是一个嵌套的作用域,内层命名空间声明的名字将隐藏外层命名空间声明的同名成员: int x = 20; namespace outer { int x = 10; namespace inner { int z = x; } } int main() { std::cout << outer::inner::z; // 输出10 re

浅谈四种可能会影响网站排名的因素

常逛A5论坛的朋友经常会看见一些站友抱怨自己网站排名上升困难或长时间不升也不降的帖子.那究竟是那些因素决定着网站排名好坏的呢?下面笔者就来浅谈一下个人觉得会影响网站排名的四点因素,希望对遇到上述问题的站友有所帮助,好,废话不多说,开始上正文! 直接影响排名因素 一:好的网站内容等于好的网站排名 现在的搜索引擎算法越来越人性化,它会更站在网民的角度来审视一个网站的好坏,正因如此,所以才有老生常说"内容为王,外链为皇".想要有高质量且可读性高的内容,那就得避免采集内容和使用伪原创软件,因为

浅谈几种建站方式的优劣

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大多站长在谈到网站建设可能脱口而出的是建站公司,大家可能会认为只有这种专业.有技术含量的建站方式才可以称的上网站建设.其实这种观点是错误的,只要你是一名站长你维护这个网站的活动就是网站建设,也可以说是网站运营(目前来说,设计,优化,推广都是"混搭"着来的).总之,你也是你自己的"建站大师".下面笔者就自

浅谈几种企业站长尾词组合方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是石头.一般的企业站都只是优化几个主关键词,而具体要求就是在一定时间内把关键词做到百度第一页,或者是百度前几名.但这样的模式还能维持多久呢?我们都知道来自主关键词的流量毕竟有限,网站有排名没流量,这是没意义的,而长尾词做的好可以让流量飙升.甚至在主关键词竞争过于强烈的时候,可以考虑放弃主关键词.把精力和时间放到长尾词上,当然这要根据

浅谈三种SEO作弊方法及危害

做网站目前有两种流派,一种是做垃圾站,在短时间里面让自己的网站获得很好的排名,然后获得大量的流量,从而在几个月之内赚到很多钱,这个流派不是要把网站做大做强,而是采用游击的方法,敌退我进,敌疲我打的方法!而另外一个流派则是踏踏实实的做网站,想通过自己的努力让自己的网站走向正轨,从而获得持续不断的盈利能力!对于这两种流派,使用的SEO优化方法是不同的!下面我们就来说说第一种流派的SEO优化方法,常常也被称作seo作弊法! 一:隐藏关键词法 通常关键词的密度越高,能够有效提高这些网站的权重,可是如果在

无天:浅谈几种常见的做外链的方法

昨天一个客户让我给他的员工做一下发外链的培训,当时也没做准备,就在QQ上和他们一起聊了下做外链的方法,以下是摘取当时的聊天内容,介绍九种做外链的方法: 1.论坛发帖 2.行业第三方平台做商铺 3.知名门户第三方博客平台 4.社会化媒体,如微博.SNS 5.收藏 6.分类信息 7.问答平台.贴吧来吧等热门互动平台 8.友情链接 9.站内内容页 先说第一种,论坛发帖.论坛发帖是见效最快的方法,但从长久考虑也不是最好的,毕竟你到一些普通论坛发帖并不能保证这个论坛长时间运营,一般论坛能有个2-3年的寿命

浅谈一种有效的测试策略

在最近的一个大型项目中,我们在早期就定下了一个目标:不会在软件中使用大量QA人员专注于手工测试.通过手工测试发现bug极其耗时且成本高昂,这促使团队尝试尽可能的将质量内嵌到产品内部.但这并不意味着手工测试毫无价值,因为人们总能在怎样使用软件上给你一些特别的惊喜. 这是一个为期18个月左右,周期很长的项目,并且后续也会持续更新. 在项目初期,团队就意识到项目成功的重中之重在于一个优秀的测试策略,尤其是让我们的团队能够做到:1)随着项目时间的推移能够持续的提高团队的工作效率.2)不管面对的变更是大是