<i>&quot;halting is not the property most people care about&quot;</i><p>I agree that non-Turing complete languages are hugely interesting and likely to be more important as we go forward.<p>But not for this reason.  Most of the non-trivial properties people <i>do</i> care about can be used to tell you if a program is going to halt in a finite amount of time.  Want an upper bound on memory?  This program doesn&#x27;t have one?  Well, then it never halts.  It has one?  Well, then we know it halts or loops within 2^bits steps - run it for that many steps and you know which.<p>I think non-Turing-complete will prove interesting because our programs are currently <i>described</i> in Turing complete languages, but run in more constrained contexts anyway.  A program that always halts after running for 2^100 steps is not Turing complete.  A program that halts if it tries to use more than 2^100 bytes of memory is not Turing complete.  Applying these constraints in this way doesn&#x27;t help us with analysis much, but it hints that we can probably find other ways to constrain our programs which won&#x27;t get in the way of what we&#x27;re trying to accomplish, and it&#x27;s quite possible that some of those will let us build languages more amenable to analysis (and further possible that the gains in analysis will make up for a limited amount of getting-in-the-way).