让软件开发再次简单有趣

简介

Red 是一门新的编程语言,它受到了 REBOL 很大的启发,但由于它有本地代码编译器,Red 的应用领域更加广泛——下到系统编程上到高级脚本,同时提供了对现代的多核 CPU 并发编程的支持。

主要特点为:

  • 函数式、声明式、符号式编程
  • 支持基于原型的对象
  • 同像性 (Red 是它自身的元语言)
  • 类型声明可选,有丰富的数据类型(50+)
  • 支持静态编译或 JIT 编译成本地代码
  • 强大的并发和并行编程支持(actors、并行集合)
  • 以内建的 Red/System DSL 提供底层系统编程的能力
  • 支持高级脚本和 REPL 控制台
  • 高度可嵌入
  • 内存占用少,带有垃圾回收
  • 磁盘占用少(1MB)

写一个 Red 版“Hello World”

Red 工具链仅是单个可执行文件,你可以从这里下载,它支持三大平台。

  1. 将下载来的 red 二进制文件放入工作目录。

  2. 在代码编辑器或文本编辑器中,键入以下的 Hello World 程序:

    Red [
        Title: "Simple hello world script"
    ]
    
    print "Hello World!"
  3. 保存为:hello.red

  4. 从终端(或者在 Windows 下使用 CMD)用以下命令运行它:

    $ ./red hello.red
  5. 你应该会看到输出了 Hello World!。

  6. 想由这个程序生成一个编译过的可执行文件?

    $ ./red -c hello.red
    $ ./hello
  7. 想交叉编译到另一个支持的平台?

    $ ./red -t Windows hello.red
    $ ./red -t Darwin hello.red
    $ ./red -t Linux-ARM hello.red

下载

最新稳定版(v0.6.4)

↓ Windows   ↓ GNU/Linux   ↓ Mac OS X

master 分支的自动构建版本

↓ Windows   ↓ GNU/Linux   ↓ Mac OS X

Linux 注意事项

对于 Linux 64 位发行版,你需要安装 32 位支持库。基于 Debian 的发行版用以下命令安装:

$ sudo apt-get install ia32-libs libc6-i386 libcurl3-i386

如果你用的是 Debian 7+ 或 Ubuntu 13.10+ 版本,你应该采用 multiarch 方式:

$ dpkg --add-architecture i386
$ apt-get update
$ apt-get install libc6:i386 libcurl3:i386

CentOS 发行版用以下命令安装:

$ sudo yum install glibc.i686
$ sudo yum install libcurl.i686

贡献

像这样的项目会有很多事情要做,我们欢迎所有愿意帮助我们的人。这个项目依然处于开发的早期阶段,所以不要期待环境会很稳定,我们正以尽可能快的速度前行。

我们刚用团队组织工具“Trello”制作了卡片看板,这是给 Red 贡献者们的灵感。去看看它吧,它可能会比这个页面更新得更频繁!

不过一般来说,如果你想要在源代码级别上贡献的话:

  • 我们在自举前阶段,整个编译工具链是采用 Rebol v2 编写的,所以必须要了解这门语言才能向编译器或链接器贡献代码。好消息是 Red 将会非常接近 Rebol 的语法,你新学到的知识不会被浪费……一旦 Red 可用,还能帮助你即可使用它。
  • 底层的 Red/System DSL 正在 beta 阶段,不过我们仍然需要:
    • 测试:编写小型应用程序,报告问题,编写更多的单元测试……
    • 有用的底层库的绑定
    • 更大型的应用程序(帮助改进 Red/System 大规模编程的能力)
  • 安装 Git,学习如何使用它,注册一个 Github 账号,然后 fork Red 代码仓库。当你准备好提出一些新的源代码或补丁时,提交一个 Pull Request。

不过致力于代码库的贡献并不是我们所需要的唯一的帮助。你发现到这个网站还不是很漂亮了吗?我们正在把内容从 blogger 中迁移出来,重建一个网站,这里是抓取内容的测试版部署。这只是一个开始……你是 HTML+CSS 大师吗?你能帮助我们使它变得更好吗?我们希望把全部东西都转移到 GitHub 上维护,Ruby 语言就是这样做的。

如果您想要加入,首选通过上面列举的方式之一联系我们,或者发邮件到:contrib (at) red-lang.org