Eiffel SCOOP: object-oriented concurrency without the pain

Why go parallel?

That much is a given: the future of information technology involves concurrent programming. For flexibility and business value, most programs require multithreading. Network and Web awareness pervade our programs, introducing concurrency requirements at every step. And with the “end of Moore’s law as we know it”, the free ride is over: performance increases do not come from the hardware any more, but require taking advantage of parallel architecture.

Actually the consensus does not stop here. Everyone who has tried object-oriented concurrent programming know it’s hard. Even the New York Times chipped in, citing industry luminaries such as Bill Gates and Andrew Grove, founder of Intel, to the effect that no one really knows how to program concurrent applications simply and effectively. The US National Academy of Sciences wrote that only “hero programmers” can master concurrency today.

But we don’t need an academy report to find out what every programmer who has tried concurrency knows: it’s tough, very tough. With the usual techniques, such as threading frameworks for Java, C++ and C#, data races and deadlocks lurk at every corner. Decades of academic research has made hardly more than a dent into the problem: a multithreaded program can work for a while and suddenly go bust; no amount of testing or debugging will rule out these nightmare scenarios.

Why go parallel with SCOOP?

Enter SCOOP: Simple Concurrent Object-Oriented Programming. SCOOP is a small language extension — one keyword — that revolutionizes the world of concurrent programming by enabling you to keep your usual modes of reasoning, honed over decades of progress in software engineering, in a concurrent context.

The simple expressive mechanisms of SCOOP enable programmers to tackle even the most demanding concurrent applications in a simple and clear way, leaving all the difficult details to the implementation. The correctness of programs is easy to establish, without the need for painful debugging. Concurrency ceases to be a formidable barrier, becoming a natural complement to the modern programming techniques that you already master.

Can concurrency really be simple? I thought it was high-priest stuff! Click here to see a short example showing how simple the classic concurrency examples become with SCOOP. For a more in-depth presentation, read the SCOOP section of our documentation or listen to the SCOOP video. How do I get more information on SCOOP?

Can concurrency really be simple? I thought it was high-priest stuff!

Click here to see a short example showing how simple the classic concurrency examples become with SCOOP. For a more in-depth presentation, read the SCOOP section in the Eiffel Documentation or watch to the SCOOP video.

How do I get SCOOP?

SCOOP is available for download as part of EiffelStudio.