There is a new set of tools available to help generate code. From ChatGPT to GitHub Copilot, the tools are really cool and powerful. But do they replace a developer, and if not, how are these tools best used? This article is here to answer all your non-technical and beginner level questions.
This document was developed with the help of these Artificial Intelligence tools, including LanguageTool and ChatGPT.
Warning, This Article is Currently In Review
This article is currently being revised for language and accuracy. Please contact us with all suggestions, or comment below and double check its content.
Table of Contents
- Warning, This Article is Currently In Review
- Table of Contents
- Research Methods Used
- Warning About the Lack of Open Source
- GitHub Copilot
- Shared Strengths
- Shared Weakness’s
- Comments Welcome
Research Methods Used
I’m a software developer with over 30 years of technology experience, and I have a deep knowledge of fuzzy logic systems. I’ve used both technologies extensively, and researched other articles handling both technologies for this document. As this technology is new, what we know about it will change, and the technology is bound to improve as years come and go.
Warning About the Lack of Open Source
Both ChatGPT and GitHub Copilot are mainly closed source solutions controlled by large companies that wish to limit their public offerings. These solutions are not open source, instead they keep the technology hidden and prevent access to some features for all but internal use, and possibly for their clients that pay them. This is extremely troubling, given the nature of Artificial Intelligence systems, and few alternatives written under an open-source license exist.
Soon, these types of programs are going to start to increase efficiency in developing products. This will decrease demand for those that develop these solutions. Meanwhile, we will be unable to produce the same quality of products that those who pay a premium produce. Given the nature of this technology, this is extremely troubling.
Microsoft, the owner of GitHub, may later decide to give more powerful solutions to itself. Leaving anyone who is not working for Microsoft behind. This has the power of putting the smaller product development firms out of business, and making Microsoft and their few competitors as the only ones to use this tech.
Meanwhile, we as humans must eat and survive. Our jobs will slowly be swallowed by this technology. Our wages will lower, and we may even struggle to find opportunities. We will become beholden to Fuzzy Logic systems to deliver our food, and develop our products. Big tech will control it, and I hardly doubt they will be willing to share.
ChatGPT is a natural language processing (NLP) model developed by OpenAI that is capable of generating human-like text in a conversational style. It is based on the GPT (Generative Pre-training Transformer) architecture, which has been widely used for language generation tasks such as machine translation and summarization.
One of the main advantages of ChatGPT is its ability to generate text that is coherent, contextually appropriate, and responsive to user input. This makes it well-suited for use in chatbots, customer service systems, and other applications where the ability to generate human-like text is important.
For purposes of this document, we focus on ChatGPT’s ability to produce computer code to write software. Though, ChatGPT can also be used to generate documentation and other necessary parts of the software development process.
ChatGPT is extremely efficient at generating larger code segments, and for exploring certain topics. It is also excellent at helping at developing documentation and testing.
The chat type functionality isn’t the best for use within an Integrated Development environment. Instead, its a great way to explore an idea, or generate an initial code base. It leaves copilot as the main solution for software developers, and can be integrated with such IDE’s as Visual Studio or IDE Storm.
GitHub was bought by Microsoft earlier last year for absurd amounts of money, making the original owners and investors in GitHub very wealthy. With their purchase, and their technology, Microsoft has developed their own code writing assistant, GitHub Copilot. It works in virtually all languages, and is powerful.
GitHub Co-Pilot is a bot developed by GitHub that uses ChatGPT to assist users in their work on the popular code-sharing platform. The bot is designed to help users with tasks such as reviewing code, triaging issues, and answering questions about the use of GitHub.
One of the main benefits of GitHub Co-Pilot is its ability to streamline the development process by providing developers with quick access to information and tools. It can save time and reduce the need for developers to switch between different applications, which can help to improve productivity.
GitHub Co-Pilot is not very effective at generating large, completed projects. It also does not offer great alternatives, or adjustments, with the same effectiveness as ChatGPT.
Both solutions are remarkable tools, with incredible potential. They both offer ways to decrease software development time, and increase quality. Soon, these types of solutions will be essential for all software developers to use.
What came first, the chicken or the egg?
The more complex the topic, the harder it becomes to communicate what is desired. We have long since developed methods to communicate efficiently with computers and call these methods, “Computer Programming Languages”
What these systems are essentially attempting to do, is to replace computer programming with an English based discussion with the user in English about what is needed. This is highly problematic, as many minor decisions need to be made about the code produced. These decisions will be left to the system to make, and they may not be made with the same care as a developer would give.
Thus, these systems simply do not replace software developers and professionals. Instead, they are powerful tools for software developers to use, that can help produce code faster. All results they produce need to be reviewed, tested, and modified.
Our brains use the same fuzzy logic the computer systems use. Except the human brain is millions of times more powerful than any of these systems. Leaving these systems results to develop results with more limits than your average software developer has. These limits cause the software bugs you see, and thus none they offer work perfectly.
The code produced by these artificial intelligences is often insecure, and lacking basic security checks. All code needs to be thoroughly reviewed, and tested extensively.
The laws regarding copyright were not typically written to handle content produced by an AI. This means that any code produced by an Artificial Intelligence belongs in the public domain. However, in copyright law, there is a topic called “derived works” in which copyrighted content may be re-copyrighted by another party if they add significant value to it.
Currently, there are lawsuits claiming that since these bots are typically trained on private owned copyrights, and thus that they are violating the original copyright owner in the training of the AI(reference). We predict these court cases will not succeed, and that these technologies will be seen as producing derivative works, but we acknowledge the decision is not ours to make. We hope the lawsuits lead to more clarity in the law.
Overall, ChatGPT and GitHub Co-Pilot are both useful tools that demonstrate the capabilities of modern chatbots and the ways in which they can assist with a variety of tasks. They are likely to become increasingly important as the use of chatbots continues to grow in a variety of industries.
These tools in no way remove (or replace) the software developer. They work great to produce higher quality code faster, but hit limits on more advanced tasks and security.
Non-Spammy Comments are welcome to all users. Please share with us what you think about our article, and if we have anything wrong. We are looking to improve all of our resources.