Copilot sucks. That is all.
I don't write new code, occasionally i'll need to hack some pre-existing code or script. So i don't even use vscode as an editor, i just use BBEdit. So maybe i'm already behind.
Anyway, so i've never experimented with Copilot and til today I didn't know IDEs could write code via prompt.
I saw a demo today using
Cursor, integrated with MCP (Model Context Protocol server is a program that enables large language models (LLMs) to securely access and interact with external tools and data sources.) and the combo kinda blew my mind.
Basically he gave Cursor a dataset, asked the AI to create a python script which does some statistical analysis on the dataset, then more code to cleanup the dataset for model training, told it run the scripts in a remote system, then write a model architecture and training script (with MLFlow apis), sync to github, then make a third-party hosted system (REST api calls thru MCP) do the actual training while explaining to us exactly what it was doing and giving summaries of the whole process and findings.
And it did what was asked of it, with great comments in the code, nice explanations of the stuff occurring during the "experiment" runs, etc... it did a bunch of stuff in parallel which was unexpected. It apparently can hallucinate though, and one time it forgot to sync to github (so the third party app was re-running on old code). The prompt rules and chat prompt had to be pretty explicit but it was just non-code human language.
Suffice it to say, AI-powered IDE seems disruptive. The author had to understand datascience concepts when making his request, like needing to specify that he wanted a "neural network" and "customizable hidden dimensions" - whatever the heck all that stuff is, but still he wrote zero code, didn't do anything aside for initial setup in making all these actions get kicked off in the third-party system, etc.
The guy said coding is a thing of the past, the new thing is just prompting.
(ETA - and the MCP setup was less than 300 lines of python, basically setting up handlers to help marshall Cursor actions into REST requests to specific urls.)