Python,Lua哪个适合做绘图软件的插件脚本语言?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python,Lua哪个适合做绘图软件的插件脚本语言?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2963字,纯文字阅读大概需要5分钟。
内容图文
![Python,Lua哪个适合做绘图软件的插件脚本语言?](/upload/InfoBanner/zyjiaocheng/436/319a2372d6e24a1eb5979a44ed7a2bdd.jpg)
回复内容:
Lua,因为:- Lua 比Python 更容易编程,这里更容易编程的意思是指更容易做扩展和嵌入编程,也就是对解释器做事情,Lua 的跨语言编程模型非常简单好用,数据交互都是通过栈,而 Python 要复杂得多,作为 Python 和 C/C++混合编程的专家,我在最熟练的时候要把引用计数处理对也要核对文档,睁大眼睛仔细看好几次。
- Lua 的解释器就是一个数据结构,你可以在一个进程里面造出 很多来,而且彼此是完全隔离的,这在并发、错误处理上都极大得简化了问题,而 Python 的解释器是全局的,用了 Python,涉及这部分的东西就告别并行了,因为 进入Python解释器那里串行化了,如果出现了错误,也比较难以可靠地恢复(Lua 只要保护好涉及的资源,把解释器销毁重建一个就好了)
- Lua 的效率比 Python 好,如果用 API 兼容的 LuaJIT 那就更好了(最快没有之一的脚本语言实现),做绘图软件的插件,这可能还是一个重要的考虑
Lua 的优势在于语言本身实现简洁(除了 keyword 比较长):比如 coroutine,还有比较好的 closure 优化。缺点是库比较少。如果是对已有的 C 代码进行 scripting,Lua 的缺点就不算缺点。 如果是用C++/QT写绘图软件,然后要找个脚本做插件提高软件的灵活性和扩展性,那必然Lua比Python好
如果是用Python/PyQT写绘图软件,然后用C++对性能要求高的部分进行优化,那必然是Python比Lua好 python。
很多专业和开源图像处理软件都是用Python做脚本的。
python和lua 哪个适合做绘图软件的插件脚本语言?取决于你期望用脚本语言达成什么目标。
如果你只是希望把它做为UI/Project配置文件:CMake: Given the chance to do the language over, we would have spent some time looking for a nice embedded language that already existed. 【Lua】 is the best fit that might have worked.
如果你只是打算把C/C++ API封装一下,让用户在你指定的域里做功能定制,那么选择Lua。
有人提到 Adobe Photoshop Lightroom,从简介上看,其实Lightroom干的无非就上面两件事情。是的,Lua在游戏行业很流行,而游戏行业用Lua做的就是第二类事情。
但是,如果你希望你的用户用这种脚本语言定制自己的插件,如果你的用户可能来自各行各业,如果你希望给你的用户足够的自由度想怎么插就怎么插,那么Lua不是一个好的选择。出了程序员的圈子,Lua的社区并不大,而你需要的是一种能轻松与其他domain对接的编程语言,比如Python。
Maya的脚本语言就是用Python,玩法比Lightroom多了去了。
今时今日,CommonJS Spec Wiki可能是比Python更好的选择(Node.js是CommonJS的一个实现),理由:
- Javascript有丰富的第三方库,涵盖的领域不输Python
- V8/Node封装C/C++接口更容易
- Javascript的语法比Python简单,与Lua很相似
- 还可以用HTML写UI
- 性能比Python好了一个数量级,接近luajit(虽然我认为作为插件语言,性能其实根本不是问题)
非利益相关:前Autodesk程序员,现投身游戏行业。 相当多的专业的三维软件和合成软件的脚本,以及VFX公司的流水线工具们,基本是选择了python,这个也不是随口胡说,是的确有根据的。不信搜搜。 图像处理,Python的全局锁(GIL)就够让人决定选Lua了 这种问题就好比什么语言是最好的语言,只能说哪一个熟练就用那一个 lua,轻。 请搜索:Adobe Photoshop Lightroom
内容总结
以上是互联网集市为您收集整理的Python,Lua哪个适合做绘图软件的插件脚本语言?全部内容,希望文章能够帮你解决Python,Lua哪个适合做绘图软件的插件脚本语言?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。