QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

小程序的安全架构解析

Onegun

小程序 安全 小程序容器 小程序架构

做客《创新之路》,Tapdata 创始人唐建法对话央视著名主持人李雨霏,畅聊创业故事

tapdata

阿里内部教材:15W字的SpringCloud微服务实战,我一口气给你打包

做梦都在改BUG

Java 架构 微服务 Spring Cloud

哪些技术有可能坐上智慧城市发展的快车

Onegun

智慧城市 小程序容器 数字城市

今年互联网是“银二铜三铁四丐五”?程序员面试如何破局?

Java你猿哥

Java 架构 算法 多线程 java面试

兼顾可扩展、高并发与数据一致性:咸鱼优惠系统设计实践

Java你猿哥

Java 架构 ssm 架构设计 并发

如何利用java实现一个布隆过滤器?

做梦都在改BUG

Java 布隆过滤器

如何解决注册并发问题并提高QPS

北桥苏

队列 并发 Redis 核心技术与实战

GPT:低代码的终局性机遇

小博

人工智能 低代码 PaaS GPT

德邦快递:逆境之下,让数字化辅助业务的利润增长

Kyligence

数据分析 数字化管理 指标中台

MLCC龙头涨价;车厂砍单芯片;台积电28nm设备订单全部取消!

元器件秋姐

芯片 汽车 资讯 新能源 MLCC

大模型竞争白热化 这家广州的科技公司却开辟了新战场

科技热闻

GitHub发布即百万!字节内网超实用 java性能优化手册,star超十万

Java你猿哥

Java JVM ssm Java性能调优 java程序优化

Last Week in Milvus

Zilliz

Milvus Zilliz 向量数据库

Spring Boot如何优雅提高接口数据安全性

做梦都在改BUG

Java spring Spring Boot

共识算法之Raft算法模拟数

TiAmo

算法 共识算法 模拟数

如何更好的分析潜在人脉?聊聊华为云图引擎GES的Cypher子查询

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

创业做共享电动车!如何找厂家合作

共享电单车厂家

共享电动车厂家 共享电单车厂商 共享电单车投放 共享电动车创业项目

WebSocket与Socket、TCP、HTTP的区别

Apifox

程序员 TCP socket HTTP websocket

从GitHub火到头条!共计1658页的Java岗面试核心MCA版,拿走不谢

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

百人研发团队百亿销售规模的技术架构实践分享

车江毅

2023淘宝天猫金婴奖公布,小度学习机获年度超级新品奖!

科技热闻

intellij idea 粘贴字符串如何不带换行符?

源字节1号

微信小程序 开源 软件开发 前端开发 后端开发

还在分不清各种IO模型?

Java你猿哥

Java Linux io I/O模型 Java IO

软件测试丨Pytest学习笔记-Mark标记、Skip跳过、xFail预期失败

测试人

软件测试 自动化测试 测试开发 pytest

【活动报名】PolarDB开源数据库&PG中文社区技术沙龙温州站

阿里云数据库开源

数据库 postgresql 阿里云 开源 polarDB

跨平台的Markdown编辑器:Typora for Mac中文版

真大的脸盆

头部企业走入无人区,国产数智化厂商挑大梁

用友BIP

全新问世!阿里内藏版的SpringBoot 2.5实战笔记,全面覆盖新特性

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

大开眼界!Jenkins结合SpringCloud+K8S,打通微服一条龙技术讲解

做梦都在改BUG

Java Kubernetes k8s Spring Cloud jenkins

Go_Gin之初体验

神木鼎

golang 日更 gin框架

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