Crystal 0.7.0 发布,编译型的编程语言 - 开源中国社区
Float_left Icon_close
Crystal 0.7.0 发布,编译型的编程语言
oschina 2015年05月02日

Crystal 0.7.0 发布,编译型的编程语言

oschina oschina 发布于2015年05月02日 收藏 11 评论 5

阿里云高性能云服务器,2折起! >>> >>>  

Crystal 0.7.0 发布!

Crystal 0.7.0 是个重大版本,非向后兼容版本,包括两个重大特性:

  • 非阻塞 IO,还有轻量级进程

  • Iterators


此版本还包括大量的 bug 修复,性能提升和改进。

请注意,此版本是试验性版本!更多改进请看发行说明

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
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Crystal 0.7.0 发布,编译型的编程语言
分享
评论(5)
最新评论
0

引用来自“eechen”的评论

国人开发的编程语言ming
http://gkmail.gitcafe.io/ming/doc/index.html
sudo apt-get install build-essential automake autoconf libtool intltool gperf libpcre3-dev
wget http://gkmail.gitcafe.io/packages/ming/ming-0.1.2.tar.gz
./configure --prefix=/png/ming/0.1.2
time make
make install
import("Thread")

明语言中提供多线程编程接口:
#定义一个线程,参数为要在新线程中运行的函数
var th=Thread{
  for var i=0
  i < 10000
  do i += 1
    printF("running in a new thread\n")
  done

  return 1
}
#运行新线程
th.run()
#等待线程运行结束,并返回结果
var r = th.wait()
多线程用户接口,封装内核的线程就行了,一个标准库就足够了。算不得语言特性
0

引用来自“幻の上帝”的评论

这个特性介绍也太水了。
比如“无需指定变量类型和方法参数类型 ”,是指自带类型推断还是直接动态类型?中间差别大了去了。
原文是 “Statically type-checked but without having to specify the type of variables or method arguments.”

翻译问题,译者概念不清。
0
这个特性介绍也太水了。
比如“无需指定变量类型和方法参数类型 ”,是指自带类型推断还是直接动态类型?中间差别大了去了。
0
国人开发的编程语言ming
http://gkmail.gitcafe.io/ming/doc/index.html
sudo apt-get install build-essential automake autoconf libtool intltool gperf libpcre3-dev
wget http://gkmail.gitcafe.io/packages/ming/ming-0.1.2.tar.gz
./configure --prefix=/png/ming/0.1.2
time make
make install
import("Thread")

明语言中提供多线程编程接口:
#定义一个线程,参数为要在新线程中运行的函数
var th=Thread{
  for var i=0
  i < 10000
  do i += 1
    printF("running in a new thread\n")
  done

  return 1
}
#运行新线程
th.run()
#等待线程运行结束,并返回结果
var r = th.wait()
0
cool
顶部