`
mmdev
  • 浏览: 12934053 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

编程语言的三大定理

阅读更多

最近看到不少文章,作者去比较两种或者多种语言以试图证明他喜爱的语言更棒。我仔细观察过,通常而言,这些文章会侧重在其他语言(指非作者喜爱的语言)的弱点上;有时候,会举例来证明其他语言的冗长,得出结论说自己的语言代码更少、更简捷。

  在我看来,虽然是针对其他语言的“弱点”,但作者写这样的文章也无可厚非,毕竟这样的文章多依事实说话,起码你可以知道一门语言的优点和另外一门语言的弱点,而且会引起其他“语言人”的关注和争论,无论怎样这对你如何选择编程语言都是有借鉴意义的。以下为编程语言的三大定理,会客观地帮助你。

  编程语言基本定理

  为了分析编程语言,你首先要知道它们为什么存在。由此引申出我的编程语言基本定理:编程语言的存在是为了让人们明白计算机操作。

  编程语言的出现是为了克服人类认知的局限。现代计算机运行的是二进制指令,我们很难面对着“1”与“0”去写程序,我们无法号令机器,所以我们发明了编程语言,借以理解和向计算机传达我们所要的操作。

  所以比较任何语言,都应当权衡它们对我们理解计算机操作所带来的方便。

  第二定理

  如果程序员对一段代码不解,他会弃用或者重写。

  比你可以多快地写代码更重要的是,你写的代码可以让后来看到的人多快地理解。

  举个例子:parm=10

  既然没有声明变量,我怎么断定这行代码是对是错?编译器又没用,因为这完全可以执行,所以我只能通过后面的代码才能明白这段代码是什么意思。所以你也不难理解,为什么在查找错误代码是你会费那么大劲了,即使你知道出错的部分。

  第三定理

  没有任何一门语言适用于所有编程任务。这条定理很清楚,我不多做解释。

  所以在选择编程语言时以下事情应当考虑:

  ◆常规特性:性能、兼容性、操作……

  ◆团队大小

  ◆代码多少

  ◆代码的寿命

  ◆应用领域

  ◆工具:选择语言考虑的最后一个问题是工具的支持。一个合适的编辑器对于你编程所起的作用不亚于语言本身的语法。

分享到:
评论

相关推荐

    编程语言的三大基本定理

    编程语言的三大基本定理,为你讲解编程语言的秘密

    多种编程语言实现杨辉三角形

    多种编程语言实现杨辉三角形 杨辉三角形,又称帕斯卡三角形,是二项式系数在三角形中的一种几何排列。这种特殊的三角形阵最早由中国南宋数学家杨辉在1261年所著的《详解九章算法》一书中提出。在欧洲,数学家帕斯卡...

    C/C++语言经典实用趣味程序设计编程百例精解

    填表格 60.1~9分成1:2:3的三个3位数 <br>C/C++语言经典实用趣味程序设计编程百例精解(7) <br>61.1~9组成三个3位的平方数 62.由8个整数形成奇特的立方体 63.减式还原 64.乘式还原 65.乘...

    C-C++语言趣味程序设计编程百例精解

    填表格 60.1~9分成1:2:3的三个3位数 <br>C/C++语言经典实用趣味程序设计编程百例精解(7) (详解收藏在)http://www.klfd.net.cn/?p=390 <br>61.1~9组成三个3位的平方数 62.由8个整数形成奇特的立方...

    谈谈Go语言的反射三定律

    本文中,我们将解释Go语言中反射的运作机制。每个编程语言的反射模型不大相同,很多语言索性就不支持反射(C、C++)。由于本文是介绍Go语言的,所以当我们谈到“反射”时,默认为是Go语言中的反射。

    CUDA编程指南(中文+英文)

    CUDA 是一种并行编程模型和软件环境,用于应对这种挑战,同时保证熟悉 C 语言等标准编程语言的程序员能够迅速掌握 CUDA。 CUDA 的核心有三个重要抽象概念:线程组层次结构、共享存储器、屏蔽同步(barrier ...

    cur, 功能强大的元编程功能.zip

    cur, 功能强大的元编程功能 具有 static 依赖类型和动态类型。类型注释和括号。定理证明和元编程的语言。Nouncur (plural curs)1. (archaic) A mongrel.2. (archaic) A det

    ohm, 用于构建解析器解释器编译器等的库和语言.zip

    ohm, 用于构建解析器解释器编译器等的库和语言 欧姆 是一个解析器生成器,由一个库和一个特定的领域语言...解释器和编程语言的编译器。 基于xml的欧姆定律基于解析表达式语法 ( 销子),这是描述语法的正式方式,类似于

    代码的未来

    作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受...

    GPU编程技术

    2GPU简介GPUVS CPU34GPU图形绘制管线Shade Language(着色语言)5CG编程GPU简介:GPU前途无限光明◆自诞生起,GPU就将摩尔定律的定义大大扩展。研究表明,从993年开始,GPU的性能以每年2.8倍的速度增长,这个数字大...

    模拟泊松过程R语言..

    基于泊松过程构造定理,利用R语言来模拟泊松过程 ,并给出泊松过程的检验方法。

    代码的未来.mobi

    作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受...

    A语言编辑器(ActionPascal)v1.0.0官方安装免费版

    Action Pascal是一款由陌讯推出的高级解释性编程语言,也就是我们通常所说的A语言,软件可以在Intel x86,AMD64/x86-64,PowerPC32/64, SPARC和 ARM等多个处理器架构中运行,让你编写windows、linux程序更加轻松,...

    编程珠玑.pdf

    7.3 Little定律 64 7.4 原理 65 7.5 习题 66 7.6 深入阅读 67 7.7 日常速算(边栏) 67 第8章 人员备忘录 69 8.1 备忘录 69 8.2 原理 71 8.3 深入阅读 71 第三部分 人性化I/O 第9章 小语言 75 9.1 Pic语言 76 9.2 ...

    [精品]代码的未来.epub

    作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受...

    agda:Agda 是一种依赖类型的编程语言交互式定理证明器

    阿格达2 请注意,此 README 仅关于 Agda,而不是其标准库。 有关该库的,请参阅 。 文档 (每个提交的 pdf 可以从页面下载) 入门 安装 编辑、类型检查和编译 Agda 代码的快速指南 为 Agda 做贡献 ...

    代码的未来 - 松本行弘

    作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受...

    UML参考手册--基本概念.rar_uml _人工智能_智能_电路设计_系统建模

    不是编程语言 工具可以提供 至各种编程语言的代码生成 以及可以从现有 的程序逆向构筑模型 不是用于定理证明的高度正式的语言 实际上有很多正式的语 言 但它们不易理解或不适用于多种用途 是通用性的建模语言 对于...

Global site tag (gtag.js) - Google Analytics