为什么要做GoLucene

August 22, 2014 · One minute read

从一开始接触Java就不喜欢它,所以尽管我也算是最早一批接触Java的程序员,真正开始用也要到2009年我在一个独立项目中接触JAX-RS开始。JAX-RS极大的抽象和简化了Web开发,使得开发人员完全不需要在意Servlet的细节(尽管我也实现了一个自己的JAX-RS库,用到反射和Servlet),只需熟悉HTTP就可以开发Web应用了。到了这个时候,我才对Java有了些许的好感。后来接触了Scala和Clojure,很喜欢他们处理集合的方式,以及各种辅助的方法。可是真到了开发应用,还是需要依赖那些框架,而框架使用中的繁琐又反过来抵消了语言本身带给我的好感,遂一一弃之。

直到Go的出现。

Go真的让我眼前一亮,语言本身快速上手,开发Web应用让我找回了REST的感觉,语言库很全,要什么有什么。OO的部分有些怪,不过因为之前接触过JS的原型链,对于嵌入对象指针的方式也不会非常排斥。可以说Go就是我一直要的菜。

回到一开始的问题,为什么要做GoLucene呢?因为我比较喜欢Linux而不是Unix,也就是一个程序包含所有功能,而不是创建各种小程序协同工作。而Web应用中搜索是一块很重要的功能,虽然我也可以用ElasticSearch的REST接口,或者干脆使用Google Site Search,但这些都显得太累赘……

我也许是太纠结了。

经常会问自己,为什么要做这个?为什么要做那个?理由也是各种各样的,但也许我就是想这么做。所以如果有人问起我,为什么要花这么多时间在GoLucene上,我想说的是,我就是想这么干。