巴西的编程语言都占领全世界了,中国怎么就不行呢?
如果看一看主流的编程语言,都是由发达国家的程序员创造的。
C、C++、C#、Java、JavaScript、Go、Rust、PHP诞生于美国;Python诞生于欧洲 。
但是 Lua 是个例外,它出生在遥远南半球、桑巴足球的国度:巴西 。
巴西是个发展中国家,经济水平不高,IT界也不发达,但是却创造了一个世界流行的编程语言,它到底是怎么做到的? 1
编程界有个笑话: 骆驼是委员会设计的马 。
笑话讽刺是由委员会设计出的编程语言都不怎么样,比如Algol 68, PL/I ,Ada都没有达到最初的期望。
Lua也是一个委员会设计的,但是,这个委员会非常小,只有三个人,他们都是里约热内卢天主教大学的同事:Roberto Ierusalimschy, Luiz Henrique de Figueiredo, 和Waldemar Celes。
里约热内卢天主教大学和巴西石油公司有一些合作项目,需要一个领域特定语言(DSL)来处理数据输入和数据配置。
三人团队相继创造了DEL, SOL这两门语言,并且在石油公司的应用中取得了成功。
随着需求的越来越复杂,需要一门真正的脚本语言,可以赋值,有逻辑控制,函数,可以嵌入到巴西石油公司的应用中使用。
什么叫嵌入到别的应用中呢?
举个例子,你用C语言写了一个应用,其中有一段复杂的逻辑,是计算员工工资的,但是老板希望在应用发布之后还可以修改工资,那么这段薪水计算逻辑就可以用Lua语言来写,然后让C语言应用去调用。
每次老板想改变工资计算逻辑,你新写一段Lua脚本,发布一下就可以了,整个应用不需要改动。
这样是不是挺爽?
当时市面上用作脚本编程有这些:
Perl :过于复杂,不容易嵌入到别的应用中
Python :1.0版还没有发布,也不容易嵌入
Tcl:支持嵌入,但是语法对于非程序员太复杂了
于是三人决定,干脆创造一个新的编程语言吧!
1993年,Lua正式诞生!
Lua短小精悍,直到Lua5.3也只有不到1万行C代码!包含了I/O功能的二进制包也只有200多K。(顺便说一句, 想深入学习C语言和语言设计的,Lua是个极好的范例 )
它移植性很好,有着清晰而简单的语法,是一个非常优秀的、可扩展的嵌入式语言。
Lua虽然在巴西石油公司用得不错,但是外边就默默无闻了。
在巴西本地,很少有程序员对Lua感兴趣, 无论是偏见还是实用主义,大家都倾向于向外看,寻求世界上最流行的技术来解决问题 。
这是不是和现在的中国很像?
Lua这个巴西本地诞生的编程语言未来在哪里呢? 2
Lua团队做出了一个"艰难"的决定,暂时"切断"和本地的联系,走向全球。
他们说:" Lua 必须在国外取得成功才能在国内获得认可 。"
他们决定用英语来编写Lua的文档,而不是巴西的官方语言葡萄牙语。
就连《Programming in Lua》这样的书,也只有英文版。
1996年,Lua团队开始向IT界最核心的区域——美国——进发,他们先后在美国的《Software: Practice & Experience》杂志和《Dr. Dobb’s Journal》杂志发表文章,介绍Lua这门可扩展的嵌入式语言。
恰恰是《Dr. Dobb’s Journal》这本深受程序员喜爱的杂志的报道,彻底改变了Lua的命运。
时任《冥界狂想曲》这款游戏的首席程序员Bret正陷于苦闷当中。
他希望有一种自定义的脚本语言,把游戏引擎和逻辑给分离开,这样就可以轻松地编写游戏逻辑: actor guybrush walk-to banana-tree wait-for-actor actor guybrush say-line "Mmm, bananas..." actor guybrush face-camera actor guybrush say-line "Wish I had a banana-picker"
但是,自己公司的脚本语言SCUMM却不够用,苦恼之时,同事给他递来一期《Dr. Dobb’s Journal》杂志, 上面有正是关于Lua的介绍。
Bret看后,激动万分,如获至宝,立刻给Lua开发团队发了一封邮件,大意如下: Lua牛掰!
你好啊,我读了Dr. Dobb’s关于Lua的文章,它在每个方面都超出了我的期望,它的优雅和简单把我给震住了,祝贺你们开发了这么一个思虑周全的编程语言。
对了,我是卢卡斯艺术娱乐公司的程序员,正在开发一个冒险类游戏,我决定用Lua来替换掉公司的脚本语言。
Lua的开发者看到这封来自美国的邮件肯定是非常开心的吧,全球化的策略终于看到了一点成功的曙光。
Bret说到做到,他真的在《冥界狂想曲》中使用了Lua,并且还实现了Lua中并不支持的协程。
但是,只有一个游戏采用Lua并不能说明什么,几年后的事情才真正让人震撼。
3
1998年,游戏开发者的盛会Game Developers’s Conference在美国的圣何塞召开。
《绝地武士》游戏引擎的程序员,也卢卡斯艺术娱乐的Rob Huebner作为主讲,讲述了如何在游戏中使用脚本语言。
这个主题特别吸引人,现场爆满,来了两三百人。
Rob讲解了脚本语言给游戏开发带来的好处,也不厌其烦地介绍了如何从头实现自己的脚本语言:词法分析、语法分析、优化等等。
听众有点儿沮丧:实现一个这样的脚本语言太难了。
在提问环节,Rob来了一个大转折,他指着Bret说:其实不用那么麻烦,有现成的,他已经在《冥界狂想曲》这款流行的游戏中使用Lua了,让他来说说吧。
Lua ? 这是个什么东西?大家面面相觑。
Bret站了起来,说了自己的经历:Lua这个脚本又小又快,我只用了1天就嵌入到了游戏中。
这一下子把整个房间的激情点燃了,游戏程序员们纷纷在本子上做记录,围着Bret,向他打探Lua的细节。
经过此役,Lua一战成名,在游戏界迅速成燎原之势,《半条命》、《模拟城市》、《魔兽世界》、《愤怒的小鸟》等一大批著名游戏都开始使用Lua。
随着Lua知名度越来越高,更多的人认识到,Lua满足了一种全世界广泛存在的一个需求: 让用户改变软件的行为,而不用深入到软件的内部 。
不仅游戏可以用Lua,其他领域也可以用:比如 TeX排版 设置语言实现 LuaTeX、 键-值数据库Redis、文本编辑器 Neovim和Web 服务器Nginx。甚至 Google拼音输入法 都支持Lua脚本。
Lua还可以嵌入到硬件当中,三星的电视,思科的路由器,Verizon的机顶盒,德州仪器的计算器,罗技的键盘都是Lua大施拳脚的场所。
随着物联网的发展,Lua肯定还会有爆发式增长。
4
和企业合作-->找到广泛存在的需求-->发明编程语言-->面向全球推广-->返回国内。
Lua的发明者走出了一条漂亮的"曲线救国"的道路。
如果Lua诞生在创新的高地,如美国硅谷,它的发展肯定会快得多,因为在这里有项目、有人、有组织,能帮助它提升在全球的知名度。
例如,JavaScript 是布兰登仅仅花了10天就创建的语言,很多人抱怨其糟糕的设计,但是它却伴随着网景浏览器占领了全世界。
从不发达地区发起的创新,则要难得多,不过,现在的好处是互联网已经非常发达,只要你像Lua那样, 漂亮地解决了一个广泛存在的问题,并且真正面向全球 ,互联网会帮助你迅速传播的。
遗憾的是,虽然中国的互联网产业发展了二十多年,热闹非凡,到目前为止,中国还没有一个世界流行的编程语言,不但没有,还出现了"木兰"这样套壳造假的丑闻。
这不得不引起我们的思考,到底是我们不想弄呢,还是没时间弄,还是不会踏踏实实地弄?
参考资料:
https://web.archive.org/web/20181125214924/https://www.foreignaffairs.com/articles/2013-04-21/brazil-wikipedia
https://dcc.ufrj.br/~fabiom/lua_20years.pdf
http://www.inf.puc-rio.br/~roberto/talks/hopl-slides.pdf
电动车补贴即将谢幕,车市上演最后的疯狂车东西(公众号chedongxi)作者丨川徐编辑丨晓寒2022年过完,出台了13年的新能源汽车国家补贴就正式结束了。这也就是说,2023年1月1日起,购买插电混合动力车将失去480
2022年终观察盐田更稳时光步履匆匆。这一年,盐田直面挑战承压前行。面对疫情冲击经济下行压力加大等多重挑战,区委区政府高效统筹疫情防控和经济社会发展,统筹发展和安全,在风高浪急中站稳脚跟,为高质量发展筑牢
医美前沿特医食品标识指南出台!大健康产业的新蓝海!编辑双双看见美康大产业IDStrongQueen转载请联系后疫情时代,特医食品开始流行,行业发展也蒸蒸日上。中国市场是全球最具潜力的特医食品市场,也是全球发展最快的市场之一。过去几
不要轻易让别人知道你有钱生活中,谁都离不开一个钱字。每一处,那都需要钱来作为支撑。好好赚钱,好好存钱,让自己有更多的钱,这非常有必要,也是一件很不错的事。那会让我们可以拥有更多喜欢的东西,也会让我们面对生
人真正的充实和快乐,还是要从线下获得作者林小西来源林小西(IDmrlinxiaoxi)本文共计3139字,预计阅读8分钟。你好哇,我是林小西。熟悉我的小伙伴可能知道,我曾有大概1年多的时间,关闭了朋友圈入口。也经常远
静下心来,努力把自己打造为一颗会发光的种子年轻人总喜欢说是金子在哪里都会发光,可是也要承认,大多数的年轻人都不是自以为的金子。金子生来就具有某种天赋,它数量稀少,所以成为价值的代替品。大多数的年轻人并不是生下来就具有某种天
龙虎榜1。71亿资金抢筹英飞拓,机构和北向资金在这只个股现分歧12月30日,上证指数上涨0。51,深证成指上涨0。18,创业板指下跌0。11。盘后龙虎榜数据显示,共有31只个股因当日异动登上龙虎榜,资金净流入最多的是英飞拓(002528。SZ
攻坚克难从拼规模到拼交付,房企摒弃旧三高转向新三高2022年,对于房企来说是至暗的一年,也是止痛疗伤的一年。2022年,对于房企甚至整个房地产行业来说是值得铭记的一年。走过2022年的艰难求生,房企发展模式将会迎来新的转型。这一年
虽然市场供需决定价格但医疗用品决不能成商家牟暴利工具短短一个月,一些不良商家对市场紧俏的连花清瘟涨价,对抗原试剂盒抬价,对体温计加码而最近,血氧仪,也成了一些商家牟利的紧俏品。前不久,就有细心的网友发现,去年官网88购物节实际94元
阳康后的身体恢复阳康后身体和感染前是有一些明显变化,除了一些后遗症的处理外,身体实际上处于一个恢复期,在恢复期,饮食方面还是有一定的要求的。大家的一些习惯,病人在恢复期总是给一些高营养的食物,专家
如何预防心肌炎预防心肌炎措施一为了远离心肌炎疾病,我们一定要从自身的饮食卫生和生活习惯做起。不要吃过于油腻的食物,以少吃多餐的原则,烹调方法应该以蒸煮炖为主。吃一些营养均衡清淡的食物,以减轻消化