AI-Driven Python Code-Completion Tool 'Kite' Attracts $17M In Investments (venturebeat.com)
An AI-enhanced tool that suggests code snippets for Python developers in real time just raised $17 million in VC funding to expand its R&D team "with a focus on accelerating developer productivity."
An anonymous reader quotes VentureBeat: "Our mission is to bring the latest advancements in AI and machine learning (ML) to make writing code fluid, effortless, and more enjoyable," explained [founder Adam] Smith. "Developers using Kite can focus their productive energy toward solving the next big technical challenges, instead of searching the web for code examples illustrating mundane and frequently repeated code patterns...."
Instead of relying on the cloud to run its AI engine, Kite now runs locally on a user's computer, letting developers use it offline and without having to upload any code. (Kite still trains its machine learning models with thousands of publicly available code sources from highly rated developers.) Furthermore, running locally allows Kite to fully operate with lower latencies... In addition to ditching the cloud, the new version of Kite brings a feature the team calls Line-of-Code Completions. Until now, Kite's machine learning models could only suggest the next "token" in a line of code. Line-of-Code Completions can complete entire function calls with a single keystroke... The team boasts that Kite is "the only developer product on the market to offer such advanced completions."
"Today, Kite is used by more than 30,000 Python developers worldwide," reports VentureBeat, adding it locally-based ML plugin is available for top Python IDEs including Visual Studio Code, Atom, Sublime Text, PyCharm, IntelliJ, and Vim.
Kite's investors include the CEO of GitHub, as well as the founders of Dropbox, Paypal, and Twitch.tv, and the company hopes to eventually support more languages, starting with either Java, JavaScript, or Go.
An anonymous reader quotes VentureBeat: "Our mission is to bring the latest advancements in AI and machine learning (ML) to make writing code fluid, effortless, and more enjoyable," explained [founder Adam] Smith. "Developers using Kite can focus their productive energy toward solving the next big technical challenges, instead of searching the web for code examples illustrating mundane and frequently repeated code patterns...."
Instead of relying on the cloud to run its AI engine, Kite now runs locally on a user's computer, letting developers use it offline and without having to upload any code. (Kite still trains its machine learning models with thousands of publicly available code sources from highly rated developers.) Furthermore, running locally allows Kite to fully operate with lower latencies... In addition to ditching the cloud, the new version of Kite brings a feature the team calls Line-of-Code Completions. Until now, Kite's machine learning models could only suggest the next "token" in a line of code. Line-of-Code Completions can complete entire function calls with a single keystroke... The team boasts that Kite is "the only developer product on the market to offer such advanced completions."
"Today, Kite is used by more than 30,000 Python developers worldwide," reports VentureBeat, adding it locally-based ML plugin is available for top Python IDEs including Visual Studio Code, Atom, Sublime Text, PyCharm, IntelliJ, and Vim.
Kite's investors include the CEO of GitHub, as well as the founders of Dropbox, Paypal, and Twitch.tv, and the company hopes to eventually support more languages, starting with either Java, JavaScript, or Go.
Code completion these days generally works pretty well - but only for matching single words or method signatures.
It would be really interesting to see the result of something that jumps beyond mere pattern matching for a single element and into the realm of suggesting real code completion, like filling out a lot of boilerplate, or even dare I say suggesting completions for variable names you had not yet even entered.
We all know that old phrase that the two largest problems in computer science are cache invalidation... and naming (and off by one errors as the old joke goes). What if completion was helping your naming to be semantically consistent, or helping train a younger developer in coming naming approaches? Is there any kind of code completion today that does that?
What would be greta to see is some kind of open source effort around all this before AI code helpers are lost behind a thicket of patents.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
This seems like s very, very bad idea, for multiple reasons.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Pretty much what is going on, yes. Most of the human race does not get it and probably never will.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Code-completion is very good nowadays, with almost any editor (https://atom.io/ is a very good one...). More than this is needed? To what? Generate lazy and bad programmers?
Making it easier for monkies to code isn't going to get you anything but monkey code. Give me a break. We've already proved that one in spades. If you need to search all the time for some constructs, perhaps they should be in the language and you should, you know, actually frigging know the language you're getting paid to know.
.
This has been the dream of moronic PHB's and MBA's forever - make it so we don't need skilled people who demand a real paycheck to code our custom solutions. It's all been tried in one form or another. I'm not holding my breath...remember when OLE, activeX, DCOM was going to solve it all with drag-drop components (or all the variations before and after that from MS?). Are we there yet? That was just one example of one approach. Look into the history of all this, there have been many. 100% failure rate for some reason.
Why guess when you can know? Measure!
More than this is needed? To what? Generate lazy and bad programmers?
That is the biggest contradiction I have ever seen typed.
The truth is, as I and many others have learned over decades - the absolute BEST programmers are the laziest ones.
A lazy programmer will spend vast amount of time determining a way to do something that involves less work, to build systems so that they need the least maintenance.
A "dumb" programmer will look for the most modern way to do something, not assuming that they know the best way just because they have worked on something before.
I am not just talking about saving you time, but tools that help keep you on track with your own ideals on how you want to program and name things. A system that could recognize how you've approached a problem before, and suggest starting with a similar approach - or maybe something new if the industry had moved to a different current best practice.
After all, a lot of us use not just stack overflow but turn to looking over older code bases to review problems we think we solved really well before. Why would you NOT do that - again, lazy but it really helps code quality. An AI could spend the time during through your old approaches and Stack Overflow and journals to find something novel that might be a good idea.
We always rightfully scoffed at tools that would replace programmers, but what should not be scoffed at is any use of technology that can augment humans by automating ANYTHING they do repetitively - and programming research is one of those things.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
AI + blockchain = VC Fundgasm.
Hi, there; it looks like you're trying to download programs to some industrial controllers...Would you like help with that?
"Reality is that which, when you stop believing in it, doesn't go away." - Philip K. Dick
The reason they used Python is because the most important use cases are already covered in Java or C++ with things like autocomplete. Adding AI doesn't give much improvement to what already exists. But since Python is dynamic, you can't know the type at compile time. That is why you need to use these extreme solutions for Python.
"First they came for the slanderers and i said nothing."
If there is an AI-approved "snippet" of code, why on earth would you want it to be a snippet? That begs to be abstracted to a library and/or language construct. It will be easier to read, debug and maintain.
Your ad here. Ask me how!
I have given up the fight against the autocomplete function on my smartphone already. There is no way to turn it off. Just write like I'm mildly retarded now, and don't give a fuck anymore. At least keep this feature optional until I'm retired.
If my completion is predictable, I know what I have to type without looking at the screen.
If it is smart, I must always check if what I want to do is in the completion list.
If it is too smart, it will propose complex completions, that are correct 80% of the time, and look correct 90% of the time at first glance.
The "typos" I make today with smart typing correction in my smart phone look to other people like correct sentences. It's just confusing. No one can guess what I meant to write.
Common snippets being generated all over will likely cause a lot of false positives from plagiarism detection tools.
Not that this would be a bad thing, they already have problems with false positives - this might make them clean up their act.
Thanks, those are both excellent examples - especially JS Nice sounds really interesting, will take a look at that.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
FYI, this is the same company that took the 3rd most popular add-on for SublimeText and silenty added ads and spyware (err, telemetry) to it.
https://qz.com/1043614/this-st...
https://forum.sublimetext.com/...
Sounds like someone who you want to trust with your company's source code, indeed.
People can enjoy leaning to code with an AI?
Domestic spying is now "Benign Information Gathering"
Just trying out the Kite plugin for Atom and seems to work fine. Looks like they've worked hard to integrate with a number of popular editors and IDEs. Anybody know if there's any (planned) support for Jupyter notebooks / Google Colab? Tried searching on this and got nothin'.