像 C 一样快,Ruby 般丝滑的 Crystal 发布 1.0 版本,你看好吗?

整理 |?寇雪芹
头图 | 下载于视觉中国
出品 |?AI科技大本营(ID:rgznai100)
近日,编程语言 Crystal 发布了 1.0 版本。
Crystal 是一种通用的、面向对象的编程语言,其语法受到 Ruby 语言的启发,具有静态类型检查功能,一般不需要指定变量或方法参数的类型,可实现接近 C/C++ 的性能。

像C一样快,Ruby般丝滑
Crystal 的标语是“Fast as C, Slick as Ruby”, 翻译过来的意思是“像C一样快,Ruby般丝滑”。作为一门基于 LLVM 的可编译的静态类型语言,Crystal 的整体设计很接近 Ruby 的体验,语法与各种标准库的接口也都几乎和 Ruby 一样。?
Crystal 利用了工具链中内置的所有优化,它的类型检查系统在编译期间可以捕获类型错误,从而避免运行时的错误。由于它具有内置的类型推断功能,大多数类型注释都是不必要的,代码也因此更加整洁、易于阅读。?
另外,空引用检查、宏系统和 C 绑定等功能让 Crystal 成为一种功能强大且易于使用的语言,其中最突出的是 Crystal 完善的 C 绑定,而 C 库的成熟度和高性能大大弥补了 Crystal 自身语言的生态不足。
Crystal 提供了指针、结构体和函数、以及和 C 相同的枚举。开发者能够在不写一行 C 代码的情况下无缝使用 C 的库,只需要将 C 库中所需的函数的签名在 Crystal 中定义,类型上有 Crystal 提供的对应版本,或者通过重写方法让自己的类型对应 C 库中的类型。
Crystal 由一群热爱 Ruby 的人创建,开发团队喜欢 Ruby 编写代码的效率,又倾心于 C 语言的性能。因此,早期的 Crystal 高度兼容 Ruby 语法和语义,编译器用 Crystal 重写的时候只需要进行少量修改便能成功移植。
?

语法类似 Ruby
无需指定变量类型和方法参数类型
可以调用 C 代码
编译时代码模拟和生成
编译成高效的本机代码
#?Compute?prime?numbers?up?to?100?with?the?Sieve?of?Eratosthenes
max?=?100
sieve?=?Array.new(max?+?1,?true)
sieve[0]?=?false
sieve[1]?=?false
(2...max).each?do?|i|
??if?sieve[i]
????(2?*?i).step(max,?i)?do?|j|
??????sieve[j]?=?false
????end
??end
end
sieve.each_with_index?do?|prime,?number|
??puts?number?if?prime
end
?

结语
?
https://github.com/crystal-lang/crystal/pulls
https://crystal-lang.org/2021/03/22/crystal-1.0-what-to-expect.html
?自由软件之父回归 FSF,遭 1933 人、21 家组织联名抵制!
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 中央经济工作会议在北京举行 7904553
- 2 紧急提醒:请在日中国公民进行登记 7809637
- 3 电子体温计没水银体温计准?医生解答 7713770
- 4 “九天”无人机成功首飞 7616603
- 5 断崖式降温!今冬最强寒潮来了 7522275
- 6 中央定调明年继续“国补” 7424917
- 7 中国“空中航母”首飞成功 7329275
- 8 北京延庆、房山已飘起雪花 7233017
- 9 人民空军中日双语发文:大惊小怪 7139752
- 10 寒潮来袭 “速冻”模式如何应对 7045620










CSDN
