结合工程实践选题调研分析同类软件产品

  我们工程实践实现的任务是CV方向智能交通方向的使用,涉及到使用python和TensorFlow编写深度学习代码对相关功能进行实现。由于python的实现是本次工程实践的重心,因此本次调研我将分析几个常用的python的IDE进行分析与对比。

  Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。由于Python语言的简洁性、易读性以及可扩展性,Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。伴随着人工智能的热潮袭来,python成为了当下很火爆的语言,而对于开发环境IDE的选择也成为了从事相关开发的人员的问题,本文将对一些热门IDE进行分析对比。

  • 三种IDE的介绍

1、Eclipse和PyDev

  很难在开源集成开发环境中编写任何内容,而不需要覆盖Eclipse,它拥有庞大的开发者社区和无数插件,可让程序员自定义以满足任何需求,但这也是Eclipse的缺点之一。许多人批评它过于臃肿,低规格系统的表现肯定是一个问题。但如果你曾经是Java程序员,你应该对Eclipse非常熟悉,直接上手免去了很多麻烦。

  PyDev向Eclipse添加了大量功能,远远超出了简单的代码突出显示。它处理代码完成,集成Python调试,添加令牌浏览器,重构工具等。对于那些使用Django Python web框架的人,PyDev将允许创建新的Django项目,通过热键执行Django操作,并为Django使用单独的运行配置。

  Eclipse和PyDev都可以在Eclipse公共许可证下使用。

结合工程实践选题调研分析同类软件产品_第1张图片

 

 

2、Eric

  Eric以Monty Python的Eric Idle命名,Eric实际上是使用Qt框架在Python中编写的。Eric使用Scintilla,它是一个源代码编辑组件,用于许多不同的IDE和编辑器,也可以作为独立的SciTE编辑器使用。Eric的功能与其他IDE类似:支持匹配,代码完成,类浏览器,集成单元测试等。它还具有Qt表单预览功能,如果为应用程序开发Qt GUI,这很有用。可能会有人认为Eric不够好,社区提供的文档也不够清晰。如果你花时间去学习,会发现Eric是一个轻量级的全功能编程环境。

结合工程实践选题调研分析同类软件产品_第2张图片

 

 3、PyCharm

  PyCharm是另一个受欢迎的Python编辑器,Pycharm是一种商业产品,但制造商还提供了一个根据Apache 2.0许可证免费开源的社区版本。PyCharm几乎可以在IDE中提供一切程序员可能希望的功能:集成单元测试,代码检测,集成版本控制,代码重构工具,各种导航工具以及期望的突出显示和自动完成功能。

  PyCharm的主要缺点是其开放的核心模式,许多PyCharm的高级功能在开源许可证下都不可用。然而,如果不想使用封闭源代码中包含的更高级功能,则遗漏的功能可能会使PyCharm成为一个轻量级Python编辑器。

结合工程实践选题调研分析同类软件产品_第3张图片

 

  • 这些软件的开发者是怎么说服你(陌⽣⼈)成为他们的⽤户的?

   就我个人而言,我最喜欢使用的IDE是pycharm,而pycharm作为当前人气最高的python IDE,并且作为jetbrains的研发产品,自然有其优势所在。JetBrains是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄罗斯的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。自从这款IDE爆火之后,人们开始关注来自这个捷克的公司的产品,pycharm走进人们的视野当中。

  如所有其它 JetBrains 集成开发环境一样,PyCharm 具有智能代码编辑器,能理解 Python 的特性并提供卓越的生产力推进工具:自动代码格式化、代码完成、重构、自动导入和一键代码导航等。这些功能在先进代码分析程序的支持下,使 PyCharm 成为 Python 专业开发人员和刚起步人员使用的有力工具。

  还有优势如下:

  ①针对 Django 开发的高级支持,包括智能代码完成、检查、重构和特定代码导航;
  ②综合 Python 调试器和图形单元测试工具;
  ③支持先进 Python 开发工具链,包括 virtualenv 和 buildout;
  ④版本控制系统整合——针对 Mercurial、Git、SVN、Perforce 和 CVS 等大多数版本控制系统的统一用户界面 (UI);
  ⑤Google App Engine 支持,能到 App Engine 服务器上运行和部署用户的应用,同时确保代码满足沙盒环境需求;
  ⑥REPL 和 Django 控制台,具备胜过标准控制台的众多优势:运行中语法检查;括号和引号匹配和自动配对;以及代码完成;
  ⑦还有跨平台,通杀三大主流平台Windows,MacOSX和Linux。

  pycharm和Eric分为专业版和社区版,因此本质上来说还是以盈利为目的的,但是Eclipse与其不同。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。从这个角度来说,Eclipse开源为广大编程人员提供了巨大便利,为计算机领域做出了巨大贡献。

  • 这些软件是如何到你⼿⾥的?

   体验过完全免费的Eclipse,以及若想免费体验只有社区版本的Eric和PyCharm,还是PyCharm的体验更好。对于学生党来说,大部分学生对于IDE的选择都是选择免费的,因为专业版的收费较贵,而仅比较社区版本的PyCharm和Eclipse来说,虽然社区版的功能被限制了很多,但是作为学习过程使用的IDE来说,综合使用体验及各个软件的优劣势,PyCharm的综合体验感是最好的。所有版本的IDE都可以从官网进行下载使用。

  • 这些软件有Bug 么?

   Eclipse作为一个相当成熟的软件存在,使用过程中并未发现什么bug;而Eric的使用者较少,正常使用的情况下,目前也没有发现bug。pycharm作为一个较为年轻切较多人使用的软件,还是存在一些bug的。

  例如:我们都知道在Pycharm中我们要快速查看某个函数或者模块的源码,可以在该函数上按F4快捷键,其可以打开源码相关的.py文件,但打开的文件不一定是对的。

