写点什么

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

  • 2013-09-13
  • 本文字数:1625 字

    阅读完需:约 5 分钟

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

2013-09-13 06:511856
用户头像

发布了 321 篇内容, 共 119.3 次阅读, 收获喜欢 19 次。

关注

评论

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

Java常用类使用总结,linuxshell教程

Java 程序员 后端

Java并发系列终结篇:彻底搞懂Java线程池的工作原理(1)

Java 程序员 后端

Java并发编程---Java多线程基本概念,java高并发编程详解pdf百度网盘

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day14,mybatis常见面试题

Java 程序员 后端

Java并发系列终结篇:彻底搞懂Java线程池的工作原理,nginx性能优化面试题

Java 程序员 后端

Java是动态语言吗?JavaCompiler实现动态编译,并通过反射赋值

Java 程序员 后端

Java学到什么程度才算精通?,springmvc原理图解

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day34,rabbitmq集群同步原理

Java 程序员 后端

Java并发原理抽丝剥茧,读写锁ReadWriteLock实现深入剖析

Java 程序员 后端

[ CloudWeGo 微服务实践 - 03 ] 小项目尝试

baiyutang

golang 微服务 10月月更

文本前后空格去除工具

入门小站

工具

Java开源生鲜电商平台-支付模块的设计与架构(源码可下载)

Java 程序员 后端

java教程——泛型,java反射原理三种

Java 程序员 后端

java架构师常见的基础面试题及答案(一),这个回答让我错失offer

Java 程序员 后端

Java安全之反序列化回显与内存码,java面试个人规划

Java 程序员 后端

Java开发必须要会!java微服务技术栈,菜鸟教程linux教程

Java 程序员 后端

Java异常面试题(2020最新版),mongodb入门

Java 程序员 后端

Java是未来的第一编程语言吗?(1),java多线程常见面试题

Java 程序员 后端

Java架构师面试之Netty面试专题及答案(共10题,含详细解答

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day20,从java后端到全栈百度云

Java 程序员 后端

Java应用日志如何与Jaeger的trace关联,mybatis多表查询原理

Java 程序员 后端

王者荣耀商城异地多活架构设计

Rabbit

Java是未来的第一编程语言吗?,linux内核架构pdf免费下载

Java 程序员 后端

Java并发编程---Java多线程基本概念(1),java多线程下载视频

Java 程序员 后端

Java异常处理的误区和经验总结,2021最新网易Java面试题目

Java 程序员 后端

Java性能优化的35个细节(珍藏版),文末有福利

Java 程序员 后端

JAVA数组,nginx教程从入门到精通

Java 程序员 后端

Java实现文件切割拼接,MongoDB数据分布不均的解决方案

Java 程序员 后端

linux中删除特殊文件

入门小站

Linux

Java异常架构与异常关键字,java引用类型和基本类型的区别面试

Java 程序员 后端

java教程——注解,Java程序员校招蚂蚁金服

Java 程序员 后端

FP Complete 推出基于浏览器的Haskell IDE_后端_Mirko Stocker_InfoQ精选文章