Tools for Learning Clojure, Part IV: GitHub

Tools for Learning Clojure, Part IV: GitHub June 21, 2014

GitHub Octocat In Part I, I talked about Clojure and the need for a convenient “REPL”: a piece of software that lets you type input at the language engine and see its responses. In Part II I talked about Leiningen, a very cool tool that not only gives you a good REPL but also automates many other tedious aspects of development. In Part III I talked about a simple IDE for Clojure called Nightcode.

And the final piece in the puzzle is GitHub.

GitHub is a website that provides configuration management tools to (primarily) open source developers. It provides a home page of sorts, a wiki for project documentation, issue tracking, and network access to the “git” distributed version control system.

If there are any programmers reading this who don’t know what a version control system is, let me just say: you’re living on borrowed time, bucko. For the rest of you, it’s a tool for saving successive versions of all of the files in your project, so that if you make a mistake you’ve still got the old versions available to look at. Think of it as an “undo/redo” capability for working programmers. (It’s a lot more than that, but it will do to be going on with.)

But wait!, you cry. I just want to learn a little Clojure! I don’t need to keep a history of my changes and track issues and all that jazz!

This is probably true. And yet, GitHub is still a killer app if you want to learn Clojure—because Clojure itself, its libraries, and most of the interesting third-party tools (like Leiningen) are hosted at GitHub. And they are open source. And that means that you can go to GitHub and with just a few mouse-clicks find yourself reading Clojure code written by people who know what they are doing.

Let me repeat that: you can go to GitHub and with just a few mouse-clicks find yourself reading Clojure code written by people who know what they are doing.

Me, I like to learn on my own, and come up with my own ways of doing things; but that’s not only a strength, it’s also a weakness. It’s very much worth while spending your time looking at good work; and at GitHub, good work and bad work both are available for you to look at.

And then, maybe you do have a project—a program, or a manuscript—for which you’d like to keep a history of changes; and not only a history of changes, but an off-site backup. GitHub gives you that; and if you’re willing to let others look at your work, it’s even free. (If you want it to be private, you need to pay $7/month for the privilege.)

I’ve been using version control systems for years; I tried RCS back in the days of the dinosaurs and backed away slowly; I used CVS for quite a long while, and then switched to Subversion, which I’m currently using both at work and at home. I’ve dabbled with Fossil, which is quite nice and self-contained. But honestly, I haven’t tried anything quite as pleasant to use (at least for a newbie) as git with GitHub.


Browse Our Archives