分享一个新的编程语言 Lemon 。

2017-11-12 13:07:19 +08:00
 zhicheng

项目地址 https://github.com/lemon-lang/lemon 官网地址 http://www.lemon-lang.org/

简单介绍一下,

纯 C 实现,支持 Linux, macOS, Windows,以及(未测试) FreeBSD, OpenBSD, NetBSD,Solaris 等支持 POSIX 的环境,如果选择关掉内置的 OS 和 SOCKET 模块,那么几乎任何有标准 C 编译器的平台都可以支持。Windows 需要 Windows XP 及以上,如果用的 Windows 2000 则需要安装 kernel extension。

代码量少,算上内置模块,也只有 20ksloc 编译后 200 多 k。

动态语言,语法和 C/C++, Java, JavaScript 接近,但注意和 JavaScript 是完全不同的语言。

支持 GC, 面向对象,多重继承,闭包,Coroutine, Continuation 等现代编程语言的大部分功能。

因为官方实现很小,你可以直接把实现放到项目里,这样就不用担心语言升级项目重写了。

官网就是用 lemon 实现的,可以作为一个简单的参考 https://github.com/lemon-lang/website

有另一个中文的简单介绍 https://www.textarea.com/zhicheng/lemon-bianchengyuyan-jieshao-884/ 更多信息请移步官网或在邮件列表中讨论论。

10504 次点击
所在节点    程序员
97 条回复
isCyan
2017-11-12 13:11:35 +08:00
大佬自己写编程语言了,厉害
poorcai
2017-11-12 13:15:47 +08:00
666
jtsai
2017-11-12 13:25:37 +08:00
编程语言要火至少要解决一个问题
pynix
2017-11-12 14:04:17 +08:00
感觉是 python ruby javascript 的合体。。。
fuyufjh
2017-11-12 14:36:07 +08:00
支持一下,程序员三大浪漫
SuperMild
2017-11-12 15:20:35 +08:00
在 FAQ 里看到,Lemon 的最主要优势在于 1. 容易嵌入,2. “保护” 代码财产。

那么,什么情况下需要使用容易嵌入的语言?以及,它为什么能够保护代码财产,怎样保护的?
wwqgtxx
2017-11-12 15:21:51 +08:00
有没有打算支持一下直接编译到 c 或者汇编。
zhicheng
2017-11-12 15:31:06 +08:00
@SuperMild 任何一个规模到一定程度的项目,都需要嵌入一个语言,或做配置,或做策略,比如 emacs 嵌入了 lisp, vim 实现了 vimscript,Office 嵌入了 VBScript,浏览器实现了 JavaScript。你都可以把整个语言嵌到你的项目里了,就不要问我为什么和怎样保护你的代码了吧。

@wwqgtxx 有计划直接编译到 C 的项目,但优先级非常低,很可能放弃。
bilberry
2017-11-12 15:39:33 +08:00
厉害,支持大佬
clino
2017-11-12 15:39:48 +08:00
嵌入这块市场主要是不是被 lua 占据了呢
zhicheng
2017-11-12 15:42:15 +08:00
@clino Lemon 首先还是一门编程语言,至于是不是嵌入到项目中,是取决于项目的,并不是说不嵌入到项目里就不可以用 Lemon 了,Lemon 也是一个支持面向对象和多重继承的现代编程语言,语法也很容易学习。
clino
2017-11-12 16:17:34 +08:00
嗯,还是挺厉害的,有借鉴其他语言吗?还是都从头自己写的?
有 gc 吗?
看 def 像 python 呢,另外还有所有都是对象,这个也有点像 python,这方面不会导致性能差吗?
zhicheng
2017-11-12 16:20:43 +08:00
@clino 现在开发一个新语言怎么可能不借鉴其它语言,不能闭门造车啊。def 是 define 的简写,也可以写成 define,同样也有 function 这个关键字,为了让匿名函数语义更合理。因为非常容易封装 C 函数,所以性能不是首要考虑目标。
Tunar
2017-11-12 16:26:03 +08:00
m 一下,持续关注~
ballshapesdsd
2017-11-12 16:29:06 +08:00
这个语言相对于其他的有什么优势
Reign
2017-11-12 16:40:40 +08:00
标题应该写成:lemon 是世界上最好的语言
wujunze
2017-11-12 17:17:53 +08:00
自己造编程语言 666 学习一下
jiqing
2017-11-12 17:43:47 +08:00
火钳留名
youEclipse
2017-11-12 17:48:08 +08:00
资兹
yanghaojy32
2017-11-12 18:00:18 +08:00
为何这么叼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/405696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX