分享

QGIS扩展开发该选择什么语言呢

 风声之家 2022-06-07 发布于江苏

原创 GIS工具 GIS工具 2022-06-07 08:13 发表于山西

QGIS扩展开发该选择什么语言呢?

强大的QGIS支持扩展开发,QGIS 一般可以使用 C++和 PYTHON 两种语言进行二次开发,这两种方式又可以分别有插件模式开发和独立应用开发。其中:

C++优点是:系统执行效率高,与操作系统底层结合紧密,强大而灵活。缺点是:对开发者的要求较高,这是由于 C++语言本身的特性以及与底层关系紧密的原因造成的。而且C++开发应用系统时开发效率不高,这不仅体现在界面设计也体现在编译速度。很多新兴语言都是采用即时编译;而 C++要经过:编译、链接、生成等漫长的等待。这就是 JANA、python 等语言更加受欢迎的原因。

PYTHON 优点是:相比 C++,PYTHON 现在处于上升期,前景光明。而且 QGIS 社区也力推PYTHON 的开发模式,就连连微软的 VS2015 也支持 PYTHON 开发了。相对于 QGIS C++开发相关资料和代码可以说是非常丰富。在实际应用时 PYTHON 不仅可以实现程序快速开发、还可以跨平台运行,并且和 C++可以很方便的集成和结合;缺点是:PYTHON 缺点很明显由于封装和解释性语言的执行效率会比较慢,但在硬件速度飞速提升的今天这好像也不是啥大问题。而且PYTHONC++C集成起来也非常方便,如果必要可以用两种语言混合编写。

比较两种开发方式,感觉 PYTHON 更适合一般应用开发和数据处理。而 C++更适合与通讯系统及硬件结合紧密的场景。以及对效率要求较高的三维及虚拟现实场景。但随着硬件速度的提升以及算法的优化,这种界限会越来越模糊。C++将在很多场景下被其它更简单、快速的开发语言所取代。而且 C++的优势在实际工作中很难体现其优势,我们更多考虑的是开发成本、开始时间、开发人员好不好找、后期程序好不好维护,这无疑全部是 C++的弱项。于技术人员关心的技术难度及运行效率却考虑的比较少,买两台好点机器不久行了。

个人看法:语言的选择对于靠开发软件养家户口的人来说很重要,千万不要学会屠龙技却由于现实中找不到龙而饿肚子,除非你学编程是为了自己玩或者在小师妹面前装大神,但个人认为,这种装在豪车、别墅面前显得非常幼稚和寒酸!

确定

  • 不看此公众号

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多