点击“开发者技术前线”,选择“星标?”
在看|星标|留言, 真爱
译者 | 鹿未来,责编 | 屠敏
也许是我有些落伍,或者也是因为 JetBrains 在 Python IDE 的市场上占有很大的份额,以至于直到最近我才发现,使用 VSCode 的 Python 开发者要比预想中的多很多。
近期,我将 PyCharm 和 Notebooks 放在一起用了一段时间,发现 Notebooks 方便浏览数据,并将数据实时可视化;PyCharm 则可以完成更多的任务。这两者的结合让我非常满意。让我感到欣慰的另外一件事情就是 PyCharm(JetBrains)的制作商并不是美国的巨头公司(比如微软),而是来自于捷克布拉格的一家私人持股的公司
当然,不管怎样,Visual Studio Code(简称 VSCode) 都是微软的开源 IDE。Stack Overflow 表明,2015 年 VSCode 的最初版本一经发布,它就已经成为了最受欢迎的 IDE。但其实我考虑到自己并没有真正花很多的时间使用 VSCode 及其提供的功能,所以把它与 PyCharm 相比较,找出他们的优点,以便更好的决定该使用哪一个?1. PyCharm 优于 VSCode
可能大家都会觉得,在专用的 IDE 中开发代码会感觉更舒服,而 PyCharm 的创建只是为了用 Python 编写代码。可是这其中有什么区别吗?让我们以 autocomplete 功能为例。VSCode 有时会在 autocomplete 功能方面遇到问题,但 PyCharm 几乎不会,我个人对 VSCode 经验是,有时可以正常运行,有时就不行。不光是我这样认为,在 reddit 上的用户都抱怨同一件事:it’s oddly temperamental.除此之外,VSCode 还有加载扩展困难的问题,可能只是我的问题,但却是一个反反复复的问题,总在一个地方而且一直存在。一开始用 VSCode 的时候,你肯定会觉得 “太棒了,我可以自定义 VSCode,这也正是我想要的”,实际上却要花很多的时间在修复错误上,浪费了开发的时间,但这在 PyCharm 上是不存在的。基于以上情况,PyCharm 是 Python 固有一种 IDE 而且可以真正利用它来构建,所以比 VSCode 更具优势,但 VSCode 也给人们提供了很多。2. VSCode 优于 PyCharm
首先,最重要是的 VSCode 是一款免费开源的现代化轻量级代码编辑器,可以通过安装插件来扩展功能,而专业版的 PyCharm 挺贵的。PyCharm 有个社区免费版本,但是功能很少:它不包括数据库开发工具和网络相关工具,也没有性能分析和远程调试这些高级功能,VSCode 比免费的 PyCharm 社区版有更多功能,所以让我们期待 PyCharm 专业版吧!目前,PyCharm 的用户发现了其内存占用的问题,上限最多可能要占用 1.5GB 的磁盘空间,这非常影响编码体验,而且如果电脑没法处理这个问题,在加载上就会用掉更多的时间,甚至想要完成基本的任务都要花很多时间,遇到这种情况没有用户会喜欢的。Visual Studio Code 在内存消耗和物理磁盘空间上占用的空间要小得多,大概是 PyCharm 的 30%,因此,VSCode 相对较轻,所以在对于较小的项目或应用程序,再或者是对一个或多个文件进行快速编辑时,VSCode 是个特别好的编辑器。最后,人们认为必须在 VSCode 中构建自定义 IDE,而这一点 PyCharm 可以直接使用,但其实用 VSCode 从一开始就使用插件来构建(或者是使用 Python)这意味着用户可以轻松地通过插件升级功能,随时改进更多的开发并改善更好的编码体验,但对于 PyCharm 来说,这个问题只能留给 JetBrains 了。3. 哪个更好?
虽然都不完美,但 PyCharm 和 VSCode 都允许创建插件来增强用户体验,两者都具备完善的 IDE,确实可以根据个人所需和要求来选择。两者都拥有强大的社区,尽管 VSCode 诞生的时长不及 PyCharm,但在技术能力方面,确实都具有相当成熟的系统。你是想为专业的 PyCharm 付费得到专业的经验,还是想要免费的 VSCode 体验,虽然专业性差了点,但具有很强大的可扩展性?个人来看,如果仅使用 Python 编写代码,那就坚持使用 PyCharm。如果没有,就用 VSCode 吧。使用 IDE 确实可以改变对编码语言的理解和体验。在此,我希望高级程序员可以根据手上的项目使用 IDE,灵活的使用工具会让工作变得更加的轻松。欢迎使用 PyCharm 和 VSCode 的用户下方留言,说说自己的想法!推荐福利:
北京大学公开课《数据结构与算法Python版》,面向具有Python语言程序设计基础的大学生和社会公众,介绍常见的基本数据结构以及相关经典算法,强调问题-数据-算法的抽象过程,关注数据结构与算法的时间空间效率,培养学生编写出高效程序,从而解决实际问题的综合能力。
这门课程在中国大学MOOC正在进行第二次开课,已进行至第五周,心急的同学也可以直接看第一次开课的完整版,变化不大。
慕课:http://www.icourse163.org/course/0809PKU068-1206307812
B站:https://www.bilibili.com/video/BV1h7411m7BK/
配套课件及参考教材小编已经整理好了,需要的同学可以扫描下方的二维码,后台回复算法。
研究/工作方向+地点+学校/公司+昵称(如Java+上海+上交+可可)根据格式备注,可更快被通过且邀请进群,领取一份专属学习礼包
扫码加我微信进群,内推和技术交流,大佬们零距离