代码如下:

import os                #导入os模块
print(os.name)          #显示当前系统,windows是nt,mac,unix,linux是 posix
print(os.path.__file__)     #显示调用的os.path模块的源文件

  上述代码的执行结果如下:

  posix
  /var/sw/anaconda3/envs/CookBook_and_code-master/lib/python3.6/posixpath.py

  该结果(posix)告诉我们当前系统是linux,确实是正确的,我在Linux虚拟机上运行的该程序且调用路径告诉我们os.path调用的是posixpath.py该源码。这时我使用pycharm自带的F4快捷键,想快速定位查看到源码文件发现结果如下,打开的是ntpath.py文件,而不是posixpath.py文件,说明其F4快键键定位源文件存在bug。

  • 此类软件是什么时候开始出现的?

   Eclipse产生于2005年,Eric产生于2007年,PyCharm作为最年轻的软件产生于2011年,在PyCharm出现之前,大部分人都采用的是较为成熟且开源的Eclipse,自从PyCharm产生,在Intellij IDEA的基础之上,人们对于jebrains生产的软件也充满期待,而jet的产品也没有让人们失望。目前来看,pycharm基本上垄断了python的IDE。

  • 列举你在使⽤上述软件时观察到的“特殊”现象

   当我们在使用IDE进行编程的时候,我们使用的都是高级语言,和硬件相距较远,python作为解释执行,虽然不会进行编译,但是和硬件的联系也是存在的。和之前的单片机不同,之前更为底层的实现需要使用汇编语言,而高级语言理论上来说和汇编层是完全隔离的,这是和硬件相比的一个差别。从这个角度来说,软件是将硬件功能封装好,只需输入简单的指令即可让硬件进行复杂的操作,而直接控制硬件时,所需输入指令或者人工操控的话,也会更为复杂和繁冗。

  • 你个⼈第⼀次⽤此类软件是什么时候?

   第一次使用这类软件是在大三的时候,我本科就读于中科大,当时是在合肥,学校开设的人工智能的课程要求,需要使用python来实现代码,因此下载了PyCharm来完成课程实验。

  • 你是如何精通这类软件的?

   在人工智能课程中完成了很多实验,进行了很多的训练和练习,在使用较多之后,便熟悉了PyCharm这个软件。当熟悉了这个软件之后,为我之后的学习打下了很好的基础,在之后对python代码实现的过程中,少去了熟悉软件的时间,可以更快地完成任务。

  • 你现在还⽤它么,或者是同类软件的不同品牌,为何?

   现在仍然使用pycharm,因为现在对于python编程的需求仍然很高,而且pycharm具有很多的优势,因此还是使用更为方便的pycharm。

  • 这种软件再过10年,20年还会存在么,为什么?

   会存在。当前正是人工智能的热潮,并且在短期内不会退去。而人工智能在很大程度上依赖于python编程,因此只要人工智能依然火爆,python的IDE还会继续进步,根据现在的情况,当前领域的所有基础工具均已完善,除非有新的更优秀的语言出现,否则这种软件在20年后仍然会存在。

你可能感兴趣的:(结合工程实践选题调研分析同类软件产品)