巴西语言(西班牙和巴西语言)

最近有很多老铁都想得到巴西语言的回答。还有网友想弄明白西班牙和巴西语言。对此,武陵观察网整理了相关的内容,希望能给你带来帮助。

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

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的开发者看到这封来自美国的邮件肯定是非常开心的吧,全球化的策略终于看到了一点成功的曙光。

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

版权声明:本文内容部分来源互联网用户自发贡献或其他公众平台,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,一经查实,本站将立刻删除,如若转载,请注明出处。

发表评论

登录 后才能评论

评论列表(20条)

  • 阎吝
    Bret说到做到,他真的在《冥界狂想曲》中使用了Lua,并且还实现了Lua中并不支持的协程。[what]是线程吧?
  • 滕讨月
    其实拼音很适合编程
  • 琴缺蚜
    我们还在为编程语言中文化在那儿折腾呢,哪有功夫钻研编程语言的本质和灵魂啊。
  • 葛匹
    中文编程会极大降低编程门槛,促进国内工业软件发展。[大笑][大笑][大笑]
  • 师踢腊
    中国的拿来主义已经习惯了,不需要花大量时间去自己研发。短时内很难改变。随着中美对抗的不断升级,这个问题会倒逼编程语言的本土化,以中国人的智慧不难解决。
  • 元拭
    编程语言都是简单的词汇和语法,用什么文字编都一样,根本是逻辑而不是文字本身,这么多种流行编程语言都是因为方便了具体的工作而流行,而非是用了什么文字。所以不懂就不要瞎操心了,即便是有了中文语言,要用好也不是谁都能行的。
  • 岑茂哑
    中文编程,我笑了,编程重要的是逻辑实现,而不是用什么字符,中文符号没有纯英文简洁,只要学过编程就知道编程对英语水平要求不高[思考]
  • 乜政
    没必要搞中文代码,编程重在思维逻辑,而不是字母本身。我们用c,Java,Python那么多年,里面都是英文单词,程序员们的英语一样很拉胯。还有很多代码的变量都是汉语拼音组成的呢。再说用汉字编码且不说可行性,反而搞久了还会造成汉语词义的曲解,就像你和小学生问李白是谁,人家回答李白是刺客,而用汉字编码,也不会把大伙都搞成个大文豪出来。所以编程重在思维逻辑不在于形式。
  • 巩邻
    因为那帮程序员一直说中文编程不行,一直在打压中文编程,自觉英文编程是高人一等。从来没想过去做出一款国人自己的编程语言,哪怕是一门英文的编程语言我也不说啥了!
  • 吕怎刃
    中国现在需要一款中国人英语水平不行的人可以使用的编程语言。
  • 哈月
    在编程世界, 用拉丁文字来写程序比用中文来写高效多了, 这是事实,需要承认. 所有主流的编程语言都是基于英语的,这也是事实。如果要走向所谓的中文编程,必须是以自然语言的方式, 用自然语言来表达逻辑。举个例子: "学生的成绩保存在成绩表, 里面有学生名字和成绩, 请算出所有学生的平均分, 然后排序, 告诉我前10名是谁" 希望以后的自然语言处理技术能够先进到理解这些话,然后转换成传统的计算机语言来执行。
  • 晁舀课
    这年头大部分家用路由器和光猫都是用luci做界面。家家户户都有设备是lua 所控制
  • 仉翘氟
    中国有易语言编程[黑线]
  • 柯讥
    首先中文不是国际化语言,不容易推广,其次如何能让老程序员快速的低成本的学习或者接受你写语言,这是最重要的也是最首要的,因此中文编程不太可能出现一个非常流行的语言
  • 焦傀闹
    中国重应用,对底层的编程开发投入不够
  • 於均氯
    中文编程来看看 令:甲等于一千零二十四; 乙等于一千零二十四的三次方; 求:甲乘乙得几? 计算机:甲乘乙等于一千零二十四乘一千零二十四的三次方。*@&@#@#&*@&@*&#%¢『¥$£』
  • 郑园闹
    我也创造了一种编程语言,特点:1。任何数据有空值,2。内置支持网络,甚至支持网络服务器双机冗余处理能力,3。内置支持网络数据缓存功能 缺点,没有赚到钱
  • 墨埂淬
    印度为啥软件强,美国为啥软件发达,IT更强?因为它们的官方语言是英语。作为从小就学汉字的中国软件业要发达起来基础太差。
  • 蒙袜缎
    这种语言现在用到最多的地方,估计就是游戏外挂……
  • 戎起
    有个叫aardio的国产语言还挺不错的,这么多年,目前我唯一发现真正的国产语言

    联系我们

    在线咨询: QQ交谈

    邮件:

    工作时间:周一至周五,9:30-18:30,节假日休息