A Lap Around Python in Visual Studio 2017
blogs.msdn.microsoft.com
blogs.msdn.microsoft.com
Now, I will be able to add: "Microsoft is fully supporting Python" and this will basically close the deal. I am happy.
Thanks!
Regarding "Scientific" - we just added the Data Science Workload to Visual Studio 2017. Check it out here:
https://blogs.msdn.microsoft.com/visualstudio/2017/05/10/bui...
Basically Python + Anaconda, R + Microsoft enhanced R, F# with .Net as a single install. Python & R work with any interpreter, including IronPython & Pypy.
Now, /me is dreaming of a cross-platform WPF with Python as language and integrated in the IDE like C#/VB.net. I am using PyQT but this is not the best on Windows.
On a side note, just comparing Visual Studio today and Visual Studio of my first real work days in VC++/MFC (something like 20 years ago), I must say that it really makes me ship good software faster and better. Thank you!
This is true, although IronPython is managed by the community and is doing well. Visual Studio supports IronPython, CPython, Pypy, ...
I'm not sure how your choice of editor has any impact on your ability to deploy and maintain your code.
Totally understand - Visual Studio can be somewhat heavy weight especially for basic editing. In that case, check VS Code's Python support. It's very lightweight and cross-platform:
However under the hood Windows is catching up if not overtaking macOS since Windows Vista. I'm probably one of the few people that thought it was an amazing improvement over Windows XP at the time (using it on a machine with rock solid driver support perhaps helped). The graphics subsystem, security, driver model: everything was better.
I just want Windows to be incrementally improved and homogenized for a long while instead of half assed system wide changes every other release. The real beauty of macOS in my opinion is that somebody coming from the betas on a BW G3 in 1999 would still find his or her way easily on a 2017 Mac. But when they changed it from OS 9 to OS X they did it drastically and with a pretty clean cut from the past.
I find it remarkable how visually inconsistent all of the shown screenshots are. (Look at all the small details that differ between each screenshot, like margins around buttons, button sizing, size of text entry fields, chevron styles and so on and so forth)
Windows (in this millennium, anyway) was never a really visually consistent OS, because it pretty much always had some leftover crud GUIs, and even today some dialogues from the early 90s exist nearly unchanged, though.
It also turns out that a lot of popular Python libraries have dependencies on C/C++ code, so there were attempts like IronClad to provide support for these, but it wasn't as easy as CPython. There were benefits like the CLR being able to handle some workloads better than CPython with its GIL, but there are expectations in some libraries that it's CPython running the code.
Startup performance also takes a hit due to jitting, so IronPython had to implement some tricks to make it run scripts fast on the first run. This is a pretty common case.
Then you add in compatibility and testing with frameworks like Django, and balancing that against further development of the core. Even if you support these frameworks, you may not be able to support some of the libraries and tools that these developers coming from the open source world use, so their experience can be soured and the project appears to be more of a science project. That said, IronPython can excel in niches, such as adding scriptability to your .NET app. But that's not going to take over the world.
These problems also applied to IronRuby. Both of them seemed to be joined at the hip in terms of management, so I think that internal dealings at Microsoft were part of the downfall. I have no idea what happened, but in the bigger picture at that time, Microsoft was finally learning to do things a better way with ASP.NET MVC. For their constituents that may have been a better investment.
Unfortunately VS for Mac currently doesn't support Python or R (the two languages our team supports). However, if you are interested, please file the request on uservocie - that really helps us convince mgmt.
Meanwhile, VS Code has pretty decent Python support which can be used on Windows, MacOS and Linux:
VS Code: https://code.visualstudio.com/docs/languages/python
uservoice: https://visualstudio.uservoice.com/forums/121579-visual-stud...
My fears are still that python code on windows is still a nightmare, especially when you throw something like OpenCV into the mix.
Your fears regarding Python on Windows were quite justified. However, the world has dramatically changed, thanks in large part to folks like Continuum.io and their Anaconda distribution, Christoph Golke, and many other wheel providers.
Visual Studio actually provides an option to download Anaconda for you. It has a few hundred pre-built Windows pkgs ready to go. We also use it on our free jupyter notebook service and have been very happy with it.
UCI repo: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Anaconda: https://www.continuum.io/downloads
Azure Notebooks: https://notebooks.azure.com
If you have been away from Windows for a bit, I think now is a good time to at least take a cursory look around again ;)
Does anyone have any opinions on how this compares to pycharm for similar IDE functionality and jupyter support?