If you have 3 cars in a row, and the first car spots a problem, it can't start braking until after the 2nd car has started, but the 2nd car can't start braking until after the 3rd car has started.
It gets linearly more dangerous as more cars are added.
Not saying it can't be done, but the problem is more subtle than just working out how to stop the cars from crashing into each other at speed: they also need to be able to brake in emergencies without crashing into each other.
Possibly the way to do it would be to mechanically couple the cars like a train, so that it is safe for the one in front to start braking earlier than the one behind, albeit with reduced performance.
I don't actually know how long it takes between the computer deciding to brake and the car actually starting to slow down, but I expect you can't just throw out a message saying "I'm braking immediately" and start braking without any kind of confirmation that the message was received, and expect it to be OK.
But maybe you can afford to wait for a confirmation? The speed of light is pretty fast, and you're not transmitting that many bytes.
Especially if you consider that a human could easily take 200 milliseconds to react to something even if it's really paying attention. You could request a braking confirmation from the other side of the Atlantic and still come out ahead!
Never going to happen so long as potholes and poorly patched roads exist.
I think the plan for early autonomous driving is the first one in the line will have a human driver, and the others will follow autonomously in convoy.