My position represents either a sub-department or department of one. There is only one person in our municipality doing my kind of work, and a very knowledgeable consultant works with me. As my retirement looms in the next few years, I do not want to be known as someone who left a tangled mess. After all, more than a decade ago, I inherited just that because of the untimely passing of my predecessor, another one-person band. The mess was undocumented, uncommented Informix 4GL source code, virtually no build, no source code control, and no systems documentation.
The consultant with whom I work wants to standardize on the implementation language we use, and I agree with him. We haven’t chosen Perl because we think it is the best, but because a lot of people know it, and it works well for standalone and web applications. In our opinion, it doesn’t beat PHP for the web, but in a dual role works well for CGI and command-line, unattended applications.
After learning Clojure, I would rather write in it, even after having invested a store/forward configuration/meter reads system in Python. But, there is that trying to standardize thing I mentioned previously. So, I am going to take the advice I saw on one of the bulletin boards to someone just starting out. Write something and show it.
What I write will be tools on which someone coming into my job won’t have to maintain or reproduce, at least at the start. The rest of it, including a MySQL database crawler to keep the number of daily reads manageable at 14M rows of data, will be done in Perl. All of the people who said Clojure would affect my thinking even if I only learned it and never used it much were not kidding. My problem with Clojure is having to use something else. I guess that is a good thing for Clojure.