Your bank account and credit cards are not programmable money. They don't have smart contracts where third parties can verify the fairness of the financial instruments you are purchasing. All you have is trust in financial institutions.
The only reason why they aren't programmable, is because banks choose not to expose an API. In fact, even that's not completely true: Starling offers programmable bank accounts in the UK, and there is at least one programmable credit card provider in the US.
These are good steps yes. But still, you're at the mercy of fintechs. Also, for this stuff to be really useful, it needs to be standardised worldwide. E.g. Algerian traders should be able to trade with Japanese counterparties by interacting with the same smart contracts.
That I agree with. I just disagree with the assertion that legacy banking is not programmable, because there's nothing that inherently prevents it from working that way (other than bank policy).
Currencies need to be backed by an asset or an entity.
Bitcoin is meaningful only as long as it is a temporary token for transaction like an IOU note. The day it became a "store of value" or asset to be speculated on it is meaningless.