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.
Mere slashvertisement, or AI-enhanced venture-capital pump-and-dump?
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
It would be great if we could stop using the term 'AI' to describe what is simply automation, and call it automation instead. Psst - automation isn't new. It's a cool advancement, but it isn't 'AI'. Oh, and automation isn't 'learning' either. Adaptation is not 'consciousness'. Just as millennial Silicon Valley is not a 'legitimate field'. Dollars are not the measure of usefulness or reality.
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.
Stackoverflow is the next casualty of AI automation. Sorry guys, they're taking you're jerbs.
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!
You want future programmers to be more aware of how things work - not less. This lazy coding approach will guarantee brain atrophy, just the like gadgets that killed our fine-motor skills. And who are these highly-rated developers? Are they the same geniuses who removed physical write-protection from storage media? No thank you. We already have a tool that writes code using stolen snippets based on dubious crowdsourced ratings. It's called every Indian programmer on stackexchange.
See subject: It's ALL about the "holy dollar" & short-sighted stupidity since "Sarbannes Oxley" ISO documentation should make all coders equal (& THAT doesn't happen for DECADES to get a rookie noob, which WE ALL START OUT THAT WAY (& then you have to account for SPECIFIC domain knowledge in a company's IT/INFO SYSTEMS structure + practices for it too, takes more time beyond coding skill).
* FUNNY how VERY FEW of those MBA types get held DIRECTLY RESPONSIBLE for coding errors that lead to BREACHES though, eh?
(They ought to be - NOT THE CODER, since they hire rookies to save payroll, the SINGLE EASIEST THING TO CONTROL IN BUSINESS is THAT & those rookies make the mistakes we see MOST of the time (yes, even 'seasoned' (I hate that term by the way) pros do, but far less)).
APK
P.S.=> It's always about the "holy dollar" but they're not thinking in terms of product liability either imo (again, who cares? from them - we don't pay up for OUR fuckups after all)... apk
Why don't we just instruct the ai what kind a product we want and get the damn thing built and done.
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
From my experience I've long suspected that Python coders weren't capable of thinking for themselves. I guess this proves it.
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.
The home page has a "this is cool" tweet from Guido that bemoans the lack of an emacs integration. One of the followon tweets is from Kite's CEO, saying that Emacs should be available "next week". These tweets are all from April 2016...
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.
In Episode 6 of Season 3, "Booby Trap":
"Computers have always impressed me with their ability to take orders. I'm not nearly as convinced of their ability to creatively give them."
The proliferation of low quality code written by barely competent programmers is bad enough as it is. Now imagine what can be wrought by automating and increasing that chaos. How about a self-driving car programmed by this code monkey generator? Any takers on the first ride? Maybe this isn't such a good idea after all.
People can enjoy leaning to code with an AI?
Domestic spying is now "Benign Information Gathering"
So this is text-prediction using a specific dictionary. It will have the same problem as current dictionaries: It needs to be specific to that language and industry sector. Still, the chance of it not having the word (line of code) that one wants, is high: We all know how troublesome that is.
By analogy, pre-processor macros are ubiquitous in C but unavailable in Java, which gets along quite well without them, in spite of the complaints of an irate few.
So is it me or is this just a clone of Microsofts intellicode for Visual Studio or Visual Studio Code which already supports Python...
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'.
really productive faggots that write good software and make money