Quite so. Most of the developers I mentioned above spend much of their time talking to databases. They're used to races (the system is highly concurrent, with the concurrency isolated in separate processes communicating via the database), but they're largely protected from TOCTTOU by the database's transactionality. So they never learnt about it.
Waiting for perfect appliation code == stupid plan
Posted Jun 8, 2010 23:46 UTC (Tue) by jschrod (subscriber, #1646)
[Link]
Exactly. It's not that there are no atomicity problems in their development work, but the developers are not affected as it is handled by middleware or frameworks.
The only place where I see that they meet concurrency and all its associated problems are Java web applications with session state. And then they mark all methods of the respective session bean classes as "synchronized", without ever analyzing if it's needed or if it's sufficient. Well, most of them wouldn't know how to analyze it in the first place; cargo cult programming at its best.
And that's not limited to specific customers; I make the same observation in finance (not the equity departments, though), automotive, and telco companies.
Waiting for perfect appliation code == stupid plan
Posted Jun 9, 2010 12:07 UTC (Wed) by nix (subscriber, #2304)
[Link]
Exactly. Concurrency is hard enough that most people can't handle it. This is surely not news.