阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

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

关注

评论

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

国产分布式数据库StarDB核心技术大揭秘 一:内核分解之数据分片

京东科技开发者

数据库

中科柏诚持续推进数字网络技术,蓄力元宇宙布局

联营汇聚

Web3.0时代的社交网络会有哪些新变化?

CECBC

Linux一学就会之Centos8系统进程管理 ps管理进程

学神来啦

Linux 运维 linux一学就会 uptime centos8

数据大屏rem适配方案

CRMEB

新思科技推动DevSecOps落地,帮助企业走出“安全孤岛”

InfoQ_434670063458

DevSecOps 新思科技 软件安全

开源demo| 智慧协同让企业更便利

anyRTC开发者

音视频 智慧协同 开源demo 远程协助 远程勘查

Aeron 是如何实现的?—— Ipc Subscription

BUG侦探

共享内存 Aeron Ipc Subscription

以容器的方式运行极狐GitLab Runner

极狐GitLab

Docker runner 极狐GitLab

WAVE SUMMIT+2021为开发者准备的“小心思”,你get到了吗

科技热闻

6000字,详解数据仓库明星产品背后的技术奥秘

百度开发者中心

数据库 大数据

架构训练营-模块一作业

伊静西蒙

MySQL锁的分析实战

卢卡多多

28天写作 MySQL 数据库 锁分析 签约计划第二季 12月日更

消费医疗门诊的数字化运营

boshi

随笔杂谈

【等保小知识】信息安全等级保护四级系统有哪些?

行云管家

网络安全 等级保护

AfterShip APP 项目数据驱动的演进

AfterShip

数据库 数据 数据驱动

Camtasia混音教程

淋雨

Camtasia

2022年,RPA的5大发展趋势

金小K

区块链 AI RPA 机器人流程自动化 人工智能「

如何避免产品Backlog的这七个常见错误

爱吃鱼的小雨

Scrum 敏捷开发 研发管理 需求管理 内容合集

元宇宙与电信运营商

CECBC

底层逻辑:变化背后的不变

石云升

读书笔记 28天写作 12月日更

你知道敏捷团队的迭代目标达成率该是多少吗?

爱吃鱼的小雨

Scrum 敏捷开发 研发管理 内容合集 迭代管理

【IT运维】公司内网服务器可以远程桌面连接吗?怎么连接?

行云管家

云计算 运维 IT运维 远程运维

Go语言学习查缺补漏ing Day5

恒生LIGHT云社区

golang 编程语言

百度智能云与英特尔携手举办2021 EdgeX中国挑战赛成功落幕

百度大脑

人工智能

基于云的技术架构设计实践-第4篇

hackstoic

运维 云原生 签约计划第二季 业务运维

WePack —— 助力企业渐进式 DevOps 转型

CODING DevOps

统一管理 WePack 制品管理 研发构建产物 安全管控

五分钟,让你明白MySQL是怎么选择索引《死磕MySQL系列 六》

咔咔

MySQL MySQL高级 索引选择而

老电影和图片变清晰的秘密!分辨率提升400%的AI算法

百度大脑

人工智能

元宇宙浪潮之下,数字身份至关重要

CECBC

ReactiveNetwork库时如何实现网络状态监听的

Changing Lin

12月日更

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