AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

动态语言 IDE:Aptana Ruby 和 DLTK Ruby

  • 2008-12-24
  • 本文字数:2126 字

    阅读完需:约 7 分钟

大多数人都愿意用 IDE 来写 Java 和 C#代码,因为有代码补全、智能格式化,甚至自动重构。在动态语言的世界,情况则不大一样。

原因之一是缺少类似静态语言使用的那种工具,这是由于为动态语言开发这类工具十分困难。不过好在这些动态语言的程序通常短小而简洁(例如和 Java 相比)。

不过,有时候使用集成开发环境还是很方便的,它可以接管开发者所有的日常任务,从使用源码管理工具、管理项目文件,到编译、调试和部署项目。在这一系列新闻中,我们采访了一些动态语言 IDE 的开发者,来介绍一下这些 IDE 的现状和他们的看法。

我们假定所有的 IDE 都具有一些基础的功能,比如高亮等,因此我们主要关注复杂一些的功能,比如重构(refactoring)。自动重构功能是一个成熟 IDE 的标志,因为这需要对代码做深入详尽的分析。而且这也是一般的多语言编辑器无法提供的功能,除非使用第三方工具。

Aptana Ruby

基于 Eclipse 的 Ruby 开发工具已经得到了广泛使用,尤其是在 Rails 开发中,RadRails 提供的扩展非常好用。RDT 和 RadRails 都已经集成到 Aptana Studio 中了。而且 RDT 的主要开发者 Chris Williams 也受雇于 Aptana。

Aptana 的 Ruby Studio 一直都静悄悄的,少有动静。因此我们找到了 Chris,谈一谈最近有什么新动态。

在过去的 6 到 7 个月,我正在忙着我们的新产品——Aptana Cloud。我一直在做关于 API/server 的所有工作,其用于协调 Aptana Studio、第三方托管商,以及装着网站的主机本身。
正因如此,我不再像过去那样有那么多时间给用于 Ruby 支持和 RadRails 了。现在我基本上一有空就在修复 bug,还有把 Cloud 支持工具化。如今 Cloud 已经公布了,我得去实现 Rails 支持。然后才能差不多全职回到 RDT/RadRails 上来。

Chris 还说他们正在招兵买马,“确保插件开发能稳定地持续下去”。Ruby 开发者要是想扩展他们的 IDE,不必再用 Java。

我们有一个插件,能让终端用户用 Ruby 代码来调用一小部分 Eclipse 编辑器 API——这样只懂 Ruby 的人就能够用它写一些小的宏 / 脚本。如果是 JRuby 专家,就能用 Ruby 写出自己的扩展,访问所有的 Eclipse API。

提示:InfoQ 之前谈到过 JRuby Eclipse 脚本编程

Aptana 现在支持 Ruby、JavaScript、Python 和 PHP。下一个会支持什么语言?

我们一直在寻找社区中喜欢用什么开发 web 插件。当我们看到了足够的支持的时候,就会投入到这个领域。我们在洗耳恭听:让我们知道你们需要什么。

下一步的计划是把 Studio 合入现在的 Eclipse Ganymede 版本,“添加更多的高级 Cloud 支持,修复更多的大 bug,然后我就能松一口气,在 1.3.x RadRails 的时间表上制定下一步计划了”。

Ruby 开发工具早就支持重构了,实现了比如重命名、扩展、移动和方法内联。尽管这种重构还不够傻瓜化,也不可能在所有情况下都好用,但在多数情况下,能够显著减少手工复制粘贴(本文就是利用自动补全写成的)。

Aptana RadRails 标签里面有关于 Aptana IDE 的更多内容。

DLTK Ruby

这个动态语言工具很特别,他们想要把基于 Eclipse 的动态语言 IDE 所需要的所有可重用的组件都集成到一个框架中,由此来帮助实现对新语言的支持。Ruby 是 DLTK 最早的语言之一,再加上 TCL,构成了 DLTK 的核心。

不幸的是,DLTK 的动静也不太大。于是我采访了它的项目负责人 Andrey Platov:

一提到 TCL,我们就会想到 DLTK TCL 是最好的 TCL IDE 之一。我们仍在改进它,并打算把它集成到 TCL 解释器上。这些工作不是很容易看到。 关于 Ruby(还有通常所说的 DLTK):第一,DLTK(包括 Ruby 组件)是一个平台:我们一开始就没打算满足所有终端用户的需求。例如我们从来没有 计划过对 Ruby on Rails 提供任何支持。DLTK Ruby 的目标是为其他厂商提供稳定、干净的 Ruby 语言平台,让他们基于其创建功能完整的工具。一个很好的例子是来自 CodeGear 的一个综合 Ruby IDE,叫做 3rdRail 。它就是基于 DLTK Ruby 的。

以 上这些并不是说 DLTK Ruby 不能独立使用。它作为一个很好的 Ruby 编程工具,许多语言爱好者都用它。我们不强迫开发者采用 Ruby on Rails 风格,也不迫使他们用 RSpec……只是纯粹的语言,和开发者的创新。从另一个角度来看,这样一个“干净”的 IDE,是厂商开发产品的一个很好 的平台,支持框架和他们选择的技术,并且他们已经免费拥有了顶级的语言支持。

回到你的问题上,我们现在的工作就是让 DLTK Ruby 更好地“理解”语言,更妥当地处理 Ruby 代码。

“试试看代码补全功能”,Andrey 指给我看。将来的计划是改进语言支持,来“更好地理解 Ruby,提供比如代码分析、重构和快速修正功能”。

DLTK 暂时没有打算支持更多的语言,但他们“在为一些公司提供咨询,开发他们自己的语言的 IDE”。Andrey 还说,“基于 DLTK 的 PHP 开发工具(PDT)2.0 即将发行”。还有一些基于DLTK 的IDE 正在开发,包括ANTLR、Lua、D、Perl 和Scheme 。各种DLTK 开发包在 Dynamic Languages Toolkit 网站可以下载

这篇新闻是我们一系列动态语言 IDE 介绍的一部分。其余的部分可以在 InfoQ 的“动态语言IDE ”标签中找到。要是你对Ruby IDE 的介绍感到意犹未尽,你或许对InfoQ 的Netbeans 支持Ruby 的文章感兴趣:

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

2008-12-24 00:031739
用户头像

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

关注

评论

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

阿里大佬随手甩出一份覆盖全网的微服务架构笔记,让我涨薪60%

程序知音

Java 微服务 spring-cloud 后端技术 spring-boot

能让中国联通青睐的财务共享智能报账平台是什么样的?

用友BIP

财务共享

2023上海国际嵌入式展 | 如何通过版本控制与IP管理建立嵌入式开发的单一可信数据源

龙智—DevSecOps解决方案

版本控制 嵌入式开发 静态代码扫描

分布式架构天花板笔记开源了,一上线GitHub 45K star

小小怪下士

Java 程序员 分布式 分布式架构

Scrum的执行过程及产品Backlog梳理的目的、时间、内容

顿顿顿

Scrum 敏捷开发 敏捷开发管理 敏捷项目管理

浅谈安全测试之AppScan

数新网络官方账号

大数据 安全测试

腾讯广告技术版图|把脉生意困局,助力全域经营

科技热闻

伟大的公司只需要十一人

Openlab_cosmoplat

开源 MidJourney

阿里P9架构师推荐的Spring领域巅峰之作,颠覆了我对Spring的认知

程序知音

Java spring java架构 Java进阶 后端技术

异地组网——ZeroTier

数新网络官方账号

大数据

塞尔达工业革命卷到数字电路了!网友:怕不是要在Switch里造Switch

Openlab_cosmoplat

MobTech 秒验|运营商网关取号​

MobTech袤博科技

数学计算软件开发巨头MathWorks助力嵌入式开发创新,将MATLAB、Simulink与Perforce Helix Core集成

龙智—DevSecOps解决方案

版本控制 数学计算软件 MathWorks

Kyligence 客户案例招商银行批发业务分析平台获评金融数字化最佳实践案例

Kyligence

金融数字化 指标平台

激发创造力!如何轻松录制PPT和人像视频

淋雨

PPT Camtasia 录屏

软件测试/测试开发丨自动化测试定位策略实战-测试人论坛搜索

测试人

程序员 软件测试 自动化测试 测试开发

我国首例汽车企业全业务场景数据出境安全评估获批

Openlab_cosmoplat

大数据 开源 汽车

如何在Windows中设置应用程序开机启动?

IT蜗壳-Tango

flutter系列之:做一个下载按钮的动画

程序那些事

flutter 大前端 程序那些事

低代码开发:构建企业数字化生态系统的秘密武器!

加入高科技仿生人

低代码 数字化 企业数字化 数字转型

软件测试|pyecharts绘制NBA球星得分能力对比图

霍格沃兹测试开发学社

SSH和SFTP是否相同

镭速

【活动报名】openEuler如何实现高效运维?南京用户组Meetup现场来聊聊!

openEuler

Linux 运维 操作系统 openEuler

点云分割技术的发展现状及挑战

数据堂

基于低代码平台的多租户解决方案

力软低代码开发平台

面试进阶齐飞!Github一天10w赞的阿里Java系统性能优化笔记有多牛?

程序员小毕

JVM 面试题 架构师 java面试 Java性能优化

软件测试|码农必会的git操作(一)

霍格沃兹测试开发学社

上海国家会计学院杨寅: 数据、业务、技术三大事项相互融合,促进财务发展

用友BIP

智能会计 价值财务

缺乏集成和标准的协作框架,企业如何确保API质量?

龙智—DevSecOps解决方案

git API API 接口

我的 UI 组件库发布了!

DUFU

JavaScript Svelte 移动端 Tailwind UI组件库

Sprint回顾会及Scrum工具

顿顿顿

Scrum 敏捷开发 敏捷项目管理 敏捷开发管理工具 sprint回顾会

动态语言IDE:Aptana Ruby和DLTK Ruby_Ruby_Mirko Stocker_InfoQ精选文章