Language agnostic 编程语言的代码示例

Language agnostic 编程语言的代码示例,language-agnostic,language-design,code-snippets,Language Agnostic,Language Design,Code Snippets,在设计新的编程语言或比较现有编程语言时,应该编写哪些类型的代码示例?他们应: 强调语言的重要特征 考虑重要的/共同的特征 允许通过示例学习 另外,列出一些值得作为展示来编写的简单算法?一种语言的最佳代码示例演示了为什么该语言在该特定代码段上优于任何其他语言。本质上与“hello world”相反。代码示例应: 演示如何启动新的应用程序(例如Hello World) 演示如何执行常见模式(例如,函数式语言使用尾部递归调用而不是循环) 展示是什么使语言对某些任务具有独特性/正确性(例如Ruby

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

  • 强调语言的重要特征
  • 考虑重要的/共同的特征
  • 允许通过示例学习

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

一种语言的最佳代码示例演示了为什么该语言在该特定代码段上优于任何其他语言。本质上与“hello world”相反。

代码示例应:

  • 演示如何启动新的应用程序(例如Hello World)
  • 演示如何执行常见模式(例如,函数式语言使用尾部递归调用而不是循环)
  • 展示是什么使语言对某些任务具有独特性/正确性(例如Ruby中的元编程,Erlang中的模式匹配)

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

当然,我不打算这样做。编写编程语言时,要使您感兴趣的真实程序变得更短、更好。只有白痴才在乎特征。你用编程语言编写程序,这不是一种装饰。因此,您应该专注于程序开发任务,而忽略语言中不利于可用性的美学部分

从你可以编写程序的最简单语言开始。在此基础上迭代改进语言,并处理早期版本和其他语言的所有问题


写一种新的编程语言可以解决一个问题,对吗?强调如何用您的语言解决这个问题。

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

谷歌的Go语言实际上有一个小小的web服务器,作为其官方文档中的示例代码之一。尽管Go使用图书馆时有点作弊。但这是一个很好的展示,展示了它的网络库有多好。Node.js的官方文档中还包含一个web服务器示例


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

这个问题需要回答吗!你有一个很好的开始。如果有人想开始一门语言,他们需要一些简单的东西来确保他们的环境设置正确。“Hello World”正好符合这个条件。