写点什么

动态语言 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:232136
用户头像

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

关注

评论

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

项目git commit时卡主不良代码:husky让Git检查代码规范化工作

zhoulujun

git husky lint-stated

注意!软件供应链安全挑战持续升级

SEAL安全

安全 软件供应链

自己搭建git服务器:linux自己Gitlab服务

zhoulujun

gitlab git私有参考 git部署 git服务端

离线批处理的咽喉——Flume基础配置简析

怀瑾握瑜的嘉与嘉

flume 7月月更

SLSA 框架与软件供应链安全防护

SEAL安全

SLSA 软件供应链安全

一文读懂:本地数据湖丨数据仓库丨云数据湖的利与弊

雨果

数据仓库 数据湖

百问百答第46期:极客有约——可观测四类问题的核心思想解析

博睿数据

APM 智能运维 博睿数据 可观测 性能监测

多传感器时间同步

秃头小苏

时间同步 7月月更

面对裁员?焦虑?不如好好投资自己

沃德

程序员 7月月更

《看完就懂系列》聊聊CSS3的 calc() 函数

南极一块修炼千年的大冰块

7月月更

阿里云机器学习平台PAI论文高效大模型训练框架Whale入选USENIX ATC'22

阿里云大数据AI技术

深度学习 分布式训练 异构计算

QT实现 文件夹复制

小肉球

qt 7月月更

查找——概念了解

乔乔

7月月更

AOP 注解详解

武师叔

7月月更

得物App数据模拟平台的探索和实践

得物技术

大前端 方案设计 Mooncake 数据模拟平台

在线直播系统源码——开源源码

开源直播系统源码

软件开发 直播源码 开源源码 在线直播系统源码

Node.js异步编程之Promise

是乃德也是Ned

node.js 前端 7月月更

6月月更开奖!速来领取你的奖品!

InfoQ写作社区官方

热门活动 6月月更

纯CSS实现四种方式文本反差色效果

南城FE

CSS 前端 css动画 7月月更 反差色

TDesign 组件库技术方案指北

TDesign

开源 Vue React 组件库

将 Terraform 生态粘合到 Kubernetes 世界

阿里巴巴云原生

阿里云 容器 云原生 KubeVela terrafrom

数据治理实施前必须准备的21条锦囊妙计

雨果

数据治理

新思科技助力提升开源治理水平

InfoQ_434670063458

开源 新思科技 软件供应链

web前端培训4个常见的算法问题分享

@零度

算法 前端开发

一文搞懂│工厂模式、单例模式、策略模式、适配器模式、观察者模式的原理和使用

设计模式 策略模式 观察者模式 适配器模式 7月月更

官宣|九章云极DataCanvas核心产品通过 “可信大数据”权威评测

九章云极DataCanvas

人工智能 大数据 数据处理 中国信通院 实时决策

JS 逆向 SMZDM 的登录加密,你学过全文扣JS代码解密吗?

梦想橡皮擦

Python 爬虫 7月月更

软件架构-概述

架构

新思科技聚焦开源治理 助力提升中国开源产业安全及合规水平

InfoQ_434670063458

开源 软件 供应链 新思科技

大数据基础知识介绍

Lansonli

大数据 7月月更 大数据基础

数据架构师、数据分析师、数据工程师哪个工资更高?

雨果

数据分析师 数据工程师 数据架构师

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