On the flight to the ISO C standards meeting this morning, I was reading this month’s issue of CACM, and found that Sir C.A.R. (Tony) Hoare wrote a nice piece called Retrospective: An Axiomatic Basis for Computer Programming.
Hoare has long been a noted proponent of axioms and formal proofs of program correctness. In that light, [...]
Archive for the ‘Software Development’ Category
Hoare on Testing
Posted in Software Development on October 26, 2009 | 2 Comments »
A Concurrency Poll
Posted in Concurrency, Software Development on October 21, 2009 | 7 Comments »
I’ve opened up a short concurrency poll to get a sense of what concurrency issues are top-of-mind for programmers, and I’d appreciate it if you could take a few minutes to participate. Some questions are about what you want to learn more about, others about your tools of choice in specific areas, and a few [...]
Effective Concurrency: Avoid Exposing Concurrency – Hide It Inside Synchronous Methods
Posted in C# / .NET, C++, Concurrency, Effective Concurrency, Software Development on October 12, 2009 | 4 Comments »
This month’s Effective Concurrency column, Avoid Exposing Concurrency – Hide It Inside Synchronous Methods, is now live on DDJ’s website.
From the article:
You have a mass of existing code and want to add concurrency. Where do you start?
Let’s say you need to migrate existing code to take advantage of concurrent execution or scale on parallel hardware. [...]
Effective Concurrency: Design for Manycore Systems
Posted in Concurrency, Hardware, Opinion & Editorial, Software Development on August 11, 2009 | 5 Comments »
This month’s Effective Concurrency column, Design for Manycore Systems, is now live on DDJ’s website.
From the article:
Why worry about “manycore” today?
Dual- and quad-core computers are obviously here to stay for mainstream desktops and notebooks. But do we really need to think about "many-core" systems if we’re building a typical mainstream application right now? I find [...]
Effective Concurrency: The Power of “In Progress”
Posted in Concurrency, Software Development on July 15, 2009 | 3 Comments »
This month’s Effective Concurrency column, The Power of “In Progress”, is now live on DDJ’s website.
From the article:
Don’t let a long-running operation take hostages. When some work that takes a long time to complete holds exclusive access to one or more popular shared resources, such as a thread or a mutex that controls access to [...]
Effective Concurrency: Eliminate False Sharing
Posted in C# / .NET, C++, Concurrency, Hardware, Software Development on May 15, 2009 | 10 Comments »
This month’s Effective Concurrency column, “Eliminate False Sharing”, is now live on DDJ’s website.
People keep writing asking me about my previous mentions of false sharing, even debating whether it’s really a problem. So this month I decided to treat it in depth, including:
A compelling and realistic example where just changing a couple of lines to [...]
Effective Concurrency: Use Thread Pools Correctly – Keep Tasks Short and Nonblocking
Posted in Concurrency, Software Development on April 20, 2009 | 2 Comments »
This month’s Effective Concurrency column, “Use Thread Pools Correctly: Keep Tasks Short and Nonblocking”, is now live on DDJ’s website.
From the article:
… But the thread pool is a leaky abstraction. That is, the pool hides a lot of details from us, but to use it effectively we do need to be aware of some things [...]
New Dates for Effective Concurrency Seminar in Europe: May 27-29, Stockholm, Sweden
Posted in Concurrency, Software Development, Talks & Events on March 30, 2009 | 2 Comments »
Now that I’m over the icky flu that forced me to postpone the seminar two weeks ago, I’m happy to say that we have new dates: Effective Concurrency (Europe) will be held on May 27-29, 2009, in Stockholm, Sweden. I’ll cover the following topics:
Fundamentals: Define basic concurrency goals and requirements • Understand applications’ scalability needs [...]
RIP: SD Conferences
Posted in Software Development, Talks & Events on March 24, 2009 | 2 Comments »
The latest casualties in the technical education world are the Software Development conferences – SD West, SD Best Practices, and Architecture & Design World – which are being discontinued effective immediately, making the SD West that was just held earlier this month the last of its kind. The conferences were run by the same company [...]
Effective Concurrency: Use Threads Correctly = Isolation + Asynchronous Messages
Posted in Concurrency, Software Development on March 16, 2009 | 6 Comments »
This month’s Effective Concurrency column, “Use Threads Correctly = Isolation + Asynchronous Messages”, is now live on DDJ’s website.
From the article:
Explicit threads are undisciplined. They need some structure to keep them in line. In this column, we’re going to see what that structure is, as we motivate and illustrate best practices for using threads — [...]