手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

为什么使用C [1]

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
问题

  为什么使用C ?在您皱眉准备关掉这个网页之前,试着回答这样一个简单的问题。

  答案是效率,是吗?每个人都知道答案。但是,我们应该以更专业的角度来讨论一种编程语言或是和之相关的事情。那么,让我再问您一个问题:效率是否是人们选择使用C 的唯一理由,为什么他们不用C呢?C的效率公认比C 高(当然,我知道,现已证实在某种程度上说,C并不比C 高效,但请不要在此挑错,因为即使他们是等效的,问题仍然存在)。

  神话

  我知道您可能会说,这是一种“择优选择”,因为毕竟C 就是设计成了C的优化,是C的扩充,可能他没有想象中的那么高效,但同时他却有很多梦幻的高水平的特征。那么问题就归结为“研发者真的需要这些梦幻特征吗?”我的意思是,毕竟我们都听说过KISS(Keep It Simple,Stupid!保持简单)和stuff(材料),我们也都听过这种说法——和C 相比,C更KISS,所以我们应该选择C。这样无休止的争论使得C和C 之间的比较变成了一个神话(或是一片混乱)。令人惊讶的是,似乎很多人倾向于C,而理由是C 太难正确使用了。甚至是Linus也这么想。

  这种现象产生的真正严重的影响是,驱使更多的人在C和C 之间权衡利弊的时候,他们选择了C;一旦他们开始使用C,他们很快就会感到满足和舒服,就是所说的“令人满意”的体验。这样,当争论产生的时候,他们就会站出来说和C 相比,C是更好的选择。而实际上,他们都没有真正试着使用过C ,或他们根本不是足够好的C 程式员。而真实的答案,往往开始和“他取决于”。

  那么,我说过“他取决于”,取决于什么?显然,在一些领域选择C比C 更好。例如,设备驱动程式的研发通常就无需OOP/GP(面向对象程式设计/概念编程)技术。他只需要简单的数据操作;最重要的是,程式员能正确的知道系统如何工作,连同他们该做什么工作。再考虑OS(操作系统)的研发,我自己从来没有参和过任何OS的研发,但是读过大量OS代码(大部分是Unix),我感觉很多OS重要部分的研发也都无需OOP/GP技术。

  但是,这就意味着,在任何强调效率的领域,C都比C 好吗?实际上不是

  答案

  让我们具体问题具体分析

  首先,当人们关心效率的时候,实际上就关心两类效率——时间效率(例如:OS,运行时间,实时软件,高需要系统)和空间效率(例如:任何嵌入式系统)。但是,这种分类并不能真正帮我们决定应该选择C还是C ,因为C和C 在时间和空间上都是很高效的。真正影响我们选择哪种语言(当然是在C和C 之间)的是商业逻辑(这里的“商业”并不是指“企业应用商业”)。例如,是不是使用OOP/GP来表达逻辑更好,或是不是除了考虑数据和程式还应该考虑保持软件美观。

  从这点上来说,我们能够模糊地把应用分为两类(当然前提是我们只关心C/C ,不关心java/C#/ruby/erlang等):低水平应用和高水平应用。低水平应用的意思就是,在这里并无需那些梦幻抽象如OB(基于对象)/OOP和GP;高水平的意思当然就是需要了。显然,在任何需要C/C 的领域(由于他们的高效性)里,有大量“高水平”应用(参看在Bjarne Stroustrup主页上列出的),在这些领域,C 就会更有用。

[1] [2] [3]




文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS