acm-header
Sign In

Communications of the ACM

Latest Practice



Maximizing Power Efficiency with Asymmetric Multicore Systems
From Communications of the ACM

Maximizing Power Efficiency with Asymmetric Multicore Systems

How do we develop software to make the most of the promise that asymmetric multicore systems use a lot less energy?

You Don't Know Jack About Software Maintenance
From Communications of the ACM

You Don't Know Jack About Software Maintenance

Long considered an afterthought, software maintenance is easiest and most effective when built into a system from the ground up.

Monitoring and Control of Large Systems With MonALISA
From Communications of the ACM

Monitoring and Control of Large Systems With MonALISA

MonALISA developers describe how it works, the key design principles behind it, and the biggest technical challenges in building it.

Reveling in Constraints
From Communications of the ACM

Reveling in Constraints

The Google Web Toolkit is an end-run around Web development obstacles.

CTO Roundtable
From Communications of the ACM

CTO Roundtable: Cloud Computing

The age of cloud computing has begun. How can companies take advantage of the new opportunities it provides?

The Five-Minute Rule 20 Years Later
From Communications of the ACM

The Five-Minute Rule 20 Years Later

Revisiting Gray and Putzolu's famous rule in the age of Flash.

Whither Sockets?
From Communications of the ACM

Whither Sockets?

The pervasive and long-lasting sockets API has remained largely unchanged since 1982. How have developers worked around its inherent limitations and what is the...

Hard-Disk Drives: The Good, the Bad, and the Ugly
From Communications of the ACM

Hard-Disk Drives: The Good, the Bad, and the Ugly

New drive technologies and increased capacities create new categories of failure modes that will influence system designs.

Debugging AJAX in Production
From Communications of the ACM

Debugging AJAX in Production

Lacking proper browser support, what steps can we take to debug production AJAX code?

API Design Matters
From Communications of the ACM

API Design Matters

It is very easy to create a bad API and rather difficult to create a good one.  Recent APIs implemented in modern programming languages make the same mistakes as...

ORM in Dynamic Languages
From Communications of the ACM

ORM in Dynamic Languages

Dynamic languages offer a taste of object-relational mapping that eases application code.

Purpose-Built Languages
From Communications of the ACM

Purpose-Built Languages

The ecosystem of purpose-built languages is a key part of systems development.

Erlang For Concurrent Programming
From Communications of the ACM

Erlang For Concurrent Programming

Designed for concurrency from the ground up, the Erlang language can be a valuable tool to help solve concurrent problems.

Better Scripts, Better Games
From Communications of the ACM

Better Scripts, Better Games

Smarter, more powerful scripting languages will improve game performance while making gameplay development more efficient.

Parallel Programming with Transactional Memory
From Communications of the ACM

Parallel Programming with Transactional Memory

While still primarily a research project, transactional memory shows promise for making parallel programming easier.

High-Performance Web Sites
From Communications of the ACM

High-Performance Web Sites

Want to make your Web site fly? Focus on frontend performance.

CTO Virtualization Roundtable
From Communications of the ACM

CTO Virtualization Roundtable: Part II

When it comes to virtualization platforms, experts say focus first on the services to be delivered.

Software Transactional Memory: Why Is It Only a Research Toy?
From Communications of the ACM

Software Transactional Memory: Why Is It Only a Research Toy?

The promise of STM may likely be undermined by its overheads and workload applicabilities.

Real-World Concurrency
From Communications of the ACM

Real-World Concurrency

What does the proliferation of concurrency mean for the software you develop?

CTO Roundtable on Virtualization
From Communications of the ACM

CTO Roundtable on Virtualization: Part I

Virtualization technology is hot again, but for the right reasons?
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account