Getty Images/iStockphoto
Is ChatGPT better for coding than low-code platforms?
ChatGPT can write code, but it can't integrate code or produce design ideas. Also, it poses security and licensing risks. For now, AI enhances but doesn't replace low-code platforms.
You don't have to look far to find predictions about industries and product categories that generative AI technologies are supposedly poised to destroy. Here's one niche that's safe from the likes of ChatGPT, at least for now: low-code software development platforms.
Low-code development enables both trained software developers and citizen developers to create applications with efficiency, regardless of how much or little background they have in coding and software development practices. There are many low-code platforms, and each provides a range of functions for application design and development.
ChatGPT and similar AI technologies can generate code when asked. Due to the functionality and security it lacks, ChatGPT likely won't replace low-code development tools at most organizations anytime soon. In fact, AI stands to enhance, rather than supplant, low-code platforms.
Similarities between ChatGPT and low code
ChatGPT and AI-powered coding-specific technologies -- including GitHub Copilot and Amazon CodeWhisperer -- can handle some of the same tasks as low-code tools.
They can automatically generate code tailored to a user's request. For example, when ChatGPT was prompted to write a Python function to pull data from a MySQL database, this was an excerpt of the response it gave:
import pymysql
def pull_data_from_mysql(database, table, user, password,
host='localhost', port=3306):
"""
Connects to a MySQL database and pulls data from a specific table.
Returns the data as a list of tuples.
"""
# Connect to the database
conn = pymysql.connect(
host=host,
port=port,
user=user,
password=password,
database=database
)
# Create a cursor
cur = conn.cursor()
# Execute a SELECT statement
cur.execute(f"SELECT * FROM {table}")
# Fetch all the rows
rows = cur.fetchall()
# Close the cursor and the connection
cur.close()
conn.close()
# Return the data as a list of tuples
return rows
If you plug the right values into this autogenerated code, it connects a real-world Python application to a MySQL database.
By automatically generating code like this example, AI tools such as ChatGPT can potentially assist both nontechnical business users who cannot create code and professional software developers who need to generate code quickly. Low-code vendors also cater to these groups.
Where ChatGPT falls short vs. low code
Tools such as ChatGPT, at least in their current state, don't serve as full-scale replacements for low-code platforms. There are too many features in those platforms that AI services can't replicate well.
Features that ChatGPT struggles to achieve include application design, code integration, security protection and license management.
Application design
ChatGPT and similar tools can generate code to implement a specific part of an application. They don't do much to help select which functional elements to include in applications or to organize those functions into a coherent application architecture.
Low-code tools' visual interfaces show the functionality that users can implement and how functions can potentially integrate to create an application. Unlike ChatGPT, low-code tools help users think about applications from a big-picture perspective and consider different possibilities regarding application design.
Code integration
Low-code platforms piece together application components to form a complete application. Users choose the functionality they want to implement, and the tools automatically integrate them.
In contrast, general-purpose generative AI platforms, such as ChatGPT, can write code only in snippets. Users must decide how to combine those snippets into a functional application. Most nontechnical users lack the expertise to integrate code at all. Professional developers could perform that integration, but that undercuts the purpose of using AI to accelerate application development.
Code security
The code included in low-code development modules is designed to be secure. Low-code vendors build security features into their application runtimes to detect risks or potential exploit attempts.
In comparison, ChatGPT and other AI systems for general use do nothing to ensure that the code generated is secure. These tools lack awareness of the broader codebase into which that code may be integrated. They may, therefore, not account for how, for instance, user input collected by one function will be passed into another function; they do not see how the input could potentially inject malicious commands into the application.
For these reasons, ChatGPT could generate code that is vulnerable to injection attacks, cross-site scripting, insecure dependencies and a variety of other problems. These security risks exist to a lesser extent in tools designed to generate code, such as low-code platforms.
Licensing permissions
ChatGPT and similar technologies are trained, in part, on open source code. The developers of that code did not consent to the training process, so claims have emerged that these AI tools -- and, potentially, any code they produce -- violate open source licenses. Such claims are beginning to lead to lawsuits against GitHub Copilot and others.
It remains too early to say whether organizations that use ChatGPT to help write software might end up in legal trouble. This risk doesn't exist for customers of a licensed low-code development platform.
AI features in low-code tools
For now, AI won't become a replacement for low-code development as much as a complement to existing workflows. Low-code platforms have yet to make heavy use of AI-powered code implementation or interfaces.
It's certainly possible to imagine low-code development platforms looking more like ChatGPT. For instance, low-code vendors could add natural language interfaces to their tools so users can describe the type of application they want to build. The low-code tool would implement the application, drawing on its libraries of pre-built functions.
These vendors could still offer the option of constructing low-code applications through a visual interface that shows which functionality is available and lets users combine it. Adding this AI-based capability would enable users to make requests using natural language and draw on application components and design tools that are more comprehensive, secure and legally sound than code produced by ChatGPT.