Tools for Learning Clojure, Part IV: GitHub

Tools for Learning Clojure, Part IV: GitHub

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

Follow Us!


TAKE THE
Religious Wisdom Quiz

Who was the only woman to rule as queen over Judah?

Select your answer to see how you score.