首页游戏资讯Python 虽已登峰,但尚未造极!

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

misa2 03-24 5次浏览 0条评论

点击图片,查看图书详情

| CSDN(ID:CSDNnews)

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

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

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

作为一个 Python 工具软件的作者,今天,我来聊一聊 Python 夺冠路上的喜和忧......

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

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

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

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

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

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

展开全文

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

Python 过往这一年

2022 年,Python 风声水起。

一定程度上,Python 在这一年里的发展,得益于 AI 的影响力,使得目前在编程教学普及方面,Python 成了广大学生和科研工作者所最期看把握的技能之一。而这种热度也正在一步步的从科研院校扩散到各行各业的开发者领域。

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

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

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

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

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

使用 Python 的理想与现实

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

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

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

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

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

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

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

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

CocosCreator 的组件化开发工作流

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

在上面的排行榜中,我们也可以看到,“Visual Basic”这个早已经远离主流开发领域的编程语言,现如今依然能够排到第 6 名,而众所周知,“Visual Basic”是可视化编程工具中非常优异的典范。挈拽式的控件创建加上非常简单的事件函数映射,对开发者把握如何面向对象的界面编程开发起到了深刻的影响,也成为之后十数年大量使用开发工具和游戏编辑器借鉴的对象。

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

但 Python 的问题,在于当初它诞生时的开发需求,经过三十年的转变,与现在是完全不同的。作者 Guido van Rossum 最初设计 Python 是将其当作一门教学语言。可以说,直到现在,Python 的基本面仍然还更像是一个教学语言一样,通俗易懂、简单上手,记事本打开就能写,写完保存直接就能运行。

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

我们不能责怪作者,只能说时代在新的阶段,赋予了 Python 新的生气,而在新的环境下,原有的外围辅助工具已经落后了。虽然当下我们有了PyCharm、VSCode等优异的开发工具,但这类工具的主体仍然没有脱离代码编程器的层面,并没有在开发流程上做到完全的覆盖。 我认为这也是目前限制 Python 从小型软件转向大中型软件开发中不可缺少的一环。

笔者目前正在致力于开发基于 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++ 和繁琐的各种开发工具和环境配置,无疑可以大大加快相关学科的发展。

写在最后

笔者正在开发中的基于 PyOpenGL 的 3D 场景编辑器,目前还比较简单。

不过,罗马也不是一天建成的,我由衷的信赖,在这个过程中,不管是 Python 的作者,或者是其背后的微软公司,以及广大的开发者群体,都会不断的奉献自己的聪明才智,把 Python 的问题一点点解决掉,随着 Python 各方开发力量的不断投进,Python 的未来,将不仅仅局限于科研和教学,而在更加广泛的工程项目中,还会有更加浩大的可挖掘潜力。

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

点击上图,查看详情

安卓大型3d单机游戏
【机构调研笔录】南方基金调研环旭电子、昊志机电等5只个股(附名单) 光线追踪技术上线!vivo X90系列旗舰芯迎来完全体
相关内容
发表评论

游客 回复需填写必要信息