Red 编程语言简介
Red Programming Language
页面
关于
Red 是一种下一代编程语言,深受 REBOL 的启发。主要特点包括:
- 人性化的 syntax
- Homoiconic (Red 既是自己的元语言,也是自己的 data-format)
- 函数式、命令式、reactive 和 symbolic 编程
- 基于 Prototype 的对象支持
- Multi- typing
- 强大的 pattern-matching
- Macros 系统
- 丰富 的内置数据类型 (50+)
- 既可以 statically 也可以 JIT -compiled(*) 为 native code
- Cross-compilation done right
- 生成的 executables 小于 1MB,没有 dependencies
- 对 Concurrency 和 parallelism 的强大支持 (actors, parallel collections)(*)
- 通过内置的 Red/System DSL 实现低级 system programming 能力
- 内置强大的 PEGparser DSL
- 快速的、压缩的 Garbage Collector
- Cross-platform native GUI system,具有 UI layout DSL 和 drawing DSL
- Bridging 到 JVM
- 包含高级 scripting 和 REPL GUI 和 CLI 控制台
- Visual Studio Code plugin,具有许多有用的特性
- 高度 embeddable
- Low memory footprint
- Single-file (~1MB) 包含完整的 toolchain、完整的标准库和 REPL (**)
- No install, no setup
- 保证 Fun!
(*) 尚未实现。
(**) 暂时拆分为两个 binaries
Red 的宏伟目标是构建世界上第一个 full-stack language,一种你可以从 system programming 任务到通过 DSL 进行高级 scripting 的语言。 你可能听说过 "Full-Stack Developer" 这个词。 但是,什么是 full-stack Language 呢? 其他语言谈论拥有“一个工具来统治所有工具”。 Red 也有这种心态,并且将其推向了极限——它是一个 executable,可以在任何平台上获取你的 source files,并从任何其他平台为任何平台生成打包的 binary。 该工具不依赖于除你的 OS 附带的任何东西……以大约一兆字节的 executable 发布。 但是仅凭这个技术壮举还不足以定义 Red 的 “Full-Stack Language” 概念。 它还关乎弯曲和重新定义系统以满足任何需求,同时仍然可以使用可读代码并获得一流性能的能力。 因此,交给你的更像是“语言构建工具”,而不仅仅是“一种语言”。 无论你是编写 device driver、platform-native GUI application 还是 shared library……Red 都可以让你使用通用 syntax 在适合任务的抽象级别上进行编码。
它于 ReBorCon 2011 会议(2011 年 3 月)上首次宣布和展示。 最近在蒙特利尔 Recode 会议(2013 年 7 月)上发表了演讲视频:但是如果你无法访问 YouTube,这里有一些幻灯片介绍了构建它的原因,展示了主要功能和路线图。Recode 2013 演示幻灯片:PDF 版本。 为了历史目的,这里还有一些较早的演示文稿: