Live data from Hacker News

AI-Powered JavaScript Completions

kite.com

31–40 of 100 posts

Re: AI-Powered JavaScript Completions

#31
post #19

Earlier quoted context omitted.

I can only speak about TabNine which appears to be very similar. It doesn’t just complete on APIs, it actually understands the code you’re writing. It will suggest variable names based on patterns, it will suggest what you initialize your variables to based on what they’re called. It will suggest comments based on the context. Sometimes you can just write the name of a function, and then tab through the suggestions l…

1. IntelliJ also suggest variable names based on patterns. 2. Is there any good example of it suggesting good comments? AFAIK, comments are hard even for humans to write, so if they are able to generate good comments, it should be a major advance in NLP. 3. I don't believe this. Unless these are very trivial functions which are copy pasted across the internet, this is very hard. Is there any showcase or example where…

I don’t know IntelliJ specifically. Maybe they do something similar that works as well.

It obviously doesn’t write a complete perfect comment for you, but I mentioned it because it’s not really specific to code, it’s just a really good and smart autocomplete that works on anything, even prose, and that can take unexpected patterns into account.

I probably wouldn’t believe it either, unless I had experienced it. Yes, it’s happened for simpler procedures, and you might need to tab through to pick the right completion - but still. It is unbelievably good at figuring out what type of code goes with which identifiers.

Re: AI-Powered JavaScript Completions

#33
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!

Re: AI-Powered JavaScript Completions

#36
post #13

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. 1: https://www.tabnine.com

Daniel from Kite here. TabNine is great! And at the end of the day, Kite's completions and TabNine serve the same purpose. However there are a couple of differences in how we designed Kite vs TabNine.

First, the most important consideration for us was if our completions model could provide a good user experience 1) locally and 2) with minimal CPU and memory usage footprint. While we're constantly tuning the product's performance, Kite already uses less memory and CPU than TabNine. We know how important it is to save resources (and battery life!) when you're developing, so this was a huge sticking point for us.

Second, we've also put a ton of thought into dealing with the visual noise that completions of this nature introduce. The completions that are predicted by models such as Kite's and TabNine's can sometimes be irrelevant or redundant, so it's important to design filters that reduce the amount of what we call "low value" completions shown so that developers are less distracted. In Python, we have a best-in-class static analysis engine that we use to filter out low value completions. We don't have our own proprietary JS static analysis engine yet, but we've done some UX "hacks" to make sure Kite's JS completions aren't redundant and don't crowd out other completions the user may find useful e.g. native completions from the IDE.

Third, (and this is a point mainly for Python), is that Kite is much more than just completions. We also provide help for calling functions, instant documentation and we have some more features in the works. Completions certainly help developers physically write code, but we know that "writing code" also includes a lot of reading, debugging, etc. So we're trying to build a product that helps out developers in all phases.

Re: AI-Powered JavaScript Completions

#37

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.

We hear you. We agree this was a mistake, and over the ~three years since then we've listened to the community, for example by releasing local processing for Kite.

Re: AI-Powered JavaScript Completions

#38

Think Kite is down, trying to download but getting service unavailable when I open up this page: https://alpha.kite.com/release/dls/mac/current

Thanks, we believe we fixed this. Could you try again? Thanks for your patience!

Fixed now, much thanks

Re: AI-Powered JavaScript Completions

#40
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."

Examples:

1. I memoized the arguments for a util function. Repeat this on the very similar functions defined alongside it.

2. I need to put a wrapper component around six similar components. Just do it for me after seeing me do it once.

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.

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 what the next items in the series are.

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.

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.

Post reply on HN