acm-header
Sign In

Communications of the ACM

Latest Practice



Java Security Architecture Revisited
From Communications of the ACM

Java Security Architecture Revisited

Difficult technical problems and tough business challenges.

OCaml For the Masses
From Communications of the ACM

OCaml For the Masses

Why the next language you learn should be functional.

Abstraction in Hardware System Design
From Communications of the ACM

Abstraction in Hardware System Design

Applying lessons from software languages to hardware languages using Bluespec SystemVerilog.

The World According to LINQ
From Communications of the ACM

The World According to LINQ

Big data is about more than size, and LINQ is more than up to the task.

Verification of Safety-Critical Software
From Communications of the ACM

Verification of Safety-Critical Software

Avionics software safety certification is achieved through objective-based standards.

ACM CTO Roundtable on Mobile Devices in the Enterprise
From Communications of the ACM

ACM CTO Roundtable on Mobile Devices in the Enterprise

Finding solutions as growth and fragmentation complicate mobile device support.

The Most Expensive One-Byte Mistake
From Communications of the ACM

The Most Expensive One-Byte Mistake

Did Ken, Dennis, and Brian choose wrong with NUL-terminated text strings?

Arrogance in Business Planning
From Communications of the ACM

Arrogance in Business Planning

Technology business plans that assume no competition — ever.

The Robustness Principle Reconsidered
From Communications of the ACM

The Robustness Principle Reconsidered

In 1981, Jon Postel formulated the Robustness Principle. Although described for implementations of TCP, it was quickly accepted as a...

Computing Without Processors
From Communications of the ACM

Computing Without Processors

Heterogeneous systems allow us to target our programming to the appropriate environment.

The Pain of Implementing LINQ Providers
From Communications of the ACM

The Pain of Implementing LINQ Providers

It's no easy task for NoSQL.

Passing a Language Through the Eye of a Needle
From Communications of the ACM

Passing a Language Through the Eye of a Needle

How the embeddability of Lua impacted its design.

DSL For the Uninitiated
From Communications of the ACM

DSL For the Uninitiated

Domain-specific languages bridge the semantic gap in programming.

Microsoft's Protocol Documentation Program
From Communications of the ACM

Microsoft's Protocol Documentation Program: Interoperability Testing at Scale

A discussion with Nico Kicillof, Wolfgang Grieskamp, and Bob Binder.

If You Have Too Much Data, Then 'Good Enough' Is Good Enough
From Communications of the ACM

If You Have Too Much Data, Then 'Good Enough' Is Good Enough

In today's humongous database systems, clarity may be relaxed, but business needs can still be met.

Scalable SQL
From Communications of the ACM

Scalable SQL

How do large-scale sites and applications remain SQL-based?

Does Deterrence Work in Reducing Information Security Policy Abuse By Employees?
From Communications of the ACM

Does Deterrence Work in Reducing Information Security Policy Abuse By Employees?

Methods for evaluating and effectively managing the security behavior of employees.

The One-Second War
From Communications of the ACM

The One-Second War

Finding a lasting solution to the leap seconds problem has become increasingly urgent.

Mobile Application Development
From Communications of the ACM

Mobile Application Development: Web vs. Native

Web apps are cheaper to develop and deploy than native apps, but can they match the native user experience?

Weapons of Mass Assignment
From Communications of the ACM

Weapons of Mass Assignment

A Ruby on Rails app highlights some serious, yet easily avoided, security vulnerabilities.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account