user4287: Charles Hoskinson indicated in this tweet that he favors the term "programmable validator" to the term "smart contract" with regard to Cardano.
Quoting the tweet Charles Hoskinson is responding to, "In Cardano, "smart-contracts" tend to refer to the combination of the on-chain validator(s) and the off-chain code that's driving it / them."
Here's what I've gathered so far.  (This is speculation.  Please do not believe it and please do correct it in the answers and comments.)
All operations (and data) necessary for Cardano to function are executed (and stored) on 3rd party-owned compute resources known as "validation nodes" (with the caveat that Cardano itself owns a number of "validation nodes").  The results returned by these 3rd parties can be trusted, statically speaking, thanks to redundancy -- each operation is performed by all nodes in a random sample of validation nodes, and results are checked against each other.
This also describes code running "on-chain" and AFAIK is similar to how contracts execute on Ethereum.
All blockchains have "off-chain" code driving the miners or validators.
Are all these statements correct?  If not please correct me and if so, what's the big difference between Cardano contracts and contracts on other chains alluded to in the above tweets?

user1130: You are asking a few questions here, so I'll try my best to point you in the right direction. I feel like KtorZ did a great job explaining it, but it doesn't hurt to put it into different words.

Terminology
Validator or Validator Script: (not to be confused with validation nodes) Code used to say "yes" or "no" to transactions spending UTxOs at the script address
Minting Policy: Code used to say "yes" or "no" to transactions forging tokens from the policy address
On-Chain Code: Validator Scripts and Minting Policies (for the most part). This code is run by the validation nodes in conjunction with relevant transactions.
Off-Chain Code: Code for building and submitting transactions. Typically referring to wallet code, but technically the Cardano CLI can fulfill the same role to some extent

Background
A common misconception about Cardano "smart contracts" is that the "on-chain" code is a program. That you send some "smart contract" to live on the blockchain and it "runs" or "executes" like a normal program with processes and state.
This is wrong.
In reality, the "on-chain" code is just used passively to validate transactions. It just says "yes" or "no".
So, "off-chain" you can build whatever transaction you want: mint a million stable coins or take all the liquidity of a DEX for your own. The "on-chain" Minting Policies and Validator Scripts are what keep you from doing that. The "on-chain" code doesn't do anything, it just keeps you from doing bad things.

Answer
This is the distinction I think people are trying to make.

What's the difference between programmable validators and smart contracts?

Smart contracts on other chains are pieces of code that have shared, mutable state and imperative logic to change that state. More similar to programs people are used to writing.
On Cardano, state may be stored on chain, but the logic of how to change state lives off-chain and the on-chain code just validates your transaction. It will never produce anything or change state for you.
One might call other chains' model "smart contracts" and Cardano's model "programmable validators". What's important is that they achieve the same goal with different paradigms.

4287: <p>Charles Hoskinson indicated in <a href="https://twitter.com/IOHK_Charles/status/1439386177220403204" rel="nofollow noreferrer">this tweet</a> that he favors the term &quot;programmable validator&quot; to the term &quot;smart contract&quot; with regard to Cardano.</p>
<p>Quoting the tweet Charles Hoskinson is responding to, &quot;In Cardano, &quot;smart-contracts&quot; tend to refer to the combination of the on-chain validator(s) and the off-chain code that's driving it / them.&quot;</p>
<p>Here's what I've gathered so far.  (This is speculation.  Please do not believe it and please do correct it in the answers and comments.)</p>
<p>All operations (and data) necessary for Cardano to function are executed (and stored) on 3rd party-owned compute resources known as &quot;validation nodes&quot; (with the caveat that Cardano itself owns a number of &quot;validation nodes&quot;).  The results returned by these 3rd parties can be trusted, statically speaking, thanks to redundancy -- each operation is performed by all nodes in a random sample of validation nodes, and results are checked against each other.</p>
<p>This also describes <a href="https://cardano.stackexchange.com/questions/219/whats-the-difference-between-on-chain-and-off-chain-in-plutus-smart-contract">code running &quot;on-chain&quot;</a> and AFAIK is similar to how contracts execute on Ethereum.</p>
<p>All blockchains have &quot;off-chain&quot; code driving the miners or validators.</p>
<p>Are all these statements correct?  If not please correct me and if so, what's the big difference between Cardano contracts and contracts on other chains alluded to in the above tweets?</p>
 1130: <p>You are asking a few questions here, so I'll try my best to point you in the right direction. I feel like <a href="https://twitter.com/_KtorZ_/status/1439168735810555906?s=20" rel="noreferrer">KtorZ</a> did a great job explaining it, but it doesn't hurt to put it into different words.</p>
<hr />
<p><strong>Terminology</strong></p>
<p><strong>Validator</strong> or <strong>Validator Script</strong>: (not to be confused with validation nodes) Code used to say &quot;yes&quot; or &quot;no&quot; to transactions spending UTxOs at the script address</p>
<p><strong>Minting Policy</strong>: Code used to say &quot;yes&quot; or &quot;no&quot; to transactions forging tokens from the policy address</p>
<p><strong>On-Chain Code</strong>: Validator Scripts and Minting Policies (for the most part). This code is run by the validation nodes in conjunction with relevant transactions.</p>
<p><strong>Off-Chain Code</strong>: Code for building and submitting transactions. Typically referring to wallet code, but technically the Cardano CLI can fulfill the same role to some extent</p>
<hr />
<p><strong>Background</strong></p>
<p>A common misconception about Cardano &quot;smart contracts&quot; is that the &quot;on-chain&quot; code is a program. That you send some &quot;smart contract&quot; to live on the blockchain and it &quot;runs&quot; or &quot;executes&quot; like a normal program with processes and state.</p>
<p>This is wrong.</p>
<p>In reality, the &quot;on-chain&quot; code is just used passively to validate transactions. It just says &quot;yes&quot; or &quot;no&quot;.</p>
<p>So, &quot;off-chain&quot; you can build whatever transaction you want: mint a million stable coins or take all the liquidity of a DEX for your own. The &quot;on-chain&quot; Minting Policies and Validator Scripts are what keep you from doing that. The &quot;on-chain&quot; code doesn't do anything, it just keeps you from doing bad things.</p>
<hr />
<p><strong>Answer</strong></p>
<p>This is the distinction I think people are trying to make.</p>
<blockquote>
<p>What's the difference between programmable validators and smart contracts?</p>
</blockquote>
<p>Smart contracts on other chains are pieces of code that have shared, mutable state and imperative logic to change that state. More similar to programs people are used to writing.</p>
<p>On Cardano, state may be stored on chain, but the logic of how to change state lives off-chain and the on-chain code just validates your transaction. It will never produce anything or change state for you.</p>
<p>One might call other chains' model &quot;smart contracts&quot; and Cardano's model &quot;programmable validators&quot;. What's important is that they achieve the same goal with different paradigms.</p>
