ChatGPT is an evolving technological phenomenon, but what does it currently offer in software application development?
That’s a burning question we’re getting from our existing customers and potential new clients. C-suite executives and software development management professionals are particularly interested in hearing more.
In this post, we’ll answer that question and provide additional guidance from a hands-on perspective.
Here’s what you can expect to learn:
- What Exactly Is ChatGPT (Straight From The Horse’s Mouth!)
- Software Development With ChatGPT—Does It Work?
- How Can Companies Can, And Should, Leverage GPT-4 (Setting Realistic Expectations)
- What’s Coming Next?
So What Exactly Is ChatGPT, aka Chat Generative Pre-trained Transformer?
Can you give me a paragraph or two on what ChatGPT is and how it works at a high level?
At a high level, ChatGPT works by analyzing and predicting sequences of words or tokens in a given context. It is trained on a diverse dataset of text from the internet, which allows it to learn grammar, facts, and some reasoning abilities. The model is composed of a deep neural network with multiple layers and a large number of parameters that are fine-tuned during the training process. The training involves the model predicting the next word in a sentence, given the previous words. This iterative process allows ChatGPT to generate coherent and contextually relevant text. However, it’s essential to note that the model’s knowledge is limited to its training data and may not always provide accurate or up-to-date information.
That’s an overall description of ChatGPT, from the ChatGPT-4 app, pay version, known as Chat GPT Plus. We should also note that throughout this post, we’ll denote any information taken from ChatGPT in italics for clarity.
So what about software code? The general definition given above is directly applicable to software code generation using the app, just like it’s applicable to text generation, or writing, with the app.
Think about it, the two things computers love most are text and mathematics. And a third close cousin would be syntax, which applies to human and computer languages.
In programming, syntax defines all the primary structural constructs and rules of the language, as well as the usage of commands, functions, libraries, APIs, etc.
In a nutshell, in programming languages, syntax is everything. That’s why English majors turned programmers often make the most readable code. It’s also why coding is a natural extension of any large language AI model.
Programming in today’s world is all about having a customer-tested process to solve business problems with software solutions. And that process involves expertise and experience using existing libraries, APIs, algorithms, and datasets to create business intelligence and solve complex problems.
And how does that translate into using ChatGPT in software development? Let’s take a closer look.
Software Development With ChatGPT—Does It Work?
The short answer is yes. But there’s more to it than the short answer. Here’s another Q&A in ChatGPT-4 (ibid1):
Can you write a block of Java code demonstrating the use of modulus algebra in generating a shared secret encryption key between two users called Bob and Alice?
Here’s what ChatGPT-4 came back with:
This is the basic algorithm behind Diffie-Hellman, one of the first cryptographic public key exchange protocols.
If you paste that snippet into your IDE and run it, you’ll get one error. Change the syntax error in the first line, “public class ModulusExample” to “class ModulusExample,” deleting the public class, and the code will run and give you the expected output.
That’s a very basic example, but you get the point. Chat was able to create the main method, import the Math Class and the BigInteger Library, generate, and document, the requested code algorithm. It used methods from the math class and perfect Java syntax.
We also asked ChatGPT to generate the same code in Python and Job Control Language (JCL) for mainframes, which it was able to do without issue.
The bottom line is ChatGPT is extremely capable of generating textual documents of various types, including using numerous software languages. That’s why ChatGPT is the fastest-growing application in history, as reported by ZDNet, gaining over 100 million users in the first two months.
ChatGPT can also generate entire programs. But it takes an experienced coder to ask multiple questions and orchestrate an overarching architecture for the application. So in some sense, there are diminishing returns from using the app when an experienced coder(s) could simply write the application.
It’s also important to note that the app is error-prone, and everything generated by ChatGPT needs to be checked and verified. We’ve seen, and heard from other users, that error rates can be at least 20% and higher, depending on the application.
So what does this all mean?
How Companies Can, And Should, Leverage GPT-4 (Setting Realistic Expectations)
At Viagio, we see beneficial use cases and utilization scenarios for ChatGPT and a potentially bright future for the app. Let’s put it in context with a few examples.
ChatGPT is extremely proficient at generating SQL code. You can feed it a table structure and data model, and it will generate usable code immediately. So anyone using SQL extensively for reporting will find this extremely useful.
We’re seeing applications spring up using the OpenAI ChatGPT-4 API with database applications like DB Pilot. Other related verticals like software maintenance and application language changes also look promising.
Since the vast majority of software development, especially in larger companies, is code maintenance, we see this as a huge green field for future adaptations of the app.
We’re advising caution and diligence, however, when using the API and the world of apps already sprouting up around API usage, as we keep an eye on potential future licensing changes.
And as always you’ll need to use the app with your eyes wide open. As ChatGPT-4 notes (ibid2):
At a high level, when given a prompt related to software code, ChatGPT tokenizes the input and processes it through its deep neural network layers. Each layer in the network contributes to understanding the context and making informed predictions about the required code. As the model generates the output, it continually refines its predictions based on the input and its understanding of the programming language. ChatGPT is capable of generating code in multiple programming languages, as it has been exposed to various examples during training. However, the quality and accuracy of the generated code may vary depending on the specificity of the prompt and the model’s understanding of the underlying programming concepts. While ChatGPT can provide useful code suggestions, it is essential for developers to review and verify the generated code before using it in a live environment.
As you can see, the application itself will warn you to use its results with caution.
With that in mind, we’re also using GPT for code translations and to accelerate learning for new libraries, languages, and technologies. For example, we can ask ChatGPT to generate a code snippet using a library we haven’t used before, then examine the code to quickly grasp the use case and syntax in context.
The net-net is that a skilled team of software developers is required to effectively use ChatGPT-4 in any meaningful way. Software projects require architecture, configuration, test, infrastructure, DevOps pipelines, and oversight to produce consequential results.
But ChatGPT is certainly helping our team streamline the development process, and we’re passing on the savings and benefits to our clients.
GIGO, or garbage in-garbage out, is the watchword here.
So What’s Coming Next?
We wish we knew the definitive answer to that question! But even the founders at OpenAI don’t know all the answers. We do know that a technological arms race has broken out in big tech with respect to AI apps and implementations.
Where it ultimately leads is anyone’s guess, but we’re remaining optimistic.
For now, if you need help with custom software development projects or digital products, you’re in the right place.
Viagio software engineers are experts at investigating and learning how to leverage new technologies for the benefit of our clients.
And ChatGPT is just another one of those technologies.
Can we help you with your software development challenges?
Let’s find out.
Call us at 888.840.0903 or get in touch with our team online today.