5 AI Tools That Can Help Developers Be More Productive

Recommendation: Use NSDT scene editor to help you quickly build 3D application scenes

 

5 AI Tools That Can Help Developers Be More Productive

 

Without the full team, learning new features or fixing old problems can take up a disproportionate amount of time—perhaps hours of searching, reading documentation, and watching instructional videos. Fortunately, advances in artificial intelligence have greatly accelerated this process.

The AI ​​giant that everyone immediately thinks of is ChatGPT, which has somehow only been available since <> October 2022. It may feel like it's been a long time since artificial intelligence dramatically changed the everyday life of the humble developer.

However, ChatGPT is quite versatile. Where AI really shines is in the specialized tools that exist to solve specific problems in the development world.

There are many tools that fit this description, but let's go ahead and look at five of them and understand what they are for. Jump ahead:

  1. Phind
  2. bloop.ai
  3. Codeium
  4. ColPat
  5. RegExGPT

At the end of this article, you can view a table summarizing use cases for all five AI development tools to better understand how each fits into your workflow.

If you plan to leverage these or any other AI tools for developers, be sure to read through my little caveats for some dos and don'ts to keep in mind. Otherwise, let's get started!

Phind

Phind Ai Developer Search Engine Homepage

Starting off our list is Phind, a tool that promises to be a search engine but is tailor-made for developers. While more general tools like ChatGPT can solve almost any problem, Phind is tailored specifically for developers.

Interestingly, this position of "search engine" means that Phind's response usually consists of two parts:

  • Very detailed and insightful answers to your specific questions
  • Related Links Retrieved from Search

Often, you'll be switching back and forth between asking the AI ​​questions and browsing the search results to dial in what you want.

One of the more annoying things about using AI to solve programming problems is that the AI ​​model can start bluffing when it's not quite sure of the answer. So it might give you answers that seem reasonable, but don't work at all.

It's frustrating because you can spend a lot of time on something that's supposed to be working, only to find out after a while that the AI ​​has basically led you astray. There's probably nothing worse for your productivity than chasing something that doesn't work in the first place.

Let's take Phind as an example and ask how it can connect to a Bluetooth Low Energy (BLE) device on Windows using Rust. This is an interesting question because, while bluetooth is ubiquitous, it is very difficult to find examples on how to search for and connect to BLE devices.

Using "Find and connect to BLE devices in Windows in Rust" as input in Phind results in the following:

Phind input requirements to find and connect to ble devices on Windows in Rust, with code samples on the left and search results on the right

On the left, we get a Codeium example that uses the package , which is the correct package to use for this one.btleplug

On the right we also get search results so we can quickly jump to the crate's cargo page. This means we can quickly jump between examples on how to use Codeium and the documentation itself.btleplug

In contrast, asking the same question to ChatGPT tells us to use a crate that is older than Windows and does not support Windows. So Phind definitely produced better results in this case.rumblebtleplug

As of <> October 2023, Phind is free with no subscription option, which is a nice bonus.

In summary, here's what sets Phind apart:

  • Great for coding questions
  • Search results are displayed next to the generated answer — nice additional context
  • Seems to give better encoded answers than ChatGPT
  • free

bloop.ai

At various times, I have had reason to clone various GitHub repositories onto my computer. Usually I do this to try to fix a bug or understand how a given repository solves a problem.

Whenever I do this, there is always a period at the beginning where I have to understand how the repository is structured and where to find the code I'm looking for. This "onboarding" can take anywhere from a few minutes to a few hours.

bloop.ai hopes to speed up the process. You can clone the entire GitHub project and then ask questions about the repository bloop.ai. In this case, I cloned the repository and asked how BLE scanning works for Windows devices:btleplug

Bloop AI tool answers developer questions on Btleplug repository

This is actually a rather difficult problem. The library in question supports four different platforms, so bloop.ai had to find Windows-specific code.

Also, since the code is abstracted behind the interface -- in order to normalize the API surface, no matter what platform you're on -- bloop.ai must also find the actual platform implementation.btleplug

