Simply having this IDE in VS2015, got me to study Python and see what's so great about the language (e.g. modules like numpy which have made it so popular in scientific computing).
But it is unknown to me what Microsoft's plans are with this language, e.g. is its intended purpose for UWP or cross-platform apps. I'd like to build a UWP app with Python, but according to the UWP docs on writing code, we have the options of Visual C++, C#, Visual Basic, and JavaScript [+HTML5].
In all practicality, what's the future for Python development; its purpose? How far are we from seeing an app written in Python appear in the Windows 10 app store, or Android app store?
To my knowledge, nobody is working on adding Python support for UWP apps for the Windows Store, though we do have some early support in VS for IoT apps (which will work in the regular store, but don't have easy access to the APIs or UI toolkits needed to be useful).
Right now we're suggesting Python primarily as a backend language, to perform business logic on a server rather than UI on a client device. Python as a whole has a much stronger position for easily developed and maintained services (where the environment is controlled) rather than client deployment (where the environment is uncontrolled), so we're playing to its strengths right now rather than attempting to break new ground.
So there's going to be more Azure and Azure ML integration before you start seeing Python proposed as a direct user interaction library. But we're still only making fairly short-term plans (for Microsoft, "short-term" is 1-2 years at a time :) ) and we will adapt as new opportunities or needs arise.
Makes sense...however there are new developments in the python web UI and and deployment space that would be great to have integration with at some point.
These are just two that stand out:
http://nuitka.net/pages/overview.html
https://github.com/zoofIO/flexx
@zooba, I do see your point about using CPython as a primarily back-end language, especially when you know the machine's execution environment (32-/64-bit,CPU cores, AMD or Intel, RAM, GPUs, OS) and need to rapidly code a high-performance algorithm.
I haven't been able to get this openCL library to pip install on Windows 10 (build 10240) 64-bit, Python 3.5.0 x86 or x86-x64. Hate to play favorites, that particular Python openCL library has the clearest documentation.
I run cmd.exe as Administrator, and execute pip install on the wheel for Python 3.5 x86 or x64, but I run into an error, which is related to a dependency on numpy (I would have thought the dependency relationship should go in the opposite direction :/ ) Could you let us know whether you encounter any errors when attempting to pip install this openCL library, or suggest a workaround?
My one argument to support Python on the front-end is this: my familiar languages are C#, JavaScript (without Node, Cordova, or new ES6 standards), C in that order. The ultimate disadvantage of these languages is _they aren't C++_, period. Python support on the client-side is an attractive alternative to C++, for those like myself, who know high-abstraction languages well, but are not so well-versed in the C++ libraries used in modern practice, but not required in a typical undergraduate CS curriculum (e.g. Boost, DirectX, CRT, not to mention backwards-compatibility).
If we polled the PTVS community on "real world" experience with languages from 2010 - 2015, I would assume most have been using Visual Studio as their primary IDE as a given, and speculate that C# .NET & 4.x is the language & base class library which the majority of PTVS users are most experienced in, but does Microsoft have any data on this? Is there any data on the percentage of the top 3 languages used in Windows Store apps?
Thanks
I second the idea of UWP app development using Python.
@code-Review-2015 You'll need to install numpy from another source before installing anything that depends on it. This is a well known problem where numpy does not provide their own wheels, and nobody can easily build it. Check out our installation page on our wiki for suggested ways of getting it.
Last time I saw data on front-end languages C# was far and away the most popular. I would love to support Python on the front-end, but unfortunately, we have limited resources and very little business justification for spending them on front-end work and neglecting back-end work (the part of Microsoft that "owns" our team right now is Azure - not Windows. May not mean much to people outside the company, but it's actually a big deal as far as determining what makes business sense).
Right. Had success installing it from the unofficial Windows binary page.CPython 3.5.0 is stable, so pip install on the unofficial binary should "just work" with the 2015 C++ compiler.
That last bit of info happens to be useful - it's always saved time and frustration to go with the flow (of Microsoft) and know what direction that is.
I would just use anaconda.
@code-Review-2015 With a binary from that page you don't even need the compiler - this is why wheels are the preferred distribution format for Windows (rather than source code).
I'm happy enough that now installing numpy (1.9.3) can be done with a simple call to pip install (run as Administrator) at the command prompt.
Today I've been throwing my time away trying to set up the latest Dev build of NTVS in hopes of having a Node.js IDE and interpreter that works as well as PTVS. The NTVS team could probably learn something from team PTVS. They haven't gotten the intellisense right (will probably have to post a screen capture to show how easy it is to install the tools, but end up with a no-Intellisense, broken-autocomplete IDE for Node.js. For now I'm basically doing the node.js equivalent of using IDLE as my interpreter. The wiki link from Github is full of empty pages. So disappointing after seeing all the news surrounding this evolved, V8-engine, ES6 JavaScript, capable of running native-like apps, using a very familiar client-server pattern (but now the server is now in the cloud. So hopefully Microsoft's investment into Azure will pay off, and Microsoft will dominate in the cloud services space. Google and Oracle are headed in the same direction (their e-mails hit my inbox, too).
PTVS and NTVS were actually made by the same team (it's two different teams now, but the majority of work was done when it was one).
As far as Intellisense goes, it's a largely a factor of JS being that much less idiomatically organized as a language compared to Python, and JS coders prone to using all kinds of funky dynamic patterns that befuddle static code analyzers and require manual hardcoding (NTVS Intellisense engine actually has quite a few of those already, but it's a never-ending battle). TypeScript largely circumvents all that by forcing you to statically type your code, and offers a much better Intellisense and refactoring experience as a result.
Also, PTVS had close to 5 years of evolution by now, with practically every release adding some improvements to the analysis engine, while NTVS is much younger.
@code-Review-2015 In addition to what @int19h mentioned, we're constantly working on improving the experience, and it would certainly be helpful for you to leave this feedback on the NTVS issue tracker if you want results. Thanks in advance!
@mousetraps. I owe you an apology. My feedback has been abysmally minimal. I'm not even about to criticize any of your team's work.
Most helpful comment
I second the idea of UWP app development using Python.