编程语言Crystal1.2已经发布,其开发者试图将Ruby语言开发的便利性与C语言固有的高应用性能相结合。Crystal语法接近Ruby,但不完全兼容,尽管某些Ruby程序无需修改即可执行。编译器代码是用Crystal编写的,并在Apache2.0许可证下获得许可。该语言使用静态类型检查,无需在代码中显式指定变量和方法参数的类型即可实现。Crystal程序被编译成可执行文件,宏计算和代码生成发生在编译时。在Crystal语言程序中,允许链接用C语言编写的绑定。代码执行的并行化是使用“spawn”关键字完成的,它允许您以称为纤程的轻量级线程的形式异步启动后台任务而不会阻塞主线程。标准库提供了大量常用功能,包括处理CSV、YAML和JSON的工具,构建HTTP服务器的组件,以及对WebSockets的支持。在开发过程中,使用“crystalplay”命令会很方便,它会生成一个Web界面(默认localhost:8080),用于以Crystal语言执行交互式代码。Crystal1.2中的主要变化:添加了将泛型类的子类分配给父类的元素的能力。classFoo(T);endclassBar(T)
