Microsoft's recent actions and announcements have illustrated the company's renewed focus on contributing to the broader development community at large via the open sourcing of internal technologies as well as the support of existing standards. The company has been working on its Python Tools for Visual Studio (PTVS) for some time, and to that support it has released Visual Studio tooling to support Node.js (NTVS).

InfoQ recently had the opportunity to speak with Microsoft's Partner Program Manager Shahrokh Mortazavi about these releases and their plans for the future. Mortazavi works in the Node and Python Tools Group which is part of the Developer Division. An edited version of our conversation follows.

InfoQ: What does the overall Developer Division work on?

Shahrokh: Overall DevDiv works on technologies and services that holistically address the needs of developers, up and down the stack. Within DevDiv our group explores emerging or newly relevant technologies such as Node.js and Python.

InfoQ: The Python toolset has been out for a while, how has it been received?

Shahrokh: Very well. PTVS is currently the #1 Microsoft download on Codeplex. Python itself is used in many industries. Popular sites like Reddit, Youtube, Dropbox use it extensively. There’s also significant usage among Fortune 500 companies. One of the largest installations we’re aware of involves a project at a major financial institution with 3,000 developers and 16 million lines of Python code. Same is true for Node.js: eBay, Walmart, Paypal, Azure…all use it.

InfoQ: How popular is Python on Windows versus the other major platforms (Linux / Mac OS X)?

Shahrokh: It’s pretty popular. CPython gets downloaded more than 21 Million times/year from Python.org alone. The top two Python distros tell us that they make more money on Windows than Linux and Mac combined.

InfoQ: I was not aware of that—that is very impressive. What are some of the features that you think readers should be aware of?

Shahrokh: One of the more exciting features ismixed-mode debugging. This allows you to debug Python and C++ code together. This ability combines call stacks so that you can switch between Python and native code with breakpoints set in either language. Several users have told us that they installed Windows just so they could use this feature in PTVS!

Another great feature is the ability to develop Python in Visual Studio but deploy to and debug on a remote server running Linux—whether this instance is in Azure or a traditional standalone environment. The Integrated IPython REPL with inline graphics is pretty sweet too.

InfoQ: What is something that people may not know about the benefits of PTVS and NTVS?

Shahrokh: Aside from improved productivity due to good debug/intellisense/profiling/etc support, a side-effect of these projects is that they provide a great resource for teams looking to make their own Visual Studio add-ons. Whether it’s integrating a new language, or forking the project system for example, both repo’s are great for inspecting VS API’s.

InfoQ: How do you decide what languages to support? Are there any others that are planned to join Python and Node.js?

Shahrokh: Well, when looking to provide tooling for a language we look at a number of factors.: industry trends, customer asks, etc. Languages that are supported by Azure or used in other Microsoft projects (Skype, Bing, etc) are considered front-runners for us to provide the enhanced tooling.

InfoQ: Given that these are open source, how often do you receive patches or pull requests from outside developers?

Shahrokh: We’ve found companies tend to treat patches and updates on a case-by-case basis. If it is something that they consider to be of proprietary interest then that is not something they would want to share as they believe it provides them a competitive advantage. But when the changes or improvements are of a general nature then we see those patches offered. For example Eve Online sent us a patch that enabled Stackless Python support in PTVS. Clickberry provided a number of NTVS patches. Red-gate contributed the NPM pkg manager.

Thanks again to Shahrokh for taking to the time to speak with us about PTVS and NTVS.

InfoQ Weekly Newsletter

Join a community of over 250 K senior developers by signing up for our newsletter. If you are based in the EEA, please contact us so we can provide you with the protections afforded to you under EEA protection laws.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our architect newsletter?

Subscribe to our industry email notices?

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.