Programming linguistics