I started learning Clojure in May of this year. That process went through an acceleration in late May, peaked in July, and this first learning phase finished up in early August with the implementation of a standalone Clojure program to process csv data through our address verification system.
The reasons I chose to learn Clojure were as follows:
- A strong affinity for Clojure’s language design reasons http://en.wikipedia.org/wiki/Clojure
- Could more easily defend introducing Clojure into our web/4GL/Perl/Python production environment, because it is a JVM language.
- Was curious about functional programming and wanted to learn a language that might be considered main stream.
Since May I have read a lot of blog posts about functional programming, various dialects of Lisp, and seen a lot of references to pure versus non-pure. I have come to this conclusion.
While it is not always a good idea to accept what is popular, you often have to work with your shop’s tools. Once a long time ago, before the advent of VPNs, there was a need for corporations to cut down on their land-line telephone bills. Since that time — about fifteen years ago — local POPs are everywhere, and you can get WiFi access back to your intranet very easily. These were the days just before that.
Well, in the middle of our production cycle, yes about half-way through, a developer did not like the previously agreed upon TkInter approach. That developer switched the UI to Java. I’ve forgotten the reasons why, but I suspect a lot of resume building was going on, rather than TkInter not being able to do the job. By the way, this was an application that performed a VPN connection, not a spreadsheet. All the application had to do was do its job or report an error.
I am happy with my choice to continue to learn Clojure. If I never use it a lot in a production environment, I have already gained from the learning experience so far. My thinking has already started improving.
And while some languages may be the most ideal, pure, able to save the world, or whatever, we continue to use what is in our environment to the best of our abilities.