programming-languages - 创建编程语言编写程序的指南?

标签 programming-languages

<分区>

我目前正在研究编程语言和解释器设计的主题。我已经创建了几种编程语言,但到目前为止还没有达到我的目标:

创建一种编程语言,着重于让程序员在编写代码时感觉良好。它应该只是有趣和/或有趣,并且在任何情况下都不会烦人地在其中写东西。

我在用 Python 编写代码时就有这种感觉。我有时会在 PHP 中遇到相反的情况,在极少数情况下,我不得不在 C++ 中重新发明一些轮子。

所以我试图找出一些语法特征来使我的新语言编程变得有趣,但我就是找不到。

  • 哪些具体特征(可能主要是语法方面的特征)可以/可以使语言编程变得有趣?

例子:

我觉得用 Ruby 编程很有趣,因为它使用代码块。

  • 如果您能在您的回答中仅包含一个示例,那就太好了
  • 这些功能不一定已经存在于任何语言中!

我这样做是因为在使用我喜欢的语言(由于特定功能)进行编程时,我的(我自己的)生产力得到了极大的提高。

最佳答案

您在问题中提到了 Ruby。据我所知,Ruby 是唯一编程语言,Joy 是一个实际的、明确的、明确的设计目标。 (事实上​​,这是唯一的设计目标。)

Yukihiro Matsumoto 之所以能够以这种方式设计 Ruby,是因为在他开始设计 Ruby 之前,他已经了解并使用了 大量 编程语言, 并且学到了更多为了设计 Ruby。 (有趣的是,他不懂 Python,并且说过如果他懂的话,他可能不会创建 Ruby。)

这里只是 matz 自己使用过的语言的一小部分,或者寻找灵感(或者在某些情况下寻找灵感做的事情):

  • CLU
  • 萨瑟
  • 口齿不清
  • 方案
  • Smalltalk
  • Perl
  • python
  • haskell
  • 斯卡拉
  • PHP
  • C
  • C++
  • Java
  • C#
  • 目标-C
  • 二语

而且我相信这是可以设计好的编程语言的一种方式(Larry Wall 称之为后现代主义语言设计):扔掉过去不起作用的所有东西,拿走一切有用的东西工作并将其巧妙地结合起来。

当然,这需要您真正知道您想要“窃取”的所有那些语言,特别是,它需要您知道很多非常不同的具有不同范式、不同概念和不同“感觉”的语言,否则您从中窃取的想法池相当小且近亲繁殖。

关于programming-languages - 创建编程语言编写程序的指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2798630/

相关文章:

programming-languages - 没有语法的Stata编程语言?

C# 如何循环遍历 Properties.Settings.Default.Properties 更改值

c# - Java 和 C# 处理方法绑定(bind)方式的显着差异背后的解释是什么?

javascript - Coffeescript 静态分析/静态类型检查 - 障碍

scala - 用 Scala 编写一个实用且实用的图像处理库

java - 如何从 Java 中没有扩展名的文件中读取?

programming-languages - 是否有必要在每个 if 条件中写入 else 部分?

performance - 编程语言的性能多久会成为一个重要问题?

haskell - 如何模仿懒惰

programming-languages - 独立于平台的轻量级编程语言