bloop.ai is also free for individuals. To use it, you must:

  • download the app
  • install it
  • to register
  • Connect it with your GitHub account

Once this is done, you can clone and inspect the repository to your liking.

Another way bloop.ai can really help increase productivity is in the context of developers leaving the organization.

I inherited codebases that were the product of other developers' expertise, and it wasn't easy to understand how the app fit together. Being able to load a repository into an AI-assisted tool and then whack it with questions would certainly remove a lot of trial and error.

Finally, the desktop app looks great. The high polish makes the app a joy to use.

Here is a summary of what makes bloop.ai great for developers:

  • Learn about existing codebases without wasting days
  • Inline chat makes it easy to get answers right where you need them
  • The app is beautiful

Codeium

You may have heard of other AI-assisted programming tools, such as GitHub Copilot. Codeium works in a very similar way, providing contextual suggestions in your codebase as you write code. That's impressive.

For example, if you're writing a function in Rust, say, the Codeium plugin will suggest a function to do this:calculate_fibonacci_sequence()

Codeium plugin to suggest features for developers as they write code

In the above example, I just wrote the function name, and Codium came up with a function that can meet this requirement. While ChatGPT or even Phind might take minutes to suggest an answer, Codeium only took a few seconds to roll out a feature that would work most of the time.

Codeium's suggestion isn't always perfect, but it's often faster than writing the entire function from scratch yourself.

This is great for your productivity as you don't have to search how to achieve a given function. Sometimes, simply giving your function the name of what you want it to do is enough to let Codeium fill in the rest.

Where Codeium really shines is in editor support. While VS Code is the de facto standard for many Rust developers today, I was delighted to find native support for CLion and many other JetBrains IDEs. The list of supported editors is impressive - have a look at it:

List of IDEs supported by Codeium, with IDE names and icons

Beyond that, the Codeium team also delivered a very compelling message as to why Codeium for Individual (Personal Edition) is and will be free, a tool that seems to be a great product in this space.

In summary, Codeium offers:

  • Real-time, near-instant code advice
  • Extremely broad IDE support

ColPat (Color Palette & Design Tool)

You can make the best app in the world, but if it looks like a pain, or if it's even just ugly, people will have a hard time engaging with it. Finding complementary colors and themes that look good can sometimes take a trained eye—or a lot of trial and error.

Fortunately, ColPat provides an easy way to create themes and colors for your website or application:

Kolpat Design Tools Home

Only two of ColPat's tools— Palette from Image and Palette from Color —are specifically identified as using artificial intelligence to prepare results. Otherwise, it seems like this all happens locally; from browsing the source repository, it's unclear how the AI ​​is actually involved in generating the palette, or if at all.

However, ColPat is still a great tool that can definitely help you generate complementary color schemes for your website or app.

In summary, Kolpat is:

  • Elegant design ideal for quickly identifying applications
  • Might not actually be AI-assisted, but still works well

RegExGPT

At some point in your development life, you'll need to filter text from a larger string of text. There are many potential reasons for this - maybe you're trying to convert data from one type to another, or maybe you're trying to automate something.

Early in your career, you might be content with splitting some strings and manipulating character counts. But in the end, you'll probably end up using regular expressions.

Regular expressions are ubiquitous in software development because they are so powerful. However, they are not easy to read.

For example, Google provides some examples showing some regexes for specific purposes, but they are not as easily explained as you said. There are also complex posts on sites like StackOverflow where they find the syntax quite cryptic.

For example, this regex gets matching email addresses ending with , , and:yahoohotmailgmail

(\W|^)[\w.\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)

There are other sites like Regular Expressions 101 that let you give some input and then play with your regex until it does what you want it to do.

Traditionally, this approach - providing input, then trying to craft queries until you get what you want - is how you achieve many of these goals. Of course, this is after visiting about every StackOverflow question on how ColPat works. This can be a time-consuming process.

Fortunately, we can fast-forward a lot of this process by using RegExGPT. Instead of guessing ColPat , you can simply provide the string and the value you want from it.

