HolyC

HolyC
软件描述
HolyC与普通的C语言非常相似,因此它是一种简单而强大的语言。它被用于构建了整个TempleOS,所以毫无疑问它可以用来编写程序。
官方网站
访问软件的官方网站了解更多信息
holyc-lang.com
什么是 HolyC?
HolyC,正如其名称所示,是一种类似C的语言,具有若干关键差异和改进。与C一样,它对空格不敏感,并编译为汇编代码。
最重要的区别在于,HolyC使用“即时编译”(JIT),这意味着你无需将代码编译成二进制文件再运行(如Windows下的.exe文件),而是可直接从文件运行代码。许多解释型语言如Python和Lua即属此类,部分还具备JIT版本,如PyPy和LuaJIT。但拥有这样一个完整操作系统*,极为酷炫:只需修改一个文件并重启,操作系统就已改变!即使在Linux或BSD这类源码公开的操作系统中,你也必须下载源码并重新构建整个系统才能更改系统本身,远不如HolyC对爱好者友好。
除此之外,这种JIT“即时编译”带来了极大的灵活性与简洁性,仿佛减少了诸多中间环节的干扰。
此外,HolyC拥有大量语法糖——即表达相同含义的不同写法。这类似于人类语言中的方言。与Python等现代语言类似,函数可接受可变数量的参数,此处通过函数定义中的(...)表示。函数体可通过内置的argc和argv变量访问其参数。
最后,HolyC不要求必须有Main()函数。函数外的表达式会按源码顺序自上而下直接求值。这也使该语言能像shell一样工作,事实上,它正是TempleOS的shell。
函数是体现更显著差异的地方。首先,调用无参数(或未覆盖默认参数)的函数时,语法上可简写为仅函数名后接分号。
- 在HolyC中,可以Free()一个空指针(C中也是如此)。
- 栈不会增长,因为HolyC不使用虚拟内存。
- 语言中没有continue关键字。相反,Terry鼓励程序员使用goto替代。
- 无#define功能。Terry对此的解释是“我不喜欢”。
- typedef关键字被class取代。
- #include不支持<>来导入标准库。所有#include语句必须使用""。
- 完全没有类型检查。
- 支持try{}、catch{}和throw,但throw仅返回最多8字节的char参数,可在catch{}中通过Fs->except_ch访问。
🔄 替代方案
58 个选择Wolfram语言是一种符号语言,专为具备开发强大程序所需的广度和统一性而设计。通过集成高级形式(如Image、GeoPolygon或Molecule)以及先进的超函数(如ImageIdentify或...)

Haxe
Haxe 是一个开源工具包,基于一种现代的高级静态类型编程语言,配备先进的极速跨平台编译器、完整的跨平台标准库,以及访问各平台原生功能的方法。

Roc Programming Language
一种快速、友好且功能强大的语言。

Objective-C
Objective-C 语言是一种简单的计算机语言,旨在实现复杂的面向对象编程。Objective-C 被定义为对标准 ANSI C 语言的一组小型但功能强大的扩展。

Tcl
Tcl(工具命令语言)是一种功能强大且易于学习的动态编程语言,适用于非常广泛的应用场景。

Squirrel (programming language)
Squirrel 是一种高级命令式、面向对象的编程语言,旨在成为一种轻量级脚本语言,适用于视频游戏等应用对尺寸、内存带宽和实时性方面的要求。

Jython
Jython是JPython的继任者,是用Java编写的Python编程语言实现。


