ChatGPT and Programming
This post is co-authored with ChatGPT: AI chatbot that is making a wave on the internet. ChatGPT is capable of answering questions and writing code. But is it capable of taking your job?
For past few days, ChatGPT is all over the internet. It has attracted a lot of attention and hype. If you don’t know, ChatGPT is a chatbot developed by a company called OpenAI. ChatGPT uses a deep learning model called GPT-3 (Generative Pretrained Transformer 3) to generate responses in real-time. This allows ChatGPT to have conversations that feel like talking to a real person.
One of the key features of ChatGPT is its ability to understand and respond to a wide range of input styles. Whether you're chatting with it in a casual, colloquial manner or using more formal language, ChatGPT is able to adapt to your style and provide appropriate responses. ChatGPT excels both at serious tasks — fixing broken code, writing syllabi, crafting sensitive emails — and dumb fun. I am using it to write parts of this post. It is capable and fast. OpenAI CEO Sam Altman said the tool now has more than 1 million users.
DALL-E is another deep learning model developed by OpenAI that uses a neural network to generate images from text descriptions. DALL-E also left the internet in awe like ChatGPT. The cover image of this post is also created by DALL-E.
After blown away by the capabilities of ChatGPT and DALL-E, many people are worried about their jobs. If a AI chatbot can write, debug and test code then who need programmers anyway? While ChatGPT is not the first AI chatbot that writes code but it certainly has ignited the conversation. Earlier this year, Github launched Copilot, an AI pair programmer that suggest code and entire functions in real-time, right from your editor. But the unique thing about ChatGPT is its ability to take high level prompt in natural language and then come up with exact steps to write the complex software. For instance, there is a YouTube video where ChatGPT is creating a todo list application in angular framework. Similarly, I asked it to explain several technical topics like event loop, golang channels, etc and it didn't disappoint me.
Because of versatility and vastness of training data, ChatGPT is better than traditional search engines in most of the scenarios. Its ability to make connections of abstract ideas and concepts make it strong contender for many knowledge base jobs. Jobs like copyrights writing, customer support, content creation, etc can greatly benefit from AI like ChatGPT. Does it mean AI like this will also take over the programming jobs?
To answer that, let's first define programming. Programming is the process of creating instructions that a computer can understand and execute. In other words, programming is the act of writing instructions that tells a computer what to do. Programming has evolved from Ada Lovelace programs to modern day Javascript (pun intended) websites. If we follow the evolution of programming languages we can deduce that languages are moving from more verbosity to less verbosity. Modern languages like python, ruby, etc abstracts low level details and provide readable constructs for writing computer programs or instruction. Following the same evolution, IA will enable humans to provide programming instructions in natural language. Programming will evolve to become a conversation between human and computers. But humans will always remain the programmers — the instruction providers. The day computers program themselves humans are doomed.
So, if programming is only about writing code then AI will definitely take over — in fact, it has already begun. But if programming is the process of solving problems and creating novel solutions, then AI is seriously lagging behind. Programming is not just about writing code, but also about understanding real world problems. Real world problems are dynamic and involves working with complex systems and understanding their intricacies. This is something that AI systems are not yet able to do as effectively as humans. Thus, it is safe to say that AI has made great strides in the field of programming, but humans will still be at the forefront of technology and programming. Humans and AI will work together not against each other.
Please share this post and your valuable feedback. Peace ✌️
AI in its current state cannot take place of a programmer's job involving creative work but I can't say that for writers since I can't distinguish which part is written by a human and which part by ChatGPT :).
In general, I think the next couple of decades will define the limits what AI is capable of. Right now, we are seeing arguments for both sides of the coin if it is going to be intelligent enough to compete against humans.