我的工程实践是关于金融文本数据挖掘的,因此需要用到python进行分词及数据挖掘等操作,而我目前常用的python IDE是PyCharm,这里分析一下其与之同类的jupyter notebook和Eclipse + PyDev的特点。
1.这些软件的开发者是怎么说服你(陌⽣⼈)成为他们的⽤户的?他们的⽬标都是盈利么?他们的⽬标都是赚取⽤户的现⾦么?还是别的?
因为它们可以在我进行编程时带来便捷的帮助,所以我选择使用这些IDE。对于任何一家软件公司,开发软件的目标都是盈利,只是有的企业前期依靠开源软件积累用户市场,后期就可以对拥有的用户市场推广付费软件,当然这些付费软件相对开源软件更为专业,更能满足用户需要。所以可以看出直接目标不一定都是赚取用户现金,但总归是希望用户购买。
2.这些软件是如何到你手里的?
pycharm可以直接在官网下载,但有付费版和免费版,我目前所使用的是免费版的。至于Jupyter Notebook的安装更为省事,直接pip install jupyter即可(前提是python已经安装完毕)。PyDev的安装需要在Eclipse和python安装完毕的前提下,在Eclipse里面即可安装,但过程相较jupyter复杂。
3.这些软件有Bug 么?⼜是如何更新新版本的?
在使用过程中,我并没有发现这些软件存在Bug,但大多数软件会跟随时代的潮流对模块进行更新迭代。当有模块更新时,软件会更新新版本,且如果操作系统升级软件也会推出兼容的版本。
4.此类软件是什么时候开始出现的,同⼀类型的软件之间是如何竞争的? 发展趋势如何?
PyDev是2003年出现的,它实现了一个功能强大的Eclipse插件,用户可以完全利用Eclipse来进行Python应用程序的开发和调试,基于Eclipse平台,让编程人员用eclipse进行python程序的开发。
Jupyter Notebook本质是一个Web应用程序,可以将一段代码分成几个独立的单元,而这些单元可以按照次序先后运行,相对来说还是很方便的。
PyCharm是常见的python IDE软件,还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。
这三类IDE都拥有一般IDE的常见功能,但PyDev基于Eclipse平台,Jupyter Notebook是网页编辑器,PyCharm外观跟一般IDE没什么不同,因此它们之间的竞争是面对拥有不同编程偏好的编程人员。
5.列举你在使⽤上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
软件=程序+文档+数据,使用IDE时,输入相应程序及数据,会得到对应结果。而这些程序中拥有了编程人员的智慧,有逻辑性,且可以重复使用。这跟硬件不同,硬件有物理形态,而软件没有;软件可移植,而硬件不行;软件可复用,而硬件不可以;硬件会老化磨损,而软件不会,但软件需要维护和更新。
6.你个⼈第⼀次⽤此类软件是什么时候,你当时是⼏年级,班主任叫什么?在哪⾥,什么状态,当时的软件是如何得到的(买的正版,盗版,下载?)
第一次使用PyCharm是大三时,用来做分词,班主任老师是伍琦老师(密码学的,很是厉害),当时直接从官网下载的免费版,太方便了。第一次使用Jupyter Notebook是最近,用来试着做数据挖掘,直接pip安装(很方便!),班主任老师是杨春宁老师。第一次使用PyDev也是最近,仅仅是了解了一下,安装直接在Eclipse里面,稍微有点麻烦。
7.你是如何精通这类软件的?它给你什么好处,坏处?
目前尚未精通这些软件,还在努力中。这些IDE的存在对编程来说肯定是节省了很多很多事,并且在编程过程中如果有错误还会有提示,很方便。但刚入门的时候对于某些可以直接调用的函数不熟悉,会出错。
8.你现在还⽤它么,或者是同类软件的不同品牌,为何?
还在用,目前方向与数据挖掘有关,而Python用来做数据挖掘很是方便,所以其IDE也必不可少。
9.这种软件再过10年,20年还会存在么,为什么?
还是会存在的,只要python存在,其IDE一定会存在,只是可能会随着市场不断更新。