For more complex queries, you can also provide a natural language hint - for example, "I want the third value in a comma-separated array" - and RegExGPT will pump out a RegEx that does exactly what you want it to do.

For example, at the risk of invoking Zalgo, I can use RegEx to read from an HTML anchor tab:href

Regular expression generator and input

RegExGPT gives this helpful response:

output from regex, it is recommended to use regex

When spinning around in the Chrome developer console, we can see the result as expected:

The regex is generated by regex with expected result in Chrome developer console

Regular expressions have never been easier!

In summary, you can use regex GPT to:

  • Let AI write mysterious regular expressions for you
  • Thoroughly test the generated expressions! Rogue regex queries can do considerable damage

Summary table of AI developer tools

So, what tool should you use when you have a specific problem?

tool

very suitable...

Phind

...find answers to coding-specific questions, in a more detailed form than ChatGPT

bloop.ai

. Learn how a never-before-seen codebase works so you can start using it quickly

Codeium

. Get contextual suggestions and auto-completion for a wide variety of encodings up to OLS

ColPat

. Quickly generate color palettes for your application (even if it's not technically AI-driven)

regular expression

...to generate a regular expression query for the language of your choice

small caveat

With all the AI ​​aids, trying to solve development problems suddenly becomes a lot easier. But a lot of these technologies are based on GPT-3.5 or GPT4. These language models are a huge leap forward and are helpful for a wide range of applications.

However, as of now, sometimes asking questions to the AI ​​model can result in the AI ​​model not knowing. When this happens, instead of telling you that it doesn't know, the model often tries to bluff through the answer. These are technically called hallucinations.

There may be two problems with this. For starters, you may be getting misinformation that sounds reasonable but is completely wrong.

Then, because it sounds plausible, you might spend a fair amount of time trying to get an AI solution to work before realizing it's never going to work. It's a waste of time and bad for your productivity, which is the whole point of us being here in the first place.

If your AI solution doesn't work for you, don't be afraid to fail fast and try other tips.

Second, consider what happens when you ask someone in the workplace how to solve a problem. If this "solution" introduces a bigger problem, you have someone to go back and ask what's wrong with the code. This is not the case for GPT-based solutions.

For example, suppose you generated regular expression queries using the GPT assisted language model. If that regex works for you once in a small test, but fails on a larger dataset in production, that's entirely up to you.

No senior developer would accept, "But the AI ​​suggested a specific regex query!" as an excuse for something like a break. Of course, deploying patches for problems that AI-written code might introduce can also hurt your productivity.

The bottom line is this: Artificial intelligence can absolutely help you in every situation, and it can be incredibly helpful. But only you as a developer can endorse a given solution.

Whether you're coding or AI is helping you code, quality always matters. Proving that your code works using unit tests and automated tests is now more important than ever.

in conclusion

Now is a great time to be a developer, and AI offers solutions to many of the problems developers have faced over the years. Whether you're writing new code, trying to understand an existing codebase, or just want a fresh palette, there's a tool for you.

Judicious use of these tools will equate to a lot of time savings, and we will no doubt continue to see dramatic developments in this space. If you find another AI-powered tool that helped you, be sure to let us know in the comments!

Set up LogRocket's modern error tracking in minutes:

  1. Visit https://logrocket.com/signup/ to get App ID
  2. Install LogRocket via npm or script tags. Must call client side, not server sideLogRocket.init()

npm:

$ npm i --save logrocket

// Code:

import LogRocket from 'logrocket';
LogRocket.init('app/id');

script tag

Add to your HTML:

<script src="https://cdn.lr-ingest.com/LogRocket.min.js"></script>
<script>window.LogRocket && window.LogRocket.init('app/id');</script>

  1. (Optional) Install plugins for deeper integration with your stack:
  • redundant middleware
  • NgRx middleware
  • Vuex plugin

The translation is organized and translated by the 3D modeling learning studio  , please indicate the source for reprinting!

Guess you like

Origin blog.csdn.net/ygtu2018/article/details/132554384