Programming in legal practice