Recently, when speaking with high school students, especially those in technical courses like information sciences, cybersecurity, and software design, I often hear the same refrain: “Why bother learning to code when GPT or similar tools can do it for us?” They seem convinced that soon, large language models (LLMs) will take over the need to learn even the basics of coding, like XML, HTML, Python, and SQL.
While I understand their reasoning—after all, I save time myself using GPT for basic tasks—my immediate reaction is a resounding no. Not because I doubt that LLMs can handle coding, but because the ability to code is still fundamental to understanding and improving these very systems.
In this article, I will explain why letting GPT handle all coding tasks is not the best approach and why learning the basics of coding is still essential, especially in the evolving landscape of cybersecurity and software design.
The Limitations of Letting AI Do All the Work
One common argument for relying on AI for coding is the convenience it offers. For instance, let’s imagine a simple scenario where you ask GPT to write a Python app that interacts with an Excel spreadsheet. Here's an example of a user prompt I tested:
- Prompt 1: Write a basic Python app to read and write data to an Excel file.
- Prompt 2: Add an HTML front-end to interact with this Excel file. The Python and Excel files are both named demo_excel_app.
- Prompt 3: Add some CSS styling to the HTML front-end.
In just a few minutes, GPT generated code using Python, OpenPyXL, and Flask for the backend, and HTML and CSS for the frontend. I didn’t even have to ask for the necessary libraries like OpenPyXL or Flask.
Even though GPT admittedly made some mistakes, when I entered the error messages as prompts, it immediately provided the correct solutions. I didn’t need any prior coding knowledge to resolve the issues.
For those interested in exploring this demonstration further, you can download the demo from GitHub. This repository includes all the necessary files and instructions to run the app directly from your command line or use it as a comprehensive tutorial to create your own version from scratch.
Why Young Learners are Reluctant to Learn Code
I’ve noticed a growing reluctance among younger students to learn to code. They often argue that coding is unnecessarily complex, especially compared to human languages. While it may seem easier to ask GPT to handle coding, this mindset misses the point of why coding is important in the first place. Coding is not just about writing lines of syntax—it's about understanding the logic behind the machines we use and the algorithms that shape our digital world.
Tim Froehlich (2020) captures this in his article, A Short & Terrible History of CSS: Does it Ever Get Better?. Froehlich points out that coding, much like language, evolves over time and is often shaped by real-world problems. No code is perfect from the start—it develops through trial and error, and even the simplest codes can lead to unexpected outcomes. This is the heart of why it’s important to understand coding, not just outsource it to AI.
The True Nature of Coding: It’s About Creativity, Not Just Application
Many students believe coding is a mechanical process, simply applying instructions to achieve a result. However, true coders understand that the real art of coding lies in the creativity that comes with pushing boundaries. As Froehlich notes, in 20 years, we expect code to evolve, adapt, and break existing rules to expand what we can achieve.
The most groundbreaking innovations in IT—whether it’s the creation of the C programming language by Dennis Ritchie or Adele Goldberg’s development of object-oriented programming—didn’t come from simply applying existing code. They emerged from the desire to innovate and improve, to break the rules and develop new paradigms that revolutionise the field.
Learning to code is, therefore, about more than knowing how to build an app. It’s about understanding how systems work, where they can be improved, and how we can create new solutions for the future.
The Role of Women in Shaping Modern Programming
When discussing coding, it’s important to acknowledge the often-overlooked contributions of women in shaping modern programming languages. For instance, Adele Goldberg was instrumental in creating object-oriented programming, which laid the foundation for languages like Java and Python (Gordon, 2020). Similarly, Radia Perlman revolutionised network communication with her Spanning Tree Protocol (Perlman, 2019), and Carol Shaw pioneered procedural generation in video games (Shaw, 2018). Their work exemplifies the creativity and innovation that comes from understanding and mastering the code.
The Future of Programming: What Young Learners Might Discover
Despite their reluctance, young coders are entering a world where they have the potential to innovate in areas like artificial intelligence, quantum computing, and cybersecurity. Some groundbreaking possibilities they might explore include:
- Self-Adaptive Code: Future systems could write code that optimises itself in real-time, responding to changing conditions such as threats or hardware limitations.
- Quantum-Safe Encryption: As quantum computing grows, current encryption methods will become obsolete. Future coders might invent quantum-safe encryption that bridges classical and quantum systems.
- AI-Assisted Programming: AI could become deeply integrated into programming, allowing coders to focus on defining problems while AI writes the actual code, especially in cybersecurity, where AI could predict and respond to threats autonomously.
Selecting the Right Professional for Your Project
When considering the type of professional to hire, it's crucial to align their skills with the specific needs of your project. Hiring an expert in coding isn't always the best choice, particularly if their expertise is limited to a narrow set of programming languages or tools. For instance, if your primary need is a website to showcase your company, a highly skilled graphical designer with training in psychology, human perception, visual language, and marketing strategies might be a better fit than a coding specialist. In this case, tools like GPT can effectively substitute for templates and frameworks, such as WordPress, which are designed to handle such tasks.
Conversely, for large-scale projects where all essential components are predefined, a specialized coder can be invaluable. They can efficiently interact with AI to handle the routine aspects of coding, and their expertise is critical when the AI encounters issues or inefficient solutions. Their ability to quickly identify and correct errors can significantly streamline the development process.
In research institutes or venture capital investments, professionals with a diverse background and extensive coding experience—particularly those who engage in creative and exploratory coding—are often sought after. Such individuals are likely to innovate, enhance AI tools, and develop new code, bringing a level of creativity and problem-solving capability that routine coding tasks do not require.
Conclusion: Why Learning Code Still Matters
While AI-generated code can save time and effort, it’s no substitute for the deeper understanding that comes from learning to code yourself. Coding teaches problem-solving, creativity, and a fundamental understanding of how technology works—skills that are essential for future innovators. Without this foundation, we risk becoming passive users of technology rather than the creators and innovators who push it forward. Ultimately, coding is not just about making machines do things; it’s about expanding the boundaries of what those machines—and the people who use them—can achieve.
Understanding the specific needs of your project and aligning them with the right professional is essential for success. While coding expertise is crucial, the nature of the project often dictates whether a coding specialist or a professional with domain-specific skills is required. For routine tasks or predefined projects, a specialized coder may be ideal, as they can efficiently interact with AI to handle routine coding tasks and troubleshoot issues. Conversely, for innovative or design-focused tasks, professionals with a broader skill set—such as graphical designers with training in psychology and marketing—may be more effective. By considering these factors, you can make informed decisions that maximise the impact of your hiring and ensure the best outcomes for your project.
References
Froehlich, T. (2020). A short & terrible history of CSS: Does it ever get better? Retrieved from https://dev.to/tjfroll/a-short-terrible-history-of-css-does-it-ever-get-better-41mj
Gordon, S. (2020). Adele Goldberg: Pioneering object-oriented programming. Tech Innovators Press.
Perlman, R. (2019). The Spanning Tree Protocol: A history and its impact on networking. Network Solutions Publishing.
Shaw, C. (2018). Procedural generation in video games: The work of Carol Shaw. Game Design Books.
Shea, D. (2004). CSS Zen Garden: The Beauty in CSS Design. Retrieved from http://www.csszengarden.com/