返回顶部
分享到

巴西的编程语言都霸占全天下了,中国怎么就不可呢?

科技 2022-8-17 22:57 769人浏览 0人回复
摘要

假如看一看主流的编程语言,都是由发达国家的步伐员创造的。C、C++、C#、Java、JavaScript、Go、Rust、PHP诞生于美国;Python诞生于欧洲。但是Lua是个例外,它出生在迢遥南半球、桑巴足球的国度:巴西。巴西是个发展

假如看一看主流的编程语言,都是由发达国家的步伐员创造的。

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-treewait-for-actoractor guybrush say-line “Mmm, bananas...”actor guybrush face-cameraactor 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

本文暂无评论,快来抢沙发!

最新问答
天盟传媒网是一个由会员自行发布传媒的平台,一家集新闻稿发布平台,软文发稿平台,广告交易平台,媒体投放平台,为一体的全网媒体资源自助发布平台。尽一网在手,晓其所有!人人都是传媒者!。
  • 官方手机版

  • 微信公众号

  • 客户端下载