Software Engineering and Programming Languages
The art and science of visualizing data
Anatomy of a compact user interface development tool
A view of the origins and development of Prolog
Parlog86 and the dining logicians
The early years of logic programming
Variations on UNIX for parallel-processing computers
The duality of database structures and design techniques
Self-organizing search lists using probabilistic back-pointers
Economies of scale in computing: Grosch’s law revisited
A proposed solution to the problem of levels in error-message generation
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More