BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

FP Complete 推出基于浏览器的Haskell IDE

| 作者 Mirko Stocker 关注 0 他的粉丝 ,译者 孙镜涛 关注 2 他的粉丝 发布于 2013年9月14日. 估计阅读时间: 5 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

FP Complete推出了FP Haskell Center,这是他们新的Haskell IDE和应用程序服务器。该IDE基于浏览器实现,开发者能够通过该IDE和应用程序服务器更加容易地创建并运行基于Web的Haskell程序。

为什么要选择Haskell呢?FP Complete强调了Haskell的“强类型检查能力,能够在编译时捕捉到所有的错误,而不是像传统语言那样在运行时捕捉,这让Haskell程序员能够从一开始就创建干净、简洁和正确的代码”。它们还宣称“Haskell把产品的上市时间提升了30%到50%,大大提高了程序员的生产力,降低了成本,提高了产品质量”。但是到目前为止Haskell的使用已经受阻,因为Haskell是通过一组开源的国产工具集部署的,用户必须通过一个复杂且耗时的流程才能将它们拼凑到一起。

InfoQ对函数式编程障碍的研究结果表明,匮乏的工具支持是限制其发展的第二大障碍。因此这就Haskell IDE发挥作用的地方。虽然它现在依然缺少很多传统的IDE所具有的功能,但是它已经具有增量编译、错误报告、语法高亮和代码完成功能,同时还集成了Hoogle(Haskell API搜索引擎)。基于CodeMirror的编辑器还集成了Git和GitHub,当然也提供了部署程序所需要的操作。作为另一种选择,你还能够下载一个独立的你应用程序的二进制包。

为了了解构建该IDE过程中所面对的挑战,InfoQ采访了FP Complete的相关负责人。

构建一个Haskell IDE的挑战在于帮助开发者利用Haskell所拥有的所有能力。我们想要为类型错误和语法错误提供即时反馈,消除对单独的解释器的需要,例如用于测试表达式的GHCi。我们还想利用现有的工具,例如Hoogle和Haskell的类型签名,从而能够在编辑器中搜索数据库为开发者提供额外的帮助。随着时间的推移,我们将非常有机会提供更加实时的反馈让开发者能够纠正常见的编码错误。

其他的挑战是创建匹配GHC构建系统的项目管理以及消除使用cabal所带来的诸多复杂性。这样能够帮助Haskell新手越过一些初始的障碍和学习Haskell的挫折。对我们而言,让所有人都感觉Haskell是容易的、可接近的是最大的挑战,但是来自于用户的大量反馈让我们相信我们在很多重要的方面上都取得了成功。

InfoQ:为什么你们要选择创建一个基于浏览器的IDE而不是基于一个已有的IDE平台构建呢?

我们最初的目标是让更多的开发者能够使用这个优秀的语言和生态系统。我们感觉提供仅需要很少设置的工具能够减少学习和使用Haskell的挑战。我们现在正在做的大部分工作是为用户提供经过测试的、修正的、审查过的类库,让Haskell应用程序的部署更加容易。我们的系统不仅仅是一个IDE。它是一个稳定的、提供商业支持的系统,它集成了Haskell平台,包含一个云构建系统和一个部署系统。今年秋天我们将会添加向防火墙后的系统进行部署的功能,从而简化对基于Haskell的应用程序和服务的构建、配置、部署和管理的任务,让用户不需要关注它们在哪里运行。

InfoQ:该IDE依然缺少很多典型的IDE所具有的功能,例如,它不支持反射、调试和单元测试。那么你们将来在这方面有什么计划?

是的,我们计划在下一个发布版中包含所有这些功能,该版本大约会在今年年底发布,而这期间的更新版本可能会包含其中的一部分功能。我们还计划添加一些功能从而支持那些由很多子项目构造而成或者依赖于其他项目的大型项目。大型项目需要一个大型项目构建系统。我们还打算在任何可能的时机利用已有的工具和类库。

此外,我们还打算创建一些API和插件从而能够在已有的IDE和编辑器中使用我们的系统。Emacs和VIM就非常受Haskell社区欢迎。随着时间的推移,我们将会添加更多的内容,并且会利用Haskell社区成员所完成的优秀工作成果。

FP Complete提供了30天的产品免费试用期,同时还有一些其他的选择(每一个授权许可每月75美元)。学生和老师能够获取到免费帐号。你是一名Haskell程序员么,或者说你想要成为其中的一份子么?那么请让我们知道你的想法!

查看英文原文FP Complete Launches Browser Based Haskell IDE

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT