写点什么

动态语言 IDE:Aptana Pydev 和 DLTK Python

  • 2008-12-25
  • 本文字数:1608 字

    阅读完需:约 5 分钟

我们很荣幸地宣布,倍受欢迎的 Python 和 Jython 的 IDE——Pydev——现在是 Aptana 产品家族的成员了。还有,Pydev 的创建者 Fabio Zadronzy 将会作为 Aptana 团队的一员,继续改进 Pydev。

我们采访了 Fabio,来谈谈 Pydev 的现状和未来。我们问他 Pydev 和其他 IDE 有什么区别:

我的回答可能有点偏袒,但我觉得它的代码智能化特性,例如代码补全就非常棒。要是你添加 Pydev 扩展,它的代码分析是一个 python 程序员 不可或缺的功能(当然它还具有调试、最近加入的互动控制台、定义查找,以及其他编辑器特性等等)。Eclipse 系统也对它有所帮助,比如用户可以管理多 个项目,例如用 Subversive、Mylyn 等。

既然 Pydev 是一个 Aptana 产品了,它对于用户会有什么变化吗?有些人对 Aptana 的其它产品没有兴趣,对他们来说,Pydev 还会是一个独立的 IDE 吗?

我认为,作为 Aptana 的产品,Pydev 会同步提升其质量和支持服务。因为 Pydev 用户一直在增长,维护起来越来越困难,我一个人难以应对。(尽管有一些贡献者也时常在维护它,但直到现在,还没有人为它的稳定性做开发)。

第二个问题的答案是肯定的。它仍会是一个独立的 Python 专用 IDE,不在 Aptana Studio 中。

还没有…… Pydev 解析器比 Jython 需要更多的信息(对于重构来说),所以它的代码其实已经有了一个分支(而且上面还有更多的工作来提供那些信息)。还有,从 速度的方面来说,通过一些分析,Pydev 解析器仍比 Jython 解析器要快(即使有更多的信息——解析速度对 Pydev 来说非常重要)。

Pydev 将来打算加入什么功能?

我一般不预先计划什么功能…… 要是时机到了,我就会看看功能请求,选出其中我觉得比较实用的(也是请求较多的)。现在我正在做一些工作,让它支持 Eclipse 3.2 到 3.4(并确保现有功能不受影响)。

Pydev 的一个特色就是它的重构功能。我们采访了 Robin Stocker 和 Reto Schüttel,他们这个团队在一个

专题项目中实现并扩展了大部分的重构功能。

你们提供了哪些重构功能?

我们的项目实现了以下这些重构功能和构建器:

  • Docstring 构建
  • 局部变量内联
  • 局部变量抽取
  • 局部变量重命名
  • 方法重命名
  • 属性重命名
  • 类重命名

它的智能化做的如何?我干嘛不直接用查找 / 替换呢?

你可以用查找 / 替换,但你需要查看每行搜索结果,并决定要不是重命名。还有,要在多个文件中查找替换可是件烦人的事。

举例来说,你想重命名“Puzzle”类的“solve”方法,但又不想影响到局部变量“solver”和“Solver”类的“solve”方法。

我们的重命名功能相当的智能,它会理解代码,并决定是否要对某方法重命名。它知道局部变量“solver”和方法“solve”是无关的,还有那个属于“Solver”类的“solve”也不应该被重命名。

为了做这样一个智能判断,我们实现了一个 Python 的类型推理系统。它是基于 DLTK 的人在 Ruby IDE 中所使用算法。

新的重构功能基本上都加入到 Pydev 中了。将来还有什么计划?

在目前正在做的一个项目里,我们抽取出类型推理引擎,并把它放到一个独立的项目中继续改进,这样可以

用于其他目的

下一步会把增强的类型推理引擎重建集成到 Pydev 中,因此重构功能还能从中得到改善。但我们不知道什么时候才能完成,因为我们都有很多其他事情在忙。

DLTK Python

DLTK 也支持 Python ,但仍处在孵化阶段。其项目负责人 Andrey Platov 这样解释:

这意味着没有活跃的开发者在做 Python,DLTK python 不如 Ruby 那么重要,因此“孵化”这个词就是在说:“嘿,这玩意还在孵化箱里呢,请别把它当作一个马上能用的 IDE。” […] 要是 Python 组件能达到 Ruby 和 TCL 的水平就好了。但我们没有资源来做这些。我们开始一直把它当作一个概念验证,但现在已经有了足够多不同的语言在 DLTK 上实现,所以我已经不再怀疑:Python IDE 能够无缝地结合到 DLTK 框架中。

这篇新闻是动态语言 IDE 系列介绍的一部分。其余的部分见 InfoQ 的动态语言IDE 标签

查看英文原文: Dynamic Language IDEs: Aptana Pydev and DLTK Python

2008-12-25 11:232051
用户头像

发布了 33 篇内容, 共 66090 次阅读, 收获喜欢 0 次。

关注

评论

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

☕【Java技术之旅】从底层角度去认识线程的原理

码界西柚

Java 线程 Thread 线程协作 5月日更

C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践

汪子熙

Cloud CRM SAP C4C

到底哪种类型的错误信息会阻止business transaction的保存

汪子熙

CRM SAP abap

找出 SAP OData service出错根源的小技巧

汪子熙

SAP Fiori SAP UI5 OData

架构实战营 模块四:学习总结

👈

架构实战营

SAP Fiori 应用 Footerbar 区域按钮的高亮显示逻辑

汪子熙

JavaScript SAP Fiori SAP UI5

SAP 不同 ABAP 系统里同一 Customizing activity 的显示差异分析

汪子熙

CRM SAP ERP abap 定制化

Kafka-详细笔记

ninetyhe

分布式 高并发系统设计 消息系统 Kafk

Inner Join, Left Outer Join和Association的区别

汪子熙

SAP abap ST05

架构实战营作业4

大肚皮狒狒

【架构实战营】第 4 模块作业

swordman

架构实战营

另一种方式实现事务码SE16里的结果集修改

汪子熙

JavaScript SAP Fiori

利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率

汪子熙

JavaScript chrome

SAP CDS view注解解析 - @Environment.systemField

汪子熙

SAP abap

学生考试系统存储设计

王硕

架构训练营

架构师实战营:模块四 千万级学生管理系统的考试试卷存储方案

ifc177

#架构实战营

美团二面:Redis与MySQL双写一致性如何保证?

捡田螺的小男孩

数据库 面试 一致性 缓存;

Java Elasticsearch 使用

Java elasticsearch

如何将BSP应用配置成Fiori Launchpad上的一个tile

汪子熙

SAP abap Fiori SAP UI5 bsp

使用DOM Breakpoints找到修改属性的Javascript代码

汪子熙

JavaScript html chrome

python-运算函数-sum

Geek_6370d5

HBase常见问题

数据社

大数据 HBase 5月日更

如何在SAP CRM WebClient UI里创建HANA Live Report

汪子熙

CRM SAP WebClient UI

一个查看 SAP UI5 控件所有公有方法的小技巧

汪子熙

JavaScript SAP SAP UI5

Authorization object在哪些ABAP代码里使用到

汪子熙

CRM SAP abap Netweaver

让秋招飞,Java岗高频面试题盘点,站着就把offer给拿了

北游学Java

Java 面试 秋招

架构实战营 模块四:课后作业

👈

架构实战营

千万级学生管理系统的考试试卷存储方案

颜培攀

架构实战营

模块四-千万级学生管理系统试卷存储方案

华仔架构训练营

SAP Fiori Launchpad Tile点击后跳转的调试技巧

汪子熙

JavaScript SAP Fiori SAP UI5

数据科学指南#基础篇 Matplotlib 入门

Lev

Python 数据科学 matplotlib data-science

动态语言IDE:Aptana Pydev和DLTK Python_Java_Mirko Stocker_InfoQ精选文章