Comment Re: Perl (Score 1) 536
Serious problems like avionics, medical software, space-probes, life-support. Critical applications. Where errors and bugs are absolutely unacceptable. Or back-end OS software, or server software where you care about speed of execution.
Not ALL problems however exist in that abstract problem domain.
And this is the bit you're getting wrong. Turing-completeness has deeper ramifications than the ability simulate a Turing machine. It has to do with computability. The question of CAN we describe an algorithm to do X. And it turns out that if you have some basic building blocks like the ability to branch and remember things (and an infinite amount of space to work with), then you can compute anything that any other Turing complete machine could do.
High level languages lack the expressive capability to exert precise direct control over the hardware.
You can't write a device driver for a peripheral card in Lisp, because you need memory and port mapped IO, and Lisp lacks the ability to address the hardware directly.
As does EVERY language. Even Assembly. Microsoft's masm, or yasm are specific programs that know how to map x86 hardware to software, but the exact same thing can be done for a Lisp compiler. You're confusing an implementation of a language with the language itself. I could say that the KEIL51 C compiler gives me special function registers, sfrs, which are mapped to the 8051's serial port. BAM! just the same functionality that the assembler gives. Either you consider that an aspect of the language or you don't, but assembly, C, and Lisp are all in the same boat.