Live data from Hacker News

AI assisted code completion for C++

blogs.msdn.microsoft.com

11–20 of 34 posts

Re: AI assisted code completion for C++

#12

> IntelliCode uses machine learning to train over thousands of real-world projects including open-source projects on GitHub. Is it legal to use a bunch of open-source projects in what looks like a proprietary plugin?

Depends on the licenses of said projects. It's pretty easy to whitelist MIT/Apache licensed code. Even still, it's unclear whether an abstract machine learning model that "saw" copyrighted IP during the training process is infringing on said IP. A self-driving car sees many billboards during test rides.

Those licenses still require you to display acknowledgements, copies of the original license, disclaimers etc.

Re: AI assisted code completion for C++

#14
I despise code autocomplete features. I could not stand using Jedi in Emacs. It just slows me down way too much to have to interact with an autocompleter. I’ll never understand why anyone would want this.

I’ve found code autocompletion to be particularly troublesome and hindering on large legacy code bases, where the suggestions not only prevent you from quickly typing out the method, class, etc. that you were trying to type, but also add a hindering layer of misdirection to trying to learn the architecture and code layout and form a mental model of the code organization.

Code autocompleters have only ever been pure waste to me, across a wide range of projects of various ages, states of code complexity, states of maintenance.

Re: AI assisted code completion for C++

#15

I despise code autocomplete features. I could not stand using Jedi in Emacs. It just slows me down way too much to have to interact with an autocompleter. I’ll never understand why anyone would want this. I’ve found code autocompletion to be particularly troublesome and hindering on large legacy code bases, where the suggestions not only prevent you from quickly typing out the method, class, etc. that you were trying…

To each his own. Suffice to say most devs find autocompletion very productive.

Re: AI assisted code completion for C++

#16
post #12

Earlier quoted context omitted.

Depends on the licenses of said projects. It's pretty easy to whitelist MIT/Apache licensed code. Even still, it's unclear whether an abstract machine learning model that "saw" copyrighted IP during the training process is infringing on said IP. A self-driving car sees many billboards during test rides.

Those licenses still require you to display acknowledgements, copies of the original license, disclaimers etc.

They require you to do that when?

When you include the source code in a project? Or distribute binaries created in whole or in part from the source code?

The licenses say exactly what the requirements are, and when you are obligated to follow those requirements. What do they say about training AI models on the code?

Re: AI assisted code completion for C++

#17

> IntelliCode uses machine learning to train over thousands of real-world projects including open-source projects on GitHub. Is it legal to use a bunch of open-source projects in what looks like a proprietary plugin?

Depends on the licenses of said projects. It's pretty easy to whitelist MIT/Apache licensed code. Even still, it's unclear whether an abstract machine learning model that "saw" copyrighted IP during the training process is infringing on said IP. A self-driving car sees many billboards during test rides.

It's basically an extension of "everything is a derivative work". I believe it's similar to how you cannot (and should not be able to) erase your employee's brains of the code they worked on.

Re: AI assisted code completion for C++

#19
post #12

Earlier quoted context omitted.

Those licenses still require you to display acknowledgements, copies of the original license, disclaimers etc.

They require you to do that when? When you include the source code in a project? Or distribute binaries created in whole or in part from the source code? The licenses say exactly what the requirements are, and when you are obligated to follow those requirements. What do they say about training AI models on the code?

> Distribute binaries created in whole or in part from the source code.

How exactly is that different from what's happening here?

Re: AI assisted code completion for C++

#20
That's very nice and I'll probably be using it a lot, after VS2019 will stabilize (it's just a preview now).

However, the fact that this thing works so well, says a lot about the design of C++ standard library. They should have encapsulated the pair of iterators into a single structure, and implement implicit casts from vectors/arrays to that object. Requiring to type begin/end every single time is counterproductive.

Post reply on HN