我目前正在研究编程语言和解释器设计的主题。我已经创建了几种编程语言,但到目前为止还没有达到我的目标:
创建一种编程语言,着重于让程序员在编写代码时感觉良好。它应该只是有趣和/或有趣,并且在任何情况下都不会烦人地在其中写东西。
我在用 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 称之为后现代主义语言设计):扔掉过去不起作用的所有东西,拿走一切有用的东西工作并将其巧妙地结合起来。
当然,这需要您真正知道您想要“窃取”的所有那些语言,特别是,它需要您知道很多非常不同的具有不同范式、不同概念和不同“感觉”的语言,否则您从中窃取的想法池相当小且近亲繁殖。