Interesting that mypy is a Dropbox (GvR’s previous gig) whereas Microsoft has a competitor python type checker, pyright [0]. Anyone have experience with it?
Interesting that mypy is a Dropbox (GvR’s previous gig) whereas Microsoft has a competitor python type checker, pyright [0]. Anyone have experience with it?
[0] `To run PyCharm Community Edition, please use the provided run configuration "PyCharm Community Edition"`
Reason is MS doesn’t need to make money on the tool, because it has a halo of services it can sell in and offer perfect integrations for.
In addition, MS has GitHub and thus privledged ability to learn from new public code as it is pushed.
AI-based code completion offered by kite and tabnine is totally being slept on right now, and MS has the resources to offer a very refined and constantly improving take on this massive dev services opportunity.
Jetbrains has said it has a long term project focused on this but as of now there is nothing.
I am not suggesting abandoning Pycharm any time soon but it is going to take a bigger company than jetbrains to keep pycharm in the race against vscode.
The fix is in because vscode itself will be forkable at any time. It will just be that _services_ from microsoft and other companies will be designed for the tool.
For example, this AI code completion behavior. I can say right now that if tabnine had a version working in Pycharm that did not break autoimports, I would already be paying a monthly subscription for it. Jetbrains should be offering something similar ASAP.
Another example would be PaaS for frameworks using Azure. Start a project, choose a domain name, instant staging and production deployments.
Anyone could build these kinds of plugins to sell in services. It will really be about who does it best. Though, I think Microsoft is specifically positioning itself for a long term play here and I think much of it centers around vscode.
Deployment can easily be done with a script from the terminal, which doesn't need special IDE integration. "Starting a project" doesn't need any tools at all in simple cases - one could try to keep cases simple.
Python usually has less need for auto-imports than Java does because APIs are simpler, names shorter and modules more coarse-grained.
You might not need an IDE and an AI with simple tools. Of course, some problems require or benefit from complicated magic tools, but perhaps not all problems do.
But setting that up securely in of itself was a lot of work.
On my new project I deploy by pushing to staging or master. These deploys are blocked if the commit under inspection does not pass tests.
That all happens because of docker containers and GitHub actions and secrets. There is an enormous amount of magic behind this stuff but I would not go back to provisioning and maintaining my own boxes.
I do think there is a lot of benefit to gain from having services built directly into the IDE.
For small projects, a text editor will do. Though linting and code formatting helps beginners and pros alike.
It only takes a moderate amount of resources to collect this for yourself.
But also to crawl and process the entire dataset including issues constantly.
It’s conceivable vscode could highlight and warn about known issues in packages as new code is developed.
I wonder if Guido will be ok with that. For me pylance looks like the biggest evidence that embrace-extend-extingish mindset is still alive in Microsoft, unfortunately.
Not really "instead of", since pyright is the typing engine for pylance.