没有代码的编程语言:Folders
今天要说的这种语言更是奇葩,它叫做 Folders ,顾名思义,这种语言没有代码,也没有代码文件,这种语言的代码就是操作系统的目录结构。
之前我们介绍过“Whitespace”编程语言,这是一种很奇葩的编程语言,在“Whitespace”编程语言中,任何非空白的字符都是被忽略的,只有空格符,tab和换行符被认为是有效的语义字符。也就是说,你可以把用“Whitespace”编程语言编写的代码藏在其他的文本、代码中,具有隐形代码的效果。
而今天要说的这种语言更是奇葩,它叫做 Folders ,顾名思义,这种语言没有代码,也没有代码文件,这种语言的代码就是操作系统的目录结构。
事实上,文件系统目录结构跟普通编程语言的过程结构非常相似,它就像各种的语法树,在“Folders”编程语言中,代码的结构就是这样的,代码命令通过目录结构和其包含的子目录的名称构成。
比如,下面就是一个“Hello,World”程序:

它是如何运行的?
这最外层的目录是程序的名称,“Hello World”。目录的读取是按目录顺序,这段程序的第一层子目录是“Setup”。“Setup”是打印命令的别称;下面有张表描述了各种名称代表的语义,这些名称区分于Windows系统里最常见的那些目录名,比如“Program files”。

接着,目录里出现了很多“Img”目录,名称中的 “(2),” “(3),”等数字是忽略不计的,它们用来区分同一目录下多个相同的目录。” – Copy”这样的字符也是忽略不计的(这些字符是拷贝目录时Windows自动加入的)。而目录名称前打头的数字是程序员用来控制程序流程的。下面是一个样例:
New folder (2) New folder - Copy New folder - Copy (2) If if 10 if if - Copy (1) etc.
字符串“Hello, World!”被分成了四段,这样可以让语义看起来更加清晰好读。”%20“是空白符的意思。
”Folders“是一种面向词汇的编程系统,这是跟其它大多数的面向逻辑的编程系统的重要区别。”Folders“目录里可以放各种的文件,但这些文件是忽略不计的。
下面是一个用”Folders“编程语言编写的“99 Bottles of Beer”程序。“99 Bottles of Beer”通常是用来表达最简单的运用循环和变量的代码例子,请注意下面一个对于有空格和逗号的特殊处理:

目前,”Folders“编程语言只支持Windows平台。它的代码解析器是开源的,你可以在github上找到它。https://github.com/rottytooth/Folders
你也许感兴趣的:
- C语言闭包的代价
- 对《Ruby 不是一门严肃的编程语言》的回应
- 为什么美国F-35战斗机禁止90%的C++特性
- Perl的衰落是文化层面的,不是技术
- 关于Go、Rust与Zig的思考
- Zig语言异步程序的新方案
- Python并非数据科学领域的理想语言(第二部分):语言特性
- Python并非数据科学领域的理想语言(第一部分):亲身经历
- 编程语言 Rust 的几个核心问题
- Rust并非系统编程的未来——它只是炒作周期
If some one desires to be updated with hottest technologies after that he must be
pay a visit this site and be up to date daily.
If you desire to get a great deal from this article then you have to apply such techniques to your won website.
Very good post. I will be going through many of these issues as well..
Yes! Finally something about ex4 decompiler.