2KB项目,专业的源码交易网站 帮助 收藏 每日签到

可视化比较 C++、Ruby 和 CoffeeScript 言语的庞杂度

  • 时间:2019-05-17 18:50 编辑:2KB 来源:2KB.COM 阅读:588
  • 扫一扫,手机访问
  • 分享
摘要:
Ruby CoffeeScript C/C++ 英文原文:C++, Ruby, CoffeeScript: a visual comparison of language complexity

大大多数人都以为 C++ 是相当庞杂的编程言语,可究竟有多庞杂呢?我经过完好进修一个编程言语所需求把握的“观点”数对此实行量化。

“观点” 在我的定义中包括大的分类,如类、操作符和更细粒度的 if-else 语句和 while 轮回等等。分歧的观点其庞杂度的差异十分大,因而观点数只能作为一个大略权衡言语的庞杂性的目标,但是我却感到很风趣。

我选择 C++,CoffeeScript 和 Ruby 作为比较的工具。CoffeeScript 和 Ruby 是静态类型言语,所以他们和 C++ 是有很大的纷歧样的。可是他们都是多范型(multi-paradigm)的通用型言语,支撑面向工具,函数,进程和泛型编程。所以这篇文章比照的是 C++ 和静态类型言语。

假设能和 F#,Scala 等静态类型言语一同比较会更好,可是我不熟习他们,所以就不委曲了。

CoffeeScript

起首我们来看看 CoffeeScript:

CoffeeScript contains 68 concepts

CoffeeScript 包括 68 个观点,分为 8 组。

留意我把元编程作为一个观点,由于它首要基于可履行类体的观点之上。

Ruby

Ruby contains 96 concepts

很明显,Ruby 愈加庞杂,有 96 个观点,分11组。比 CoffeeScript 更庞杂的类模子,还包含常量、块和操作符重载。

C++

最初是 C++:

C++: 189 concepts, twice more than in Ruby & 3 times more than CoffeeScript

C++ 有 189 个观点 11 个分组,是 Ruby 的 2 倍,是CoffeeScript 的 3 倍。

C++里的某些观点(比方定名剖析)由于有非常多奇妙的规矩,所以愈加庞杂。并且由于有太多分歧的范围,C++里的称号观点也比其它言语更庞杂。比拟之下,在静态言语里,简直一切工具都是常量或许变量(包含类名和函数名)。

另有一点,我成心地疏忽了“编译”和“链接”,由于CoffeeScript和Ruby里并没有这些功用。

从上图可以看出,C++庞杂是有非常多缘由的,此中之一就是静态类型系统(static type
system),另外一方面是由于模板(template),另有就是定名系统(name system)和庞杂的类模子(complex class
model)。底层的驱动一定是功能和类型平安的。

上图还缺少哪些信息?

我没提到顺序员在操练中需求把握几多技能,比方:

  • 规范类库(standard libraries)
  • 编程言语习语和最好典范(language idioms and best practices)
  • 并发观点(concurrency concepts)
  • 设计形式(design patterns)

这一点在从入门到通晓时更加分明。

我置信在这一点C++异样是最庞杂的。比方像《 C++ Coding Standards 》如许的书:《101 Rules》、《
Guidelines 》和《Best Practices》和《 Effective
C++ 》等等。这些书固然曾经触及非常多内容,可是旨在处理平常问题,并没有思索到庞杂的运用。C++绝比照这些书里说的要愈加胸无点墨!

异样,其它编程言语也有最好典范和习语需求进修,但我感到大部分言语的会比C++少得很多。

重点是甚么?

我并非为了埋怨C++究竟是何等宏大和庞杂。关于硬件、功能限制分明的大型项目,综合思索Tools、库和开发者方面的要素,没有哪一种言语可以替代C++。

可是,你需求要留意到C++编程里哪些是必需了解的,这一点很主要,由于这深深影响到课程讲授和作为项目言语的选择。

本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部