Empirical Study On How C Devs Use Goto In Practice Says "Not Harmful"
Edsger Dijkstra famously opined in 1968 on the danger of Goto statements. New submitter Mei Nagappan writes with a mellower view, nearly 50 years later: By qualitatively and quantitatively analyzing a statistically valid random sample from almost 2 million C files and 11K+ projects, we find that developers limit themselves to using goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that goto does not appear to be harmful in practice.
(Here's the preprint linked from above abstract.)
If anyone's particularly interested in coroutines, we in the ScummVM project, which provides a reimplementation of lots of old classic adventure games, implemented a fairly clean C++ coroutine implementation, which we already use for two different games were originally threaded. ScummVM runs on a variety of different hardware, not all of which support threading, so we had to come up with a way to run these games using only a single thread. See https://github.com/scummvm/scu... and coroutines.cpp if you're interested.