ChatGPT and Beyond: How Developers Are Using AI Tools
AI-based programming tools are revolutionizing software development. From expediting manual and repetitive tasks to jump-starting the first draft of new code, AI tool use is poised to turbocharge the software development process, taking speed, efficiency and accuracy to new levels.
Industries from medical testing and diagnosis to manufacturing and agriculture are using AI tools and platforms to optimize production, increase efficiencies and predict supply chain behavior. The good news is the benefits of these tools are not only for large organizations. According to an article on Towards AI (opens in a new window) , “While the productivity boost is for big and small businesses alike, it is a game changer, especially for small businesses, independent developers, and professionals. These tools could be particularly impactful and beneficial in reducing the barriers and costs of entry to new startup businesses.”
To follow is a sample of five popular AI tools and how they are being used by developers.
- ChatGTP is a variant of GPT-3, a state-of-the-art natural language processing model optimized for human dialogue. While this tool from Open AI has sprinted into mainstream awareness and use, software developers are relying on it for code completion, generation, optimization, documentation, performance, correction and explanation. Despite its wide adoption, some developers say that because the code generated by ChatGPT is questionable in terms of accuracy, they relegate its use to simple tasks such as template code, boilerplate logic or basic algorithms.
- GitHub Copilot is a GPT-3-based AI tool that uses machine learning algorithms to provide suggestions for code completion. The tool works by analyzing existing codebases to predict the most likely code a developer will write next. Stated benefits of using Copilot are code consistency and quality, as well as reduced development time. GitHub and OpenAI emphasize that this tool is intended to help developers write better code, and not to replace them. Brian Walker, a contributing writer to com (opens in a new window) , expresses the following concern about overreliance on this tool: “While GitHub Copilot is great at generating code based on existing patterns and best practices, it might not be as good at coming up with truly innovative solutions. This could limit the creative potential of developers who rely too heavily on the tool.”
- Tabnine is also an AI code completion tool that is geared toward individual developers and large tech organizations. Reviews state that the product is ideal for teams collaborating on projects with different codebases and programming languages. It also benefits students and beginners learning programming languages and exploring unfamiliar code examples. According to Pieces for Developers (opens in a new window) , “Tabnine supports a wide range of integrated development environments (IDEs), including Visual Studio and JetBrains IDEs, making it accessible to well over 40 million developers.” To mitigate risk, Tabnine takes steps to ensure code used in training data has a permissive license.
- Wing Pro. The website Steam (opens in a new window) describes this tool as “an integrated development environment for the Python programming language. It integrates powerful editing, testing, debugging, and project management features to help reduce development and debugging time, cut down on coding errors, and make it easier to understand and navigate Python code.”
- Sketch2Code is a Microsoft generative AI tool intended to cover the basic needs of both web designers and developers.The tool uses computer vision and deep learning to convert simple hand-drawn or wireframe sketches into a working HTML boilerplate, allowing web developers to quickly prototype ideas and test layouts. Its noted limitations include the inability to recognize some complex or ambiguous elements in a sketch, such as icons, logos or animations, and its tendency to generate code that is not optimal or compatible with all browsers and devices; therefore, it is not a tool that can replace a talented web developer but is excellent for prototyping and learning.
Legal concerns abound regarding the use of AI-generated code
With all the hype and awe surrounding AI’s capabilities, there are risks that should not be swept aside. Many of the AI tools we hear about that are revolutionizing our world work by scraping massive amounts of data from the internet — data that has not been explicitly shared by the creator. When that data is used by ChatGPT or Copilot to generate code to assist a developer, troubling legal questions can arise. As Lev Craig, editor of TechTarget (opens in a new window) , states, “If that data contains proprietary algorithms that are reproduced in ChatGPT’s output, it could raise intellectual property issues.”
Some countries are not waiting for the first IP or privacy lawsuit to land in its courts. Italy’s data-protection authority, citing privacy concerns, has banned ChatGPT “with immediate effect.” Furthermore, an article in the BBC News (opens in a new window) states that the authority “would also investigate whether [OpenAI] complied with General Data Protection Regulation,” the rules that govern the way organizations can use, process and store personal data. The article further states that the Italian authorities have determined, “there was no legal basis to justify the mass collection and storage of personal data for the purpose of ‘training’ the algorithms underlying the operation of the platform.”
Developers: Don’t fall behind the AI skills curve
As AI tool use becomes increasingly prevalent throughout myriad industries, developers should not be as concerned about being replaced by AI automation as being replaced by those who have developed the skills and knowledge related to core AI variants, including machine learning (ML), deep learning (DL), natural language processing (NLP), predictive analytics and multiple neural networks. In the article AI Coding: What Developers Need to Know and Do (opens in a new window) , Swathi Kashettar states, “AI-assisted coding tools are growing more complex, and they can aid developers in writing code that is quicker, more accurate, and more productive.” As it has been for many decades, faster, more accurate and more productive is the relentless drumbeat of business.
For more information on the IT certificates offered by Washington’s community and technical colleges, please contact:
Center of Excellence for Information & Computing Technology