AI assisted code completion for C++(blogs.msdn.microsoft.com) |
AI assisted code completion for C++(blogs.msdn.microsoft.com) |
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.
Is it legal to use a bunch of open-source projects in what looks like a proprietary plugin?
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.
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.
For example, do you think you use more of open source/3rd party libraries than your peers on the same project?
Do you find that many facilities in modern OS or languages are overly bloated, in your view?
What about project management methodologies -- do you have a preference?
Reason I am asking, is because your comment just does not correspond to my experience at all.
By now I cannot program without code completion, especially in the languages like JavaScript that do not have strong compile time verification.
It is also tremendously helpful for me in other languages I use, it helps me not just with my code, but reduces time of looking up basic API documentation for a new library that I recently incorporated.
I also often see that there is a duplicate function (even just from the names of functions, between my code and some library that I included in my project). So it helps me make quick decisions were I should remove code duplication.
So I am wondering if your perception is a result of a larger set of experiences/circumstances/choices that I did not take into account.
I think the rise of bloated IDEs is a more modern phenomenon, popular with younger developers who were trained on those tools and haven’t invested time yet to learn there’s a much better way to work.
I did not find them useful because autocompletion while writing code is itself just not a useful tool conceptually, regardless of the quality of the tool.
Autocompletion for coding just doesn’t have any mainstream use cases or situations in which it can possibly be helpful. As a result, even very well made autocompletion tools cause trouble and hinder productivity.
On the other hand there can be niche, non-mainstream uses, like accessibility use cases for disabled people who have to use key entry mechanisms that make non-autocompletion key entry overly burdensome or slow.
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?
How exactly is that different from what's happening here?
That means my network now includes an exact copy of those books (encoded in a weird way but that is irrelevant). Should I be able to distribute my weights and ignore the copyright on the original books? Of course not!
In this case it is very unlikely that the network weights store much data from each individual github project, but it's definitely a sliding scale.