In the AI era, is programming still necessary? The answer is yes, but the learning method is no longer what it used to be. Why? In the past, beginners were always taught to master a programming language first. Taking C as an example, this meant being able to develop a C compiler and even write operating systems in C. This was the curriculum structure for programming majors like Computer Science.
In other words, the old approach emphasized rote memorization. Regardless of whether students understood the concepts, they were expected to memorize them. Many experienced learners simply memorized a lot of knowledge, only to suddenly understand it when they encountered a specific concept later. This "memorizing first and understanding later" model was, frankly, for rapidly cultivating talent after a crisis. It relied on good memory and high learning efficiency, essentially selecting highly intelligent individuals. The problem is that memory is not the same as comprehension. Memorizing doesn't equate to understanding.
This leads to a strange phenomenon: highly intelligent people memorize information but don't understand it. The result is that they constantly show off their knowledge, displaying their cleverness, but struggle to truly create or invent. In fact, current AI is almost a highly intelligent agent. AI can make inferences based on prompts, but that's all it does; whether it's correct or meets the requirements needs to be verified by another mechanism.
Therefore, AI's strength lies in its ability to impart knowledge and deduce desired results based on your input. However, current AI cannot perceive subtle changes in your speech or distinguish whether your meaning is comprehensible to it. In other words, it can't read between the lines; it can't understand whether you understand or not, or whether your understanding aligns with itss. The result is that you allow highly intelligent AI to constantly show off its cleverness, piling knowledge upon you, instantly providing you with a library. This leads to the real problem: if you don't understand, you can't use it. At best, you can only mimic the AI's actions. If you don't want to mimic it, you still need to understand it.
Because you can only use something after you understand it, from another perspective, understanding is what you need to remember, thus building your memory. My years of teaching experience have taught me that the key to most programming learners' sudden realization is understanding the concept of a product. In other words, previously, people first learned what a program is, gradually expanding from programs to software, and then learning product development from a software perspective. Only then did the software specifications and overall software architecture emerge, and only then did they understand that programs are just components. So, ultimately, software development involves having basic logical concepts, writing the programs that make up the components, and then assembling those components into a product.
Therefore, this app's design philosophy takes the opposite approach, starting from a product perspective, and is divided into four parts:
Basic Learning Section
Software Development Section
GUI Section
Brython Section
The "Basic Learning Section" focuses on guiding learners to write small Python programs to familiarize themselves with Python syntax. The goal is not to master the Python programming language, but rather to prepare for the "Software Development Section." The "Software Development" section starts with software specifications, focusing on guiding learners to further develop the Encrypt category, capable of ciphering English sentences. The Encrypt category serves as the computational core of the "GUI" section, continuing to guide learners in creating graphical "cipher-coding utilities" using Tk.
The "Brython" section utilizes the third-party library Brython to port these "cipher-coding utilities" to the web. In other words, the "cipher-coding utilities" are products developed by this app to meet educational needs. This is a macro-level approach: first understanding the software architecture, then working backward to identify areas needing reinforcement. After all, modern computers no longer require a compiler to function; the goal is to help learners first understand software development. Once software development is understood, other methods, such as AI, can be used to refine grammatical details later.
Currently, AI primarily responds to a set of prompts. While agent scheduling can also be used, the prompts are similar to traditional commands; in other words, it hasn't yet moved beyond automated programming. Python is a suitable programming language for writing automated programs within systems.
Have you noticed that while current AI automates tasks using natural language, maintaining the agents that perform these automated tasks still requires programmers, typically more experienced ones? Therefore, becoming a programmer requires continuously strengthening your programming skills. If you first understand what software development entails, then delving into the syntax details of programming languages and the underlying computer logic, what could be tedious and require rote memorization suddenly becomes interesting.
Interest makes learning meaningful, doesn't it? Furthermore, the sense of accomplishment comes from manually writing code that runs. Copying code from the internet, like some time ago, or now asking AI for code, doesn't generate much satisfaction and often leads to frustrating debugging. In this sense, both the internet and AI are like swords; you wield them to slay demons, but if the sword controls your mind, it cannot extend your power, and you might as well discard it.
Finally, thank you for purchasing this app. However, since everyone's background is different, I hope the app's teaching method will be helpful in learning programming. Understanding isn't easy, but you need to understand to know how to do it, and only by doing it will it truly help.
Zhang Kaiqing 2026/05/13