With the rise of coding assistants we have witnessed technologies trying to aid developer experience and productivity by providing on the ground solutions and results. There are a few ethical questions that we re trying to address while finding the fine line that balances ethics and results.
What we actually see is a balance of precision and intelligence that the tools offer to find what works for you as a developer.
From linting to formatting, color highlighting for hex codes, to code autocompletion, ever since the internet arrived the number of tools and frameworks built by communities and organizations, all tasked to find and improve a smooth and elegant workflow that is as functional as elegant.
Here, we are exploring a sub section of productivity tools on the lines of code autocompletion with intelligent suggestions in an effort to improve developer experience as a whole, on similar lines as we do for user experience.
There is a vast array of tools which try to complement the developer working environment that enhance ease of use, ranging from simpler forms such as templatization of known sub-routines that are globally usable, to state of the art AI-based implementations that can possibly suggest translation of natural English language to executable code. A few of these are also capable of performing a query search on Google or Stack Overflow, extract the answers with the most upvotes and return that as a solution.
We are all looking for ways to increase the throughput of our efforts that drive results, and these are some known tools that you can try out today.
GitHub Copilot is an AI pair programming tool developed by GitHub and OpenAI. It's available as a subscription model with an basic pricing of $10 for developers to write code in Python, JavaScript, TypeScript, Ruby, and Go, and supports IDEs and source code editors like Visual Studio, VS Code, JetBrains, and Neovim.
GitHub Copilot · Your AI pair programmer · GitHub
Captain Stack is a VS Code extension that helps you find code snippets from Stack Overflow right from your editor. It’s licensed by MIT and supports all major programming languages. You will get GitHub Gist and Stack Overflow under the hood with inline suggestions absolutely free of cost.
Captain Stack - Visual Studio Marketplace
Clara Copilot is an alternative solution to GitHub Copilot available for free. It supports around 50 programming languages and lets you find code snippets instantly. It supports VS Code editor and has the Code Grepper API working internally.
Clara Copilot - Visual Studio Marketplace
Tabnine is an AI code assistant for developers available in a freemium model. It can predict and suggest your subsequent lines of code based on syntax and context. It uses the Generative Pre-trained Transformer 2 (GPT-2) model to solve NLP problems using open-source code with permissive licenses from public code trained AI model (MIT, Apache 2.0, BSD-2-Clause, BSD-3-Clause). It supports programming languages like Java, JS, Py, PHP, Go, Rust, Ruby, C++, and TypeScript, and code editors like VS Code, IntelliJ, PyCharm, Sublime, Atom, Rider, WebStorm, and Android App Studio.
Code Faster with AI Code Completions | Tabnine
Kite is an AI pair programming tool that augments the code environment with the internet’s programming knowledge and machine learning. It supports more than 16 programming languages and integrates with multiple code editors like VS Code, IntelliJ, PyCharm, Sublime, Atom, Spyder, WebStorm, JupyterLab, JupyterHub, and Vim.
Kite - Free AI Coding Assistant and Code Auto-Complete Plugin
Kodezi can autocorrect, debug, and convert your code into another programming language in real-time. You may use it to restructure and optimize your code, and also generate comments if required. In a nutshell, it acts as an alternative to Grammarly specifically for coders. It supports editors like Web App IDE, GitHub, and VS Code. It uses the Generative Pre-trained Transformer 3 (GPT-3), which is an autoregressive language model that uses deep learning to produce human-like text. The architecture is a standard transformer network with an unprecedented size of 2048-token-long context and 175 billion parameters.
Kodezi | AI-Powered Code Editor for Programmers | Code Fast
Code Vox can generate lines of code from natural speech. It uses OpenAI Codex – a descendent of GPT-3 finetuned for programming – to translate English language into code with fair degree of accuracy. A few of its important features that work with GitHub Copilot include converting comments to code, auto-filling repetitive code, importing unit tests to check your code, and suggesting alternative solutions. It supports Python and JavaScript and custom code editors.
CodeVox | GPT-3 Demo (gpt3demo.com)
Codiga is a developer productivity tool that focusses on code quality and optimization. It helps in debugging with automated code reviews and static code suggestions. It analyzes pull requests and provides instant feedback based on defined rules. It supports over 20 programming languages like JavaScript, Python, Java, PHP, Ruby, C#, YML, and Kotlin, and editors like VS Code, JetBrains, and Google Chrome.
Codiga: Coding Assistant & Automated code reviews
IntelliSense is a code completion tool that is built into Microsoft Visual Studio. Using different algorithms it provides code suggestion based on common to-dos that improves code accuracy.
IntelliSense in Visual Studio Code
With IntelliCode you can auto-complete your code with the help of AI based recommendations and local codebase, and share it across your team.
IntelliCode for Visual Studio and Visual Studio Code | Microsoft Learn
QuillBot is an AI powered paraphrasing tool to enhance your writing skills. It’s available as a freemium model that can customize your vocabulary, tone, and style of writing.
Paraphrasing Tool | QuillBot AI
Check out A dev’s guide to open source software licensing by Gina Häußge. The following is an excerpt from the article.
Any work that you create by default makes you the copyright holder of it. That means only you are allowed to distribute whatever you created. If you want to transfer this right to other people as well, you can do that via a so-called license. Consider it a set of rules that define how others may use, distribute, modify and otherwise interact with the work you created, and under what terms.
Let's say you have written a software tool and you want to host its source code repository on GitHub. Without a license attached, people will be able to look at it, and fork it (because both of that is allowed via GitHub's own Terms of Service), but they may not use it in their own projects, modify it or otherwise do anything else with it. You alone have the exclusive copyright.
By adding a license to it, however, you can extend what can be done with your code, and - if you want - with certain obligations attached. For example, you could add a license that states that people may modify or build on your tool as long as they share their resulting derivative with the source code as well. Or you could add a license that states that people may freely use, redistribute and modify your code, but only if they keep your name on it. And - probably most importantly - you could (and should) add a license that only allows to utilize your code if in turn whoever uses it acknowledges that no guarantee of its correctness or functionality comes attached with it, that there is no warranty and no liability, meaning you can't be sued for damages if something in your code breaks and causes someone grief.
So, long story short, a license allows you to define additional rights and obligations regarding your work that go beyond the copyright you own, and it can protect yourself.
To know more about major open-source licenses like MIT, Apache, and GPL, do check out the following links:
These modern day coding assistants bring a big sigh of relief for the developers community, in terms of suggesting, structuring, and debugging code. This will undoubtedly encourage more newbies and enthusiasts to accept programming challenges with a significantly reduced learning curve.
However, not everything looks as rosy and they really are. These AI powered productivity tools rely on open-source code that are widely available on GitHub. Some of these are even paid ones that charge a fee from the users. The sad part in the story is that the contributing developers whose code is being used are seldom credited or acknowledged in the entire process, and neither is profit shared with them. How ethical is that and will this discourage developers from contributing to the open-source community at large?
Sign up with your email address to receive news and updates from InMobi Technology