编程语言的代码示例

时间:2010-07-28 04:01:18

标签: language-agnostic language-design code-snippets

当您设计新的编程语言或比较现有的编程语言时,您应该编写哪些类型的代码示例?他们应该:

  • 强调语言的重要特征
  • 将注意事项纳入重要/共同特征
  • 允许通过示例学习。

另外,列出一些值得写作展示的简单算法?

4 个答案:

答案 0 :(得分:4)

代码示例应该:

  • 展示如何开始一个全新的应用程序(例如Hello World)
  • 演示如何进行常见模式(例如,代替循环,函数式语言使用尾递归调用)
  • 显示使语言与某些任务的唯一/正确的原因(例如Ruby中的元编程,Erlang中的模式匹配)

答案 1 :(得分:2)

语言的最佳代码示例演示了为什么该语言比该特定代码段的任何其他语言更好。基本上与“你好世界”相反。

答案 2 :(得分:1)

由于您的新语言功能,您应该编写易于编写或扩展的真实程序。如果您使用库,请考虑它们的复杂性。

当然这不是我打算做的。编写您的编程语言,使您感兴趣的真实程序变得越来越短。只有白痴关心功能。你用编程语言编写程序,它不是一种装饰。因此,您应该专注于程序开发任务,而忽略您的语言中对可用性没有贡献的美学部分。

从您可以编写程序的最简单语言开始。从中反复改进语言,并处理早期版本和其他语言的所有问题。

通过编写新的编程语言,你遇到了一个问题,对吧?强调用你的语言解决问题的方法。

答案 3 :(得分:0)

我在较新的动态语言中经常看到的一个例子是一个简单的静态Web服务器。几年前我第一次看到一个Tcl(不是一种新语言)的小型Web服务器的例子。现在看来,大多数新语言都有一个用50行代码编写的Web服务器。

谷歌的Go语言实际上有一个小型的Web服务器作为其官方文档中的示例代码之一。虽然Go使用库有点欺骗。但它很好地展示了它的网络库有多好。 Node.js还在其官方文档中包含一个Web服务器示例。

如果您的语言支持在50(100?)行代码下编写简单的Web服务器,那么您应该以它为例。 Web服务器就是一个很好的例子,因为它向您展示了语言如何处理网络,文件I / O和字符串操作。让我们面对现实吧,除了3D游戏和物理模拟之外,现在大多数代码都处理网络,文件I / O和字符串而不是数字。