Technically any loop can be unrolled into a sufficiently deep linear sequence. Technically it can be done, but good luck conceiving of solutions to routine problems without while loops, for loops or recursion. It can be done, but you have to think harder, write much longer / more repetitive code, and looking at the sort of code that doesn't contain insights about the problem.

So, back-propagation with sufficiently deep neural networks. Technically you could use it. You could throw a huge amount of silicon and brain power at any problem and eventually hammer that screw right into the wall. Or you could try slightly more realistic models of neurons and hope to find disproportionate increases in the abilities over the previous model. I think its already clear which one I'm in favor of.

Just to make this extremely explicit, the thing I think is missing from artificial neural networks is harmonic waves. There's a body of evidence that representation of thought is done with brain waves, not the states of individual neurons[1]. When you move to a wave view of neural networks a handful of very sophisticated operations emerge naturally such as autocorrelation (effectively a time windowed fourier transform). Sure you could program the fourier transform, or even worse get an optimizer to implicitly learn it after some outrageous number of man hours, but in this analog wave view of brain activity we get it with structures so simple they could have happened by accident. I'm being extremely literal when I say "you are what you get in return when you ask yourself". The voice in your head is literal the echos of the question bouncing around in your skull (albeit electro-chemically rather than acoustically).

I am arguing that consciousness, that is to say the train of thought in your head, is definitionally what happens when the conversational abilities of understanding utterances and forming responses get fed into each other. Consciousness is nothing more than talking to someone who happens to be yourself. Maybe my definition doesn't have universal acceptance, but it at least gives a meaningful concrete answer to what is meant by consciousness.

You've far and away missed the point on "grounding in reality". It has nothing to do with randomness or free will or religion. I didn't hint at anything of the sort.

Someone once said something profound to me. "In a programming language, no matter how much complexity or abstraction there is in a command, everything eventually resolves down to instructions to physically move some electric charges at a physical location in memory." Something similar applies to natural languages. Every sentence and though eventually resolves down to representing physical and tangible things in our reality. When you try to trace through the dependency tree of the dictionary, you eventually reach words which can't be broken into simpler parts. Those are the words that "ground" the language in our physical reality, representing objects in the outside 1 to 1. Every language, be it natural or programming or something else, has some form of grounding. Language has to be about something. But the underlying thing its about can very simple. It can be as simple as an order book.

To any conscious entities that emerged in such an accidental medium, the order book is their reality. They wouldn't know of or be equipped to reason about any other form of existence. Their form of existence is no better nor worse than any other consciousness grounded in the reality of any other language. It doesn't matter much what the underlying objects of the problem domain are. I picked trading bots as my example, but I could have picked any other domain where agents 1) share the same playing field 2) have some competing interests to optimize and 3) could use objects of the domain for signaling purposes (ideally at low cost).

[1]https://www.nature.com/articles/ncomms10340