IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

编程语言的可读性

外刊IT评论 2011-09-25 13:33:14 累计浏览 5,097 次
本机暂存
本文是从 Readability in Programming Languages 这篇文章翻译而来。

    最近我在网上看到一些人把各种脚本语言放到一起进行比较。脚本语言:PHP, Perl, Python, Ruby。我的第一反应,以及第二反应是:讨厌!我有我自己的偏好,从没向任何人说过。我喜欢可读性好的程序,程序里出现的任何的特殊字符(任何非数字、字母的字符)都会影响我的阅读速度。这让我思考起我们应该如何设计编程语言?我们语言设计是在进步还是在倒退还是在停步不前?

    回到我刚开始写程序的时候,大概是40年前,那时的三大编程语言是FORTRAN、COBOL 以及后来的BASIC。FORTRAN(FORmula TRANSlation的简写)被数学家(我的数学专业的哥哥必须要学它)和科学家们使用。COBOL (其中的B 代表Business)被用于企业应用。BASIC是一种教学语言,在企业里广为使用。COBOL因为它的冗长的语法而受一些人痛恨,而同时却也被另外一些人所喜爱。但它至少是很容易理解的。看看下面循环的写法:

PERFORM VARYING WS-BOTTLE-NUM FROM 98 BY -1
               UNTIL WS-BOTTLE-NUM < 2
END-PERFORM

    很像一个英语句子。跟C语言风格的语言(C#)比较:

for (WSBOTTLENUM = 98; WSBOTTLENUM >= 2; WSBOTTLENUM--)
{
}

    哪一个更显而易见?除非你谎称自己没经验。

    BASIC (这里是Visual Basic)某些地方可读性处于中等水平。

For WSBOTTLENUM = 98 To 1 Step -1
Next

    步长――每次减少的数――很容易理解,至少我是这么认为。让我们看一些非常简单的东西。

k = i / 10;

    这会让初学者抓狂。这是做什么的?我们这些程序员当然会知道,但对于初学者,这种指令操作方式会让他们困惑。你可以把它与相同功能的COBOL语言比较:

divide i by 10 giving k

    有点长?不错,但一个初学者能看懂。我现在并不是在主张重新回到COBOL语言,诚然,相比起当时在纸片上打孔的时代,现代的集成开发工具和像Intellisence这样的功能让我们的编程变的容易的多了。可是,我还是要说,一些入门语言应该罗嗦一些――英语句子比“#号在这种编程语言里代表什么”要容易上手的多。

    只是好玩,如果你想看一看各式各样的语言,可以访问99 Bottles of Beer这个网站。

    这个网站收集了用各种不同语言编写的99 Bottles of Beer的歌词。目前已经有1434种不同的编程语言和语言变种来表现这首歌。

同分类推荐文章

  1. 科技爱好者周刊(第 401 期):如何赚到10亿美元 (2026-06-26 08:05:38)
  2. 如何做决策 - 从 Go 的一个 issue 说起 (2026-06-26 08:00:00)
  3. Seven Player:Windows上播放115网盘视频的增强工具 (2026-06-09 00:06:47)

查看更多 开发者 文章 →

建议继续学习

  1. 每个程序员都应该学习使用Python或Ruby (累计阅读 17,919)
  2. 如何学好C++语言 (累计阅读 10,449)
  3. 最常被程序员们谎称读过的计算机书籍 (累计阅读 9,159)
  4. 敲击最多的键和编程语言语法 (累计阅读 7,465)
  5. 技术人员如何去面试? (累计阅读 6,695)
  6. 为什么数组标号是从0开始的? (累计阅读 6,313)
  7. 千万别惹程序员 (累计阅读 5,779)
  8. 注释里的诅咒:哪种语言遭受最多的咒骂? (累计阅读 5,640)
  9. 如何面试程序员? (累计阅读 4,830)
  10. 程序员的档次?有没有搞错?! (累计阅读 4,558)