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.