Skip to content

为什么使用Go语言

CatTail edited this page Nov 9, 2014 · 1 revision

为什么我使用Go语言编写git-hooks? 原来的icefox/git-hooks是用bash编写的, 为什么我决定使用Go重写呢?

部分原因是bash在执行较多hook时性能不佳, 但更重要的是, 将来的git-hooks可能会支持例如中心仓库分发共享hook的功能, 使用bash来实现这些功能是不现实的.

作为一个前端工程师我很熟悉JavaScript, 而我抛弃JavaScript的原因是git-hooks应该尽可能减少依赖, 它应该能在任何机器上方便的使用, 而如果使用JavaScript编写, 用户就必须在机器上先安装Node.js.

当然我也可以用C或者C++来编写git-hooks, 但我想试一下Go语言. 它拥有更好的生态, 如果使用C, 我会在网络上寻找一个通用的库, 手工下载下来然后编译, 简直愚蠢透了.

最后, 当我完成重写后, 我发现Go比C的使用要简单多了, 主要归功于它良好的生态, 虽然比JavaScript更难.

HOW TO USE GIT HUB

Clone this wiki locally

⌂ 换网址