Haskell的Atom IDE伪装

Haskell IDE

受老师的委托,写了一篇使用 Atom 伪装 Haskell IDE 的配置指南。写作的动机皆在取代原本的 Emacs + Haskell mode,因为大量学生抱怨其上手困难。另一方面,因为 Haskell 语言缺乏优秀的原生集成开发环境,现有的方案基本上就是某一种 IDE 结合插件的方式。不过 Mac 平台上有一款值得尝试的商业软件:Haskell for Mac,有兴趣可以试一试。

介绍

AtomGithub 开发的开源 Editor,可以看做是开源版本的 Sublime Text,拥有高度可定制性以及 Github 本身的开源社区提供的插件资源。有关更多如何去定制 Atom 可以自行访问官方网站。

Haskell IDE 使用效果

IDE vs Editor

网上对于这两大阵营的争论已经足够多了,我也想发表一下自己的一些看法。首先,这篇文章的写作目的在于引导初学者,其内容客观性需要考究,本人不保证方方面面不会出现疏漏,自行判断即可。

IDE的拥簇者通常会给出比较相似的理由:

  • 可用性
  • 针对性
  • 强大的技术支持
  • etc.

这些理由可以说就是一个成功的集成开发环境所应当具备的基本特性,通常它们对于某一个语言的优化明显,背后的技术支持也比较完善,强大的静态分析技术的引用等也使得这一阵营在商业市场上更具活力。

另一方面,Editor的拥簇者们给出的理由通常都包含为何拒绝IDE的理由:

  • IDE难看
  • 定制性差
  • 支持单一
  • etc.

诚然,我本人也使用VIM/Emacs,经过配置后确实能具备令人满意的效果。然而,不论人们如何评价,使用原生Editor进行开发工作的并不占多数,要么使用某些已经具备语言支持的编辑器,要么就对VIM/Emacs进行相关的配置。可是你会发现,这些人最终还是把自己的编辑器折腾(伪装)成了IDE的样子。这也就是说编辑器党也不会抵制IDE所具备的优势特性,所以不论什么党派都将会是殊途同归。

VIM 伪装 IDE

Emacs 可以直接运行 Haskell 代码

我给初学者的建议就是没有自己的主见时,莫受主流影响偏向一方,工具的目的毕竟是解放程序员繁杂的开发工作中因环境问题所牵扯的精力,正所谓集成开发环境,其首要考虑的因素应当是用户体验。为了折腾而折腾有点钻牛角尖。时间和精力都是有限的,有限的资源应该集中解决热点问题。对于开发来说就是集中在业务逻辑上,对于学生的学习工作来说就是重点攻坚知识技能。

做工具的主人,而不是奴隶

后记

优秀的剑客可以草木皆兵,而三流剑客即便手握绝世名剑也未必能在江湖站得住脚。