DSL means digital subscriber line, ADSL is usually what it actually is, the A stands for asymmetric, it trades off upload bandwidth for download.
DSL also can mean Domain Specific Language, a concept where you use a language syntax to create another language specific to a task. it makes really neat forms, often uses chained methods where all of the methods pass the receiver through so you can chain method calls together (though this can get tricky when you need to push stuff out, for that usually you use pointers)