Python 虽已登峰,但尚未造极!

与此同时,基于以上技术领域,《2022-2023 中国开发者大调查》也重磅启动,欢迎扫描下方二维码,参与人人都在使用的「基础软硬件」的问卷调研,更有 iPad 等精美大礼等你拿!

 

在本篇文章中,来自北京火石镇 络科技 CEO 卞安, 将从应用领域和开发工具链的维度展开,分享 Python 语言在软件工具层面面临最新现状与挑战,探讨开发者助力 Python 突破自身的机遇所在。

出品 | CSDN(ID:CSDNnews)

一转眼,又到年底了。2022 年的 12 月,注定是我们人生记忆最为深刻的一个月。

一方面,发着高烧看世界杯决赛中梅西带着球队一波三折,最终如愿夺冠,我们一边感慨青春的逝去,一边鼓励自己早日康复,期待更好的自己。

另一方面,TIOBE 2022 年 12月的编程语言排行榜上,Python 终于再一次拿下冠军,卫冕成功,且一直保持着高速的增长,令人瞩目。

我致力于 Python 开发工具的这三年 

三年前,当我得知 C 语言以微弱优势击败 Python 成为 2019 年度 TIOBE 编程语言排行榜冠军的新闻时,我正在用 C++ 开发游戏。那则新闻突然让我有点惊讶,“Python个十几年前用过的脚本语言么/p>

“天呐,就是这样一个当初只是在游戏中作为脚本嵌入语言的东西,竟然这么受欢迎”。也是从这天起,我开始学习 Python,并在这个过程中尝试不断地建设 Python 开发工具软件。

三年后的今天,看着 Python 的成长,说实话,我很欣慰。因为在我的眼里,它不只是一门语言,更带来了一种鼓舞,让我看到,作为一名程序员,应该怎么坚持自己的理想。

毕竟,距离 1991 年 Python 诞生已经过去 31 年了。当年的我,还青春年少,戴着红领巾和同学们嬉闹玩耍。而现在的我,踏过不惑之年的台阶,两鬓已经生出白发。

我感慨时光匆匆,回顾前半生,曾几何时,我把「约翰.卡马克」当作偶像,立志于做最好的游戏程序员,并十年如一日的学习和研究,但终归,技术的大潮滚滚而来,又洋洋而去,能在程序员这个岗位上,做到主程序,甚至是技术总监、业内大拿,终归是需要点天赋的,但能够成就大事,就不简简单单是一个人的问题,更多的是心态、团队、环境、家庭、运气等多方面的因素。

即便我们努力如初。但在时间的无情打击之下,我们,是否守得住这美好的初心p>

Python 过去这一年

2022 年,Python 风声水起。

除此之外,10 月份正式发布的 Python 3.11 运行速度比之前 3.10 快了 60%,

在 Python 之父 Guido van Rossum 的带领下,未来仍有巨大的效能提升空间。

知名的 Python 发行版 Anaconda 开发商也发布了可在浏览器中运行的 Python——PyScript。

应该说,如果你不能掌握一点 Python 技能,在当下这个时间点,是有点不合时宜的。

但是,冷静下来,对 Python 这门语言进行评价,也很难说就都是赞美之词。毕竟,仅仅是表面上的一些问题,就困扰了许多人。如果只是一味的相信 AI 的未来而认为掌握 Python 就能够成就高薪就业,更是不现实的。

使用 Python 的理想与现实

首先,Python 目前仍然很少作为主流的前端开发语言。

原因很简单,就三个字:“不靠谱”。比如:

  • 在现实中创业者最扎堆的移动 App 开发领域,主流的开发语言仍然是苹果端的 Objective-C、Swift 和安卓端的  Java,暂没听说过谁用 Python;

  • 在桌面应用软件领域,前有 Microsoft Visual C++、C# 在 Windows 系统上开发的各类工具软件,后有JavaScript、TypeScript 结合 Electron 开发的各类跨平台应用,而 Python 却经常陷入到底能做出多复杂界面的讨论中;

  • 在 Web 端领域,Python 虽然具备在服务端进行大型 站开发的能力,但却很少参与前端开发。

少了这些开发岗位的加持,Python 自然是难以在企业应用开发市场讨得一杯羹。

其次,作为专业程序员看来,Python 语言虽然简单易学,开发效率高,但在现代软件企业产品的研发中,缺乏高效而完整的开发工作流软件支撑。

比如说,我们在游戏行业中习惯于使用 Unity 或 CocosCreator 来开发一款游戏,从项目的搭建、场景摆放、函数绑定,再到调试运行、打包多平台输出,都具有所见即所得的科学良好的工作流程支持。

CocosCreator 的组件化开发工作流

对于 C 和 C++,微软公司上世纪就推出了 VC++ 开发工具;Java 也有  IntelliJIDEA 和 Eclipse IDE,这些优秀的 IDE 支持背后,实际上是巨头企业对于开发者生态圈流量入口的掌握,更是帮助开发者掌握和使用一门语言的良好流程理念的践行。

其实,我们现在在开发中所困扰的大部分问题,本质上是属于开发集成工具的不够完善,如果有一套科学、良好的集成开发工具作为底层支撑,那么我相信,这些问题实际上是不存在的。

不过在这个理念之下,更多专业的工程化的东西就省略了,比如良好的项目管理、丰富的调试功能、实时的性能监控等。

笔者目前正在致力于开发基于 Python 语言的全栈式开发工具软件产品《PyMe》,希望通过可视化的方式,帮助 Python 开发者快速搭建应用软件项目,并可一键打包成桌面和安卓应用

最后,在本具备良好支持的 2D 和 3D 跨平台图形渲染领域,Python 未能实质上开疆扩土。

游戏,曾经是很多编程语言发展的重要推手,一旦沾上游戏,基本上这门编程语言可以稳定地占据一定的开发者市场。比如 C#,因作为 Unity 的主要开发语言,而被大量的游戏开发者们使用;LUA,因为能够高效的执行和简洁的设计,成为游戏中最主要的脚本语言,十多年来,虽然 LUA 仍然只能作为另一门主要开发语言的脚本补充,但仍然广受欢迎;C++,更是长期作为游戏服务器开发的不二之选。

现实来看,用 Python 开发游戏,不见得是个好的选择,因为它执行效率太低了,无法满足高速渲染和运行逻辑的要求,但是有一个很有趣的现象,就是很多的学生和非专业开发者,却使用 Pygame 或 PyOpenGL 来尝试开发 RPG 或一些小游戏。

掌握基本的 Python 编程,已经成了很多非专业开发人员的一个技能,而在这个世界上,如此众多的学生和非专业开发者,往往在学习语言的过程中,尝试做一些小游戏,或有意,或无意地娱乐自己或他人。

而 Python,是他们唯一的武器。

只是,却没有太多子弹。

Python 开发者经常使用一个基于 SDL 的图形库 Pygame 来开发一些小游戏,但 Pygame 发展到现在,却连基本的 Spine 动画支持库也没有,以及基本的 UI 库也没有。做一个游戏项目,只能手撸一切。

B 站上的“使用 Python 和 Pygame 开发《星露谷物语》”教程经常在 Python 游戏开发者群被提及,仿佛学会 Pygame,就能打开游戏制作的大门。

而 PyOpenGL 作为 OpenGL 在 Python 上的展现,一样缺这少那,大多数人连画出个方块都觉得费劲。

可能很多开发者会说:“Python 又不是为了专门做游戏用的,这不重要吧但是我想说,游戏开发的能力用不用和有没有是两码事,对于广大的图形学与机器学习交叉学科,如果 Python 具备完善的开发能力和工具支撑,对于学生和科研人员来说,则可以更加专注于核心问题的探索,而不是浪费时间去学习 C++ 和繁琐的各种开发工具和环境配置,无疑可以大大加快相关学科的发展。

写在最后

毕竟,人生苦短,我用 Python 嘛!

欢迎扫描下方二维码,

参与《2022-2023 中国开发者大调查》问卷,

更有 iPad 等精美大礼等你拿!

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览214667 人正在系统学习中 CSDN

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月22日
下一篇 2022年11月22日

相关推荐