环/教程/动机
在 2011 年 11 月,我开始考虑从头开始创建一个新的无代码编程技术 (PWCT) 软件版本。
我感兴趣的是除了添加对 Web 和移动开发的支持之外,还可以创建一个跨平台版本的软件。大多数 PWCT 源代码是用 VFP 编写的,该软件带有一个简单的脚本语言,用于创建名为 (RPWI) 的组件。该软件包含支持在 Harbour、C、Supernova 和 Python 等编程语言中生成代码的组件。
我正在寻找一种可以用来构建开发环境、提供跨平台支持、提高生产力、提高性能、可以用于组件脚本编写以及可以用于开发各种应用程序的编程语言。
我决定使用一种编程语言来创建开发环境、组件脚本编写以及创建应用程序,而不是使用多种编程语言的组合。
我查看了许多编程语言,例如 C、C++、Java、C#、Lua、PHP、Python 和 Ruby。我避免直接使用 C 或 C++,因为我想要比这些语言提供的更高的生产力水平,此外,面向新手程序员或专业人士的视觉编程环境背后的语言必须易于使用且高效。
Java 和 C# 也因某些原因被避免!我想使用动态编程语言,而这些语言是静态类型的。Java 是跨平台的,C# 也可以通过 Mono 实现,但使用大量的类和强制使用面向对象编程,使用冗长的语言不适合我。我需要一种小型语言,但要快速且高效,而且我需要更好地控制垃圾收集器 (GC),我需要一个为快速应用程序设计的更好的垃圾收集器。
Lua 很小且很快,但它被避免,因为我需要更强大的语言来处理大型应用程序。
PHP 是一种 Web 编程语言,它的语法与 C 非常相似,这导致了一种不像我想要的那么通用且不像我需要的那么简单的语言。
Python 和 Ruby 更像是我需要的,但我需要更简单、更小、更快、更高效的东西。
Python 和 Ruby 是区分大小写的,列表索引从 0 开始计数,必须在调用函数之前定义函数,Ruby 使用面向对象编程和消息传递超出了我的需求并降低了性能,Python 语法(缩进、使用 self、:、pass 和 _)不适合我的目标。
所有这些语言都是成功的语言,并且非常适合它们所在的领域,但我需要的是一种不同的语言,这种语言带有新想法和智能实现(创新、就绪、简单、小型、灵活且快速)。