top of page

Prompt Driven Programming - A New Software Development Paradigm?

Writer's picture: Danika GuptaDanika Gupta


AI has changed the way we approach most day to day tasks. Programming is no exception. However, AI's impact on programming seems to be fundamental, changing the way we will approach all aspects of software development. In this blog, we will try to explain this new trend, which we call "Prompt Driven Programming".


What is Prompt Driven Programming?


Basically, the idea is to write, in natural language (for example english) what you would like a piece of code to accomplish. The AI (in this case most likely a large language model) will generate fully functional code to accomplish your stated task.


So - is this a one-time prompt?


Not necessarily. While that is the simplest way to think about it, most likely the exchange will be a sequence of prompts. First the user will state their task. Then they will examine the code provided by the AI. Second the user may ask for corrections or refinements. This cycle will continue till the user is satisfied with the output of the AI.


So - it is a co-pilot? We already have those


Not exactly. The idea of a co-pilot is to assist in a programming task, for example by completing code, checking for syntactical or the other errors, and so on. In this model, the human programmer only provides instruction in natural language.


How is Prompt Driven Programming different from Pair Programming?


In a way, yes. The idea of pair programming is usually to have two entities (in the past both human), collaborating on a task. One writes the code and the other provides guidance and checks the code. When two humans do this, they periodically switch roles. In this case, the human is always to guide and designer, and the AI is always the entity writing the code.


Why is Prompt Driven Programming useful? Are there any downsides?


It enables individuals without significant programming expertise to leverage their problem solving, domain expertise, or design skills to directly create functional code that executes their ideas and vision. It has the potential to greatly increase the speed of code generation, software engineering productivity, and the user-facing quality of products. It however, introduces new challenges into the software development process, such as how to maintain, debug or test PDP code, and PDP generated codebases.


Check back for more blog articles as we explore this topic further!






107 views0 comments

Comments


bottom of page