写点什么

Visual Studio Python 工具和 Node.js 工具介绍

2014 年 5 月 09 日

Microsoft 最近的动作和言论表明该公司的关注点已经重新回到了通过内部技术的开源和对已有标准的支持向更广泛的开发社区做贡献。Microsoft 在过去一段时间内一直在致力于 Python Tools for Visual Studio (PTVS)的研发,同时还发布了支持 Node.js 的 Visual Studio 工具( NTVS )。

InfoQ 最近有机会与 Microsoft 的合作伙伴项目经理 Shahrokh Mortazavi 一起讨论已发布的这些工具以及他们未来的计划。Mortazavi 在 Node 和 Python 工具组里面工作,这是开发部的一部分。下面是谈话的具体内容。

InfoQ: 整个开发部的工作是什么?

Shahrokh:整个开发部的工作是全面负责开发者需要的技术和服务。在开发部中,我们组的任务是探索新兴的或者重新热门的技术,例如 Node.js 和 Python。

InfoQ: Python 工具集已经出现很长一段时间了,人们对它的反应如何?

Shahrokh: 非常好。在 Codeplex 上 PTVS 的下载量现在处于第一位。Python 本来就已经被很多工业领域所使用。Reddit、Youtube、Dropbox 等流行的网站都广泛地使用了这门语言。有很多财富 500 强的企业也使用了 Python。某个主要金融机构的一个项目有 3000 名开发人员和超过 1600 万行 Python 代码,这是我们了解到的最大的 Python 项目之一。Node.js 也是这种状态,eBay、Walmart、Paypal 和 Azure 等公司或平台都在使用它。

InfoQ: 与其他主要的平台(Linux 和 Mac OS X)相比,Python 在 Windows 平台上的流行程度如何?

Shahrokh: 在 Windows 平台上非常流行。仅在 Python.org 这一网站上 CPython 每年就有超过 2100 万次下载。Python 发行版的前两名告诉我们他们从 Windows 平台上获得的收益比从 Linux 和 Mac 平台上获得的总和还要多。

InfoQ: 我并不知道这一点——真是令人印象深刻。那么你认为读者应该注意哪些特性呢?

Shahrokh: 混合模式调试是一个非常令人兴奋的特性。它让你能够一起调试 Python 和 C++ 代码。该功能结合了调用栈,因此你能够在任何一门语言中设置端点并在 Python 和本地代码之间切换。有一部分用户告诉我们他们安装 Windows 的目的就是为了能够使用 PTVS 中的这个功能。

另一个非常好的特性是:可以在 Visual Studio 中开发 Python 但是部署到远程 Linux 服务器上并调试——无论这个实例是在 Azure 中还是在传统的独立环境中。集成的 IPython REPL 和内联图像也非常不错。

InfoQ: 对于 PTVS 和 NTVS 还有哪些人们可能不知道的事情?

Shahrokh:除了良好的调试、智能感知、配置等功能所带来的生产效率的提升之外,这些项目还有一个作用:那就是它们为那些想要开发自己的 Visual Studio 插件的团队提供了大量资源。无论他们是要集成一门新的语言,还是要分支项目系统,这些项目都具有非常好的借鉴意义。

InfoQ: 你是如何决定要支持哪门语言的?你们有计划将其他语言加入到 Python 和 Node.js 中么?

Shahrokh: 要为某门语言提供工具的时候,我们会考虑很多因素:行业趋势、客户要求等。我们首先会考虑为那些 Azure 支持或者其他 Microsoft 项目(Skype、Bing 等)使用的语言提供增强工具。

InfoQ: 考虑到这些项目是开源的,你们是否能够频繁地收到来自于外部开发者的补丁或者贡献?

Shahrokh:我们发现外部公司更趋向于根据具体的情况对补丁或者更新进行处理。如果他们认为这个补丁可能获得专利产权那么他们便不会将其共享出来,因为他们认为自己可以从中获得竞争优势。但是如果这种变化或者提升仅仅是一般的问题,那么他们便会将其提供出来。例如,Eve Online 给我们发送了一个能够让 PTVS 支持 Stackless Python 的补丁。Clickberry 提供了很多 NTVS 补丁。Red Gate 贡献了 NPM 包管理器。

再次感谢 Shahrokh 能够抽出时间来与我们一起探讨 PTVS 和 NTVS。

查看英文原文 Looking at Python and Node.js on Visual Studio

2014 年 5 月 09 日 23:353615
用户头像

发布了 321 篇内容, 共 103.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

架构学习历程

【Java 25周年有奖征文获奖名单公布!!!】关于Java,你最想赞扬、吐槽、期待的变化是什么?

InfoQ写作平台官方

写作平台 Java25周年 活动专区

情绪的力量:如何使用情绪来达成目标

七镜花园-董一凡

情绪

Vue生态篇(二)

shirley

Vue

程序员修炼的务实哲学

博文视点Broadview

程序员 软件 编程思维 工程师 编程之路

Vue生态篇(一)

shirley

Java Vue

# LeetCode 215. Kth Largest Element in an Array

liu_liu

算法 LeetCode

互联网时代的界限管理

非著名程序员

程序员 职场 提升认知 界限管理

Redis持久化了解一波!

不才陈某

redis 程序员 后端

这是一个测试文档

Geek_073cad

我的 windows 利器

玄兴梦影

工具

我常用的浏览器插件

彭宏豪95

chrome 效率工具 浏览器 插件

知识也会生宝宝?

史方远

个人成长 随笔杂谈

# LeetCode 863. All Nodes Distance K in Binary Tree

liu_liu

算法 LeetCode

开源分布式文件系统大检阅

焱融科技

sds 存储 开源项目 焱融科技 文件存储

MySQL的各种日志

超超不会飞

MySQL

Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"

JackTian

Python 自动化

美团可能会强势涉足 ToB

罗小布

创业 互联网巨头 深度思考 互联网

奈学:传授“带权重的负载均衡实现算法”独家设计思路

奈学教育

分布式

杂谈-JSONP探索

卡尔

Java jsonp

一个人,沿着童年的路究竟可以走多远?

zhoo299

童年 NASA 航天

patroni 通过服务启动报错

yafeishi

数据库 高可用 AntDB

ARTS 第二周打卡

陈文昕

从 0 到 1 搭建技术中台之发布系统实践:集泳道、灰度、四端和多区域于一体的设计与权衡

伴鱼技术团队

架构 系统设计 系统架构 系统性思考 架构设计

你不知道的SSD那些事

焱融科技

分布式 存储 SSD nvme

Go语言分布式系统配置治理

田晓亮

微服务

机器学习算法评估指标——2D目标检测

做技术BP的文案Gou

这些Java8官方挖的坑,你踩过几个?

牧码哥

Java 踩坑 加密 「Java 25周年」

每个人都是领导者的工程团队

hongfei

ARTS - Week Two

shepherd

js algorithm

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十三)编写测试-生命周期方法

编程道与术

Java 编程 TDD 单元测试 JUnit

Visual Studio Python工具和Node.js工具介绍-InfoQ