When you hit a key on your keyboard, the delay before the letter appear on your screen is mildly annoying. When you're in a warship under enemy attack, having a delay before new radar information shows up would be deadly. In a nutshell, that's the difference between general-purpose and real-time programming.
The difference, however, can be less obvious in business settings.
Not knowing when real-time applications are needed is a common mistake companies and software developers make, Eric Bruno and Greg Bollella, authors of Real-time Java Programming with Java RTS, told me recently.
"Some companies have real-time requirements but don't interpret them as such," said Greg Bollella, a Sun Microsystems distinguished engineer who leads R&D for real-time Java. An example would be financial companies involved in stock trading. "Often, they try to force a general-purpose system to behave as if it is a real-time system."
For the most part, those efforts fail. "Response times are too slow, and code can become very fragile," said Bruno, who has broad experience working on software design and architecture on financial trading and data and real-time news delivery.
In this video excerpt of our interview, Bollella and Bruno discuss this common mistake and others made in real-time Java programming.