Job Control Language
IBM's Job Control Language (JCL) was the basic tool for moving data, dealing with cost allocation, and invoking applications in the early days of the 360-series mainframe -- and it's doing the same job today. In its early incarnations JCL was a comma-delimited language that was considerably easier for machines to understand than for humans to write, a situation that reflected the relative importance and cost of the two resources. Today, it's easier for humans to deal with and much more interactive, but it's still a central part of the mainframe experience for thousands upon thousands of admins and programmers. One thing that hasn't changed for JCL is that it is, essentially, a control language for batch jobs. In our always-on, instant-gratification world it's hard for some people to imagine that there are still batch jobs, but any organization with the sort of IT demands that need a mainframe still has plenty of tasks that are run via batch jobs. Wherever there's a batch job, there you'll find JCL.