为什么现在不能用go语言 那些Go语言实现的语言现在发展怎么样了
为什么现在不能用go语言 那些Go语言实现的语言现在发展怎么样了
2024-11-25 02:47:51  作者:習遦悻靜喑  网址:https://m.xinb2b.cn/tech/wzl156421.html

大家好,我是站长 polarisxu。

Go 是一门通用编程语言,Go1.5 实现了自举,也就是说,Go 语言是用它自身实现的。经过十来年的发展,开源界使用 Go 语言实现的编程语言不少,那它们发展的怎么样?本文进行一下梳理。

01 Go

这是国内七牛老大许式伟主导的,对 Go 语言的扩展,专为数据科学领域打造。目标是取代 Python 在数据科学领域的位置。

项目地址:https://github.com/goplus/gop,Star 数:4.2k 。

该语言的前身是 qlang,2020 年 6 月份左右将其重命名为 Go ,并定位为数据科学领域。截止目前最新版本是 2021 年 1 月 8 日发布的 0.7.17,还不是稳定版本。

这是一门静态编程语言,完全兼容 Go 语言,类似脚本语言的风格,比 Go 更具可读性的数据科学代码。

例如下面的 Go 代码:

packagemainfuncmain(){a:=[]float64{1,2,3.4}println(a)}

对应的 Go 代码如下:

a:=[1,2,3.4]println(a)

今天刚看到许大在寻找 Go 语言开发团队的负责人,有兴趣的可以联系许大(找我转达也没问题)。

目前看,距离目标还有很长的路要走,最少先推出稳定版本,然后有一个线上实际的应用。

02 Tengo

Tengo 是一种小型、动态、快速、安全的脚本语言,它使用 Go 语言实现,并且可以嵌入 Go 程序中。它的语法和 Go 语言类似。

项目地址:https://github.com/d5/tengo,Star 数:2.2k ,目前最新版本是 2.6.2(2020 年 9 月 18 日发布)。

代码示例:

fmt:=import("fmt")each:=func(seq,fn){forxinseq{fn(x)}}sum:=func(init,seq){each(seq,func(x){init =x})returninit}fmt.println(sum(0,[1,2,3]))//"6"fmt.println(sum("",[1,2,3]))//"123"

03 CX

CX 是一种用于区块链的新编程语言,使用 Go 语言实现,语法类似 Go 语言。

项目地址:https://github.com/skycoin/cx,Star 数 27,很凄惨。目前最新 tag 是 0.7.5,我查了下,该项目几年前就存在了。目前看属于半死不活的状态,是 skycoin 主导开发的。对区块链不太熟悉,不知道这个语言能为区块链开发带来什么革命性的功能。

我安装试用了下,写了一个 Hello World 程序:

packagemainfuncmain(){str.print("Hello,World!")}

哈哈哈,我又掌握了一门语言的 Hello World!

04 Goby

受 Ruby 启发的面向对象的解释型语言,核心代码 100% 使用 Go 实现。它具有标准库,可提供多种功能,例如插件系统。

项目地址:https://github.com/goby-lang/goby,Star 数 3.2k ,目前最新版本 0.1.13(2020 年 4 月 26 日发布)。

Goby 的预期是用于后端开发。它具备(但不限于)以下功能:

基于 Go goroutine 的 thread/channel 机制;内置 database 库;json 支持;插件系统,支持动态加载 Go 库(目前不支持 Windows 系统);可以直接访问 Go 对象;

一个 Server 端 Hello World 的例子:

require"net/simple_server"server=Net::SimpleServer.new("3000")i=0server.get("/")do|req,res|puts(i)i=i 1res.body=req.method "HelloWorld"res.status=200endserver.get("/not_found")do|req,res|res.body="NotFound"res.status=404endserver.start

不知道 Ruby 爱好者喜欢不?!

05 总结

除了上面介绍的,还有其他一些 Go 语言实现的语言,比如 chai2010 的wa 语言[1],以及其他一些脚本语言,如 Lua 虚拟机 Go 实现、JS 虚拟机实现、Python 解释器等。


有兴趣的可以通过 https://github.com/d5/tengo 项目的性能测试部分了解。

以上介绍的语言,你有看好的吗?会尝试哪个语言吗?如果你对编程语言实现感兴趣,可以参与其中。

参考资料

[1]

wa 语言: https://github.com/wa-lang/wa


  • 6岁前需要改掉这4个坏习惯(每个男孩都会遇到的这3个危机)
  • 2024-11-25每个男孩都会遇到的这3个危机文:CC爸妈(公众号ID:cc-bama)越养娃,越发现男孩、女孩之间真的差距蛮大的小女孩,你说她一句,她可能当下就怼回来或是暗自神伤,让你及时了解她的状态进行反思小男孩,你吼烂嗓子,他们都一动不动,。
  • 四季优美正品(四季优美三个人)
  • 2024-11-25四季优美三个人八零后的年轻人创立了四季优美,然后也是用他们沉稳厚重的格局托住了八万四季优美人的梦想这三张图是乌镇年会上三位老板的致辞大家可以看一下,喵总这位女士是喵总说,他说人是赚不到人事以外的钱的蔡总说任何的花里。
  • 聚合氯化铝处理水的原理(聚合氯化铝的工作原理)
  • 2024-11-25聚合氯化铝的工作原理波涛牌聚合氯化铝分为22%、26%、28%、30%等氧化铝含量聚合氯化铝作为絮凝剂的一种,它的工作原理十分有必要了解一下聚合氯化铝是无机高分子混凝剂,记住它是无机的由于氢氧根离子的架桥作用和多价阴离子。
  • 减压爵士乐让音乐舒展灵魂(玩出天花板级的音乐)
  • 2024-11-25玩出天花板级的音乐音乐,人类的灵魂,只有懂得音乐的人才懂得生活音乐是人类的第二语言在不到一个世纪的时间内,一种名叫爵士乐,具有显著美国特色的音乐从默默无闻,发展成为美国本土最有份量的艺术种类在全世界几乎每个角落都有人聆。
  • 梦断三姨太和穷小伙 我和董小姐的八年魔幻恋情
  • 2024-11-25梦断三姨太和穷小伙 我和董小姐的八年魔幻恋情(十)不辞而别据说一生必去的50个地方,就有曼德勒这是缅甸第二大城市,是几个古代王朝建都的地方,也是华侨大量聚集的城市,更是新兴的旅游市场自从董小姐去了曼德勒,我的手机桌面就添加了这个城市,每天看着那。
  • 我的世界中什么游戏主播最出名(我的世界中非常优秀的的主播)
  • 2024-11-25我的世界中非常优秀的的主播我的世界里面有很多主播,他们都是比较优秀的下面我们就来介绍一下这些让我们觉得比较优秀的主播迪哥闯世界正如迪哥的简介,“用讲故事的方式记录成长过程”,迪哥的视频让我们见证了他从一个下矿做一背包石锄的小萌。
  • 专项应付款是什么(专项应付款介绍)
  • 2024-11-25专项应付款介绍专项应付款是企业的专项资金对外发生的各种应付和暂收款项专项应付款是企业接受国家拨入的具有专门用途的款项所形成的不需要以资产或增加其他负债偿还的负债如:购入专项物资的应付货款、应付承包单位的工程价款、应。
  • 家装绿萝修剪方案(一盆绿萝长8米让旧屋变)
  • 2024-11-25一盆绿萝长8米让旧屋变养花除了可以装饰环境以外也可以改善我们的心情在家里面种一些漂亮的花卉,能够让家里面的环境充满生机,每天看到这样的环境,心情也会更好那选择什么样的花卉植物才合适我们呢?依我所说,在室内养花,不要养那些精。