FYI: Kite as a company had a backlash from the community after they acquired popular Python packages and injected their spyware and ads. So far they've learnt from that lesson, but who knows if they'll stay that way.
Adam from Kite here. The team and I are thrilled to launch our new deep learning engine for JavaScript completions.<p>After years of work building our Python product — now to over 250,000 monthly active users — we decided we were ready to expand a new language. JavaScript was a clear choice given how well it pairs with Python, and it was the our most-requested language.<p>We took what we learned from building our Python product, adjusted it to JavaScript’s nuances, and trained the model on 22 million open-source JavaScript files. We then spent months dogfooding, user testing, and applying advanced model filtering techniques to ensure the UX was ready for everyone to enjoy.<p>We think the end-result will help you have more fun writing JavaScript, while also helping you ship software faster. We can’t wait to get feedback from you to help us improve our JavaScript completions from here! We'll be online to answer your questions here today as well.<p>Since a lot of folks ask, Kite continues to work 100% locally and Kite for JavaScript is free. We plan to release support for more languages later this year, and are taking requests at kite.com/letmeknow. Thanks!
Semi-related thought~ I find myself often dreaming about the AI-assisted development processes of the future. I'll frequently be writing code and start thinking "this task I'm doing is pretty formulaic and constrained-- it should be automatable someday, even if we haven't figured out how yet."<p>Examples:<p>1. I memoized the arguments for a util function. Repeat this on the very similar functions defined alongside it.<p>2. I need to put a wrapper component around six similar components. Just do it for me after seeing me do it once.<p>3. I imported a new logging mechanism and called a specific method from it in one of my class's methods. Repeat for four similar classes.<p>Basically I want a "repeat after me" functionality that can intelligently infer which part of thing I just did is generic and can thus be replaced with the next item in the series. In a dream future it would also infer <i>what the next items in the series are.</i><p>I haven't a clue how such a thing could be created though, or I would already be on it myself. It would have to understand the code not just syntactically but conceptually.<p>God it would make development less tedious though. The difference between today and that future is the same as the difference between today and the days of punchcards.
I’m glad this works locally. I remember Kite for Python, one of the reasons we couldn’t use it was because it sent the code to a remote server.
Glad to see this.
It's difficult to build a solution that works for all the use cases but I hope the team persists and so far, looking good! I love the examples of comparisons in the links posted, everyone should go check them out to see the difference if they're wondering if they should pick this up over the other implementations!
Reminder that Kite hijacked data in the past [0]. Why should it be trusted now?<p>[0] <a href="https://news.ycombinator.com/item?id=14902630" rel="nofollow">https://news.ycombinator.com/item?id=14902630</a>
How is this better than any IDE anyways? The examples look trivial and don’t seem even better than ultisnips for vim, forget IntelliJ. Are there better examples anywhere?
I haven't tried this, but I'd think that having auto completion in this way, is highly distracting. I usually start out with the basic idea of what I want to write and while writing I go back, alter, jump around, etc. If some AI starts suggestion whole chunks of code for me, I'd just waste time reading what the completions are and not thinking about the actual problem I am writing.<p>Sure if you are just re-implementing the same thing over and over, then this might come in handy, but so would using OOP.<p>Again, haven't tried, just some thoughts.
So, when this runs completely local, WHY do I have to pay monthly? Why can't it be bought?<p>And it costs more than my whole IDE (IntelliJ complete license for _everything_) as well...
Think Kite is down, trying to download but getting service unavailable when I open up this page: <a href="https://alpha.kite.com/release/dls/mac/current" rel="nofollow">https://alpha.kite.com/release/dls/mac/current</a>
I can't put my finger on it, but this seems less like a helpful incremental improvement and more like sowing the seeds of our own destruction. Like it's obviously bad to only write code that you've seen other people write in circumstances you can recognize as similar, and it's bad to only write code nobody has ever written in history, and this just barely crosses the line.
Any reason to use this over TabNine[1]? I’ve been using that for months, and only have good things to say about it. It’s like it’s reading your mind. Strong recommendation.<p>1: <a href="https://www.tabnine.com" rel="nofollow">https://www.tabnine.com</a>
Having tried Kite a few years ago, and then TabNine, I ended up sticking with TabNine.<p>The thing that convinced me in the end was that Kite had a super heavy editor integration UX that needing a constantly-running Electron "copilot" app, even uploading some of my code without clearly asking for consent first. This has maybe changed now, but at the time that was my impression.<p>Meanwhile, TabNine has almost <i>no</i> UI, it's just the tab button and nothing else, and somehow the autocomplete "just worked" amazingly well with any language I wrote, including English prose. The ratio of "fuss" to "gain" was just so different between the two. One I barely remembered I had even installed anything, my editor just suddenly became a pair programmer overnight, and the other felt like I was running a whole electron app just to get occasional library headers autocompleted and docstrings on hover (in only a few supported languages).<p>I wish the Kite team all the best though, and I hope to see their solution grow and improve. There is definitely room for more players in this space, and I know they've learned many lessons from their past issues with code uploading UX, so I hope people give them a break over that past PR gaffe.
I've been using <a href="https://www.tabnine.com/" rel="nofollow">https://www.tabnine.com/</a> for similar AI/deep learning autocompletion, highly recommended.
Really love TabNine [1]. Same thing, AI as an editor addon for super smart completions. Would be interested in knowing how Kite compare!<p>[1] <a href="https://www.tabnine.com/" rel="nofollow">https://www.tabnine.com/</a>
So this is just code completion? What exactly makes it qualify as "artificial intelligence"? Did they throw some PyTorch or TensorFlow into the mix?