http://www.redditmirror.cc/cache/websites/web.archive.org_84...
http://www.redditmirror.cc/cache/websites/web.archive.org_84...
Lets you automate arbitrary boring code submission prerequisite checks (e.g. "you must have a 'Verified' from a maintainer and a 'Code-Review +1' from 1 other person. If you are not the author and the author's email address doesn't end in @example.com you must have an 'IP-Reviewed' from a manager")
https://gerrit-review.googlesource.com/Documentation/prolog-...
Edit: Also, Greenspun's Tenth Rule of Programming:
Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
Eventually you'll figure out to simply double your hourly rate and ask "do you want a bad Haskell implementation to go with that as well ? How about SQL ? Lisp ?"
Don't forget to terminate with "by the way here's my card" (asking them to mention their personal referral code "ID10T") when the inevitable happens, nobody understands that code at all when they have to modify it. And every time they ask you to update it you increase your hourly rate 20%.
You know, management realism. You can be victimized by it, or you can make a living out of it.
EDIT: In very corporate offices like that one, you don't get to use <language of choice> unless it's staying strictly internal (this one had the potential to be released to customers), you have low oversight and can get away with it (not my case), you have a history of choosing wisely (I had little history with them at that point). They prefer to minimize the risk on the maintenance end (NB: doesn't mean they do what's needed to make maintainable code, they do what's needed to make it easy to hire maintainers by sticking to popular languages and frameworks instead).
And completely miss the moment where the new maintainer comes in and says:
"!@#$ why didn't they just write this in prolog? freaking PHB's"