laitimes

5 Creative Ways Developers Can Use AI

author:Cloud and cloud sentient beings
5 Creative Ways Developers Can Use AI

We spoke with developers about the creative ways they use AI, including PR reviews, creating learning paths, and generating data models.

译自 5 Creative Ways Developers Are Using AI,作者 Jeff James。

With the widespread use of AI in the tech sector and the consequent increase in the number of AI-powered coding platforms, tools, and services, developers are struggling to find the best way to leverage AI to help them accomplish their programming tasks and goals, using AI to increase efficiency while handling some of the heavier and time-consuming programming tasks.

To that end, I spoke with several developers to learn about some of the creative ways they're using AI. While many people use tools like GitHub Copilot, Claude 3 Opus, Pieces for Developers, and Codeium to help generate code and automate tasks, developers are always exploring other ways AI can help them be more efficient.

1. Code testing and PR review

"I know people who use AI to write unit tests for the code they write," says Shane Thomas, senior software engineer and co-founder of Audiofeed. "This saves them a lot of time from having to write the same type of tests over and over again. They still need to verify the results, but they seem to be getting good results from them. ”

While there are advantages to using AI for unit testing, other experts, such as Swizec Teller, TIA's tech lead, recommend caution in relying on AI for testing. In a note posted on X, Teller advises developers to use AI for testing in certain situations, such as using AI to generate large volumes of "diverse production-grade input."

Developers also use AI to simulate code reviews, which can help developers prepare for reviews with human colleagues. "I know of people who use AI as the first step for their team members to pull request review," says Thomas. "He told me that he had received comments from other engineers about the comprehensiveness of his PR review...... But many of his notes were originally tagged by AI. ”

2. Learning paths

Education and learning are another areas where developers are using AI for benefits.

Bekah Hawrot Weigel, technical AI advocate at OpenSauced, said, "I've been using ChatGPT to create learning paths for me so that I can go deeper into the prompts. I gave it instructions on what we should do each day and asked it to come up with an activity that we could discuss. ”

3. Automate repetitive tasks

Another creative way developers can use AI is by automating some of the most heavy and time-consuming development tasks, such as helping with code maintenance and tracking down elusive bugs by analyzing complex code. In a recent article published in The New Stack, Eran Yahav, CTO and co-founder of Tabnine, suggested that AI would help eliminate some of the tedious work.

Yahav writes, "AI coding tools automate so many tasks that developers may find that some of the skills they have acquired will no longer be needed. But that's okay, because many skills involve boring work that developers are happy to give up. ”

4. AI-powered search for programmers

While all developers rely on search and AI tools to help them solve code problems, some have been using new AI-powered tools to help find human expertise.

"I'm biased here because I work at OpenSauced, but we've created a tool called StarSearch, which allows you to find the 'stars' of the open source space by indexing all forms of developer activity, including git history," Weigel said. For example, you can ask it to help you find developers who know both Rust and Tailwind. This is a great example of how AI can go beyond code completion and provide deeper insights into open source to enhance developer discovery and collaboration. ”

Mark Widman, CTO and founding engineer at Pieces for Developers, said, "Some of the great [examples] that I use a lot are [using AI to] write unit tests, documentation, and help with data models and name generation." ”

Jon Udell, a contributor to The New Stack, also wrote about using AI to improve documentation, and details his experience using LLM-powered tools like Unblocked to enhance the creation and maintenance of code documentation.

"Writing documentation from scratch is as rare as writing code from scratch. You'll typically update, extend, or refactor existing documents. Udell wrote. My expectation was that an LLM-backed tool with code and documentation would be very helpful, and Unblocked did. ”

Considerations and concerns

While Widman in general (and the OpenAI API in particular) is happy to see all the progress OpenAI has made—especially how the latter fits better with developer workflows—he warns that there's still a lot of work to be done to make the work done so far better. "I believe they still have a long way to go in terms of data privacy, additional OS support [and reducing large] latency costs."

I've touched on a little bit about what AI vendors aren't already doing on data privacy – see the "Drawbacks and Caveats" section of my last article focused on AI-powered development tools – but there are other issues that developers should be concerned about when considering using AI for creative purposes. One danger is an over-reliance on AI to accomplish too many tasks, which can lead to lower code quality and developers being unable to perform development tasks without the help of AI.

In 2023, GitClear published a study showing that AI-assisted development exerts "downward pressure on code quality", creates a "disturbing trend" on maintainability, and highlights that "... The percentage of [code] lines that creators are restored or updated within two weeks of writing is expected to double in 2024 compared to the pre-AI baseline in 2021. ”

AI-Assisted Programming: Is the Best to Come?

Despite some caveats and potential drawbacks, the unstoppable advancement of technology means that there will be more AI-driven developments in the future that programmers can look forward to and creatively adapt to their own customization needs. Experienced software developer Christian Lanström, owner of Rainstorm Technologies, points out how upcoming tools like GitHub Copilot Workspace are taking developer productivity to new heights. “

It's not yet available to the public, but I'm very interested in Copilot Workspace," Lanström said. "I've been waitlisted, and I'm excited to see how it will accelerate my work."

"It's not yet available to the public, but I'm really looking forward to Co-pilot Workspace," Ranstrom said. "I'm on the waiting list and excited to see how it will speed me up."

Widman encourages developers to examine how AI is used in ways other than software development for inspiration, and then adapt and apply these examples to developers. He also believes that more creative use cases will emerge thanks to the pioneering work of AI researchers and developers.

"One of the most important things I stick to is that we're built on the shoulders of giants, so it doesn't hurt to see what's currently available and applied to your field to help improve processes, save time [and] money, and many more amazing things!"

Read on