Users log in to Python (although Python has reached its peak, it has not yet reached its peak!) The
B 站上的“使用 Python 和 Pygame 开发《星露谷物语》”教程经常在 Python 游戏开发者群被提及,仿佛学会 Pyg...
This article is from the "2022 Annual Technical Review" column planned by CSDN. This column will focus on core technology fields such as programming languages, open source, cloud computing, artificial intelligence, architecture services, databases, chips, development tools, and specially invite frontline technical experts to personally share their technical practices. Through this, we hope to bring some reference and thinking to more industry practitioners, and better grasp the future development trend of technology.
In this article, Bian An, CEO of Network Technology in Huoshi Town, Beijing, will share the latest status and challenges faced by Python language at the software tool level from the perspectives of application fields and development tool chains, and explore the opportunities for developers to help Python break through. Author: Bian An.
Editor in Chief | Produced by Tu Min | CSDN (ID: CSDNnews) In a blink of an eye, it was December 2022, destined to be the most memorable month in our lives. On the one hand, with a high fever, we watched Messi and his team go through various twists and turns in the World Cup final, ultimately winning the championship as we hoped. While lamenting the passing of our youth, we encouraged ourselves to recover as soon as possible and looked forward to a better self.
On the other hand, in TIOBE's programming language ranking in December 2022, Python finally won the championship once again, successfully defending its title, and maintaining rapid growth, which is remarkable.
As an author of Python tool software, today I would like to talk about the joys and sorrows of Python winning the championship
I have been working on Python development tools for the past three years. Three years ago, when I learned about the news that C language narrowly defeated Python to become the top programming language on the 2019 TIOBE programming language chart, the news that I was developing games in C++suddenly surprised me, "Is Python the scripting language I used a decade ago.
Oh my god, it's just this thing that was once just used as a script embedding language in games, and it's so popular. "From that day on, I started learning Python and tried to continuously build Python development tools and software. Three years later, watching Python grow, to be honest, I am very pleased.
Because in my eyes, it is not only a language, but also an inspiration. I can see how to adhere to my ideal as a programmer. After all, 31 years since the birth of Python in 1991, I was still young, wearing a red scarf and playing with my classmates.
And now, as I step over the steps of my forties, my temples have already grown white. I feel the rush of time. Looking back on the first half of my life, I once idolized "John Kamak" and aspired to be the best game programmer. I have been studying and researching for ten years, but in the end, the tide of technology has come and gone, and I can become the main programmer, even the technical director, and industry leader in the position of programmer, Ultimately, it takes a bit of talent, but being able to achieve great things is not just a matter of one person, but more of a matter of mindset, team, environment, family, luck, and other factors.
Even if we work hard as before. But under the merciless blow of time, can we hold onto this beautiful original intention?
In the past year of 2022, Python has gained popularity to some extent. The development of Python in this year has benefited from the influence of AI, making it one of the most desired skills for students and researchers to master in the popularization of programming teaching.
And this popularity is also gradually spreading from research institutions to developers in various industries. In addition, Python 3.11, officially released in October, runs 60% faster than the previous 3.10. Under the leadership of Python's father, Guido van Rossum, there is still huge room for performance improvement in the future.
The well-known Python distribution developer Anaconda has also released Python, PyScript, which can run in browsers.
It should be said that if you cannot master a little Python skills, it is a bit out of place at this time point. However, it is difficult to say that evaluating Python as a language is just a compliment when you calm down. After all, just superficial issues have troubled many people. If you simply believe in the future of AI and believe that mastering Python can lead to high paying employment, it is even more unrealistic.
The ideal and reality of using Python First of all, Python is still rarely used as the mainstream front-end development language for three simple reasons: "unreliable". For example, in the field of mobile app development where entrepreneurs are most concentrated in reality, the mainstream development languages are still Objective-C, Swift and Java on Android. I have not heard of anyone who uses Python;.
In the field of desktop application software, there were various tool software developed by Microsoft Visual C++and C # on Windows systems, followed by various cross platform applications developed by JavaScript, TypeScript, and Electron. However, Python often falls into discussions about how complex interfaces it can create;
In the field of Web side, although Python has the ability to develop large websites on the server side, it rarely participates in front-end development, which is less favorable for these development positions. Python is naturally difficult to get a piece of the enterprise application development market. Secondly, as a professional programmer, although Python language is simple and easy to learn, it has high development efficiency, but in the research and development of modern software enterprise products, Lack of efficient and complete development workflow software support.
For example, in the gaming industry, we are accustomed to using Unity or CocosCreator to develop a game. From project construction, scenario placement, function binding, to debugging, running, and packaging multi platform output, all have a scientific and good workflow support of WYSIWYG
The componentized development workflow of CocosCreator is suitable for C and C++, and Microsoft introduced VC++development tools in the last century; Java also has IntelliJIDEA and Eclipse IDEs, and behind these excellent IDE support, it is actually the mastery of developer ecosystem traffic entry by giant enterprises, and the practice of good process concepts to help developers master and use a language.
In the ranking above, we can also see that "Visual Basic", a programming language that has long been far from the mainstream development field, still ranks 6th today. As is well known, "Visual Basic" is a very excellent example of visual programming tools.
The drag and drop style control creation combined with very simple event function mapping has had a profound impact on developers' mastery of object-oriented interface programming and development, and has also become a reference for a large number of application development tools and game editors in the following decade or so
In fact, most of the problems we are currently facing in development are essentially due to the inadequate development of integrated tools. If there is a set of scientific and good integrated development tools as the underlying support, then I believe these problems actually do not exist. However, the problem with Python is that the development requirements at the time of its birth, after thirty years of change, are completely different from what they are now.
Author Guido van Rossum initially designed Python as a teaching language, but until now, the fundamentals of Python are still more like a teaching language, simple to understand, easy to get started, open notepad to write, and save and run directly.
However, under this concept, more professional engineering aspects have been omitted, such as good project management, rich debugging functions, real-time performance monitoring, etc. We cannot blame the author. We can only say that the era has given Python new vitality in a new stage, and in the new environment, the original peripheral auxiliary tools have fallen behind.
Although we currently have excellent development tools such as PyCharm and VSCode, the main body of these tools still does not break away from the level of code programmers and do not achieve complete coverage in the development process. I believe this is also an indispensable link in limiting Python's transition from small software to large and medium-sized software development.
The author is currently committed to developing a full stack development tool software product "PyMe" based on the Python language, hoping to help Python developers quickly build application software projects through visualization, and can be packaged into desktop and Android applications with one click. Finally, in the field of 2D and 3D cross platform graphics rendering with good support, Python has not been able to substantially expand its territory.
Games used to be an important driving force for the development of many programming languages. Once they became involved in games, this programming language could steadily occupy a certain developer market, such as C #, which is widely used by game developers as the main development language of Unity; LUA, due to its efficient execution and concise design, has become the main scripting language in games. For over a decade, although LUA can still only serve as a script supplement to another major development language, it is still widely popular; C++is also the best choice for long-term game server development.
In reality, developing games in Python may not be a good choice because its execution efficiency is too low to meet the requirements of high-speed rendering and running logic. However, there is an interesting phenomenon that many students and non professional developers try to develop RPGs or some small games using Pygame or PyOpenGL.
Mastering basic Python programming has become a skill for many non professional developers, and in this world, so many students and non professional developers often try to play small games, intentionally or unintentionally entertain themselves or others, while Python is their only weapon.
However, there are not many bullet Python developers who often use Pygame, an SDL based graphics library, to develop some small games. However, until now, Pygame has developed without even a basic Spine animation support library or a basic UI library.
To create a game project, one can only do everything with their hands. The tutorial "Developing Starry Dew Valley Tales Using Python and Pygame" on Bilibili is often mentioned in the Python game developer group, as if learning Pygame can open the door to game production.
As a representation of OpenGL on Python, PyOpenGL lacks both this and that. Most people find it difficult to draw a square, and many developers may say, "Python is not specifically designed for gaming, isn't it important, If Python has comprehensive development capabilities and tool support, it can focus more on exploring core issues for students and researchers, rather than wasting time learning C++and various tedious development tools and environment configurations, undoubtedly greatly accelerating the development of related disciplines.
The 3D scene editor based on PyOpenGL, which the author is currently developing, is still relatively rudimentary.
However, Rome was not built in a day. I sincerely believe that in this process, whether it is the author of Python, the Microsoft company behind it, or the vast developer community, they will continuously contribute their intelligence and solve Python's problems bit by bit. With the continuous investment of various development forces in Python, the future of Python will not be limited to scientific research and teaching, In a wider range of engineering projects, there will be even greater potential to be tapped.
After all, life is short, I use Python! Participate in the "2022-2023 China Developer Survey" questionnaire, and there are exquisite gifts such as iPads waiting for you to pick up!
当前非电脑浏览器正常宽度,请使用移动设备访问本站!