acm-header
Sign In

Communications of the ACM

BLOG@CACM


bg-corner

Why Are There So Many Programming Languages?
From BLOG@CACM

Why Are There So Many Programming Languages?

Most languages differ less in what they make possible, and more in terms of what they make easy. 

Enterprise Metrics and Optimization
From BLOG@CACM

Enterprise Metrics and Optimization

Metrics are critical; without them, you are flying blind.  But be careful what you try to optimize, because you might just get it.

Developing Technical Leaders
From BLOG@CACM

Developing Technical Leaders

How does one get to Carnegie Hall?

Making Bad Decisions
From BLOG@CACM

Making Bad Decisions

In software engineering, many technical decisions are context-dependent, and there are often complex edge cases to consider. 

Blockchain For What, Exactly?
From BLOG@CACM

Blockchain For What, Exactly?

Considering the real-world consequences of blockchain hype.

Log4j and the Thankless High-Risk Task of Managing Software Component Upgrades
From BLOG@CACM

Log4j and the Thankless High-Risk Task of Managing Software Component Upgrades

Managing included versions of third-party software components too often puts developers in no-win situations.

Software Stories: Legal Trouble
From BLOG@CACM

Software Stories: Legal Trouble

Legal troubles represent another collection of potential pitfalls where developers often find themselves unprepared. 

Reinforcing Computer Science Education
From BLOG@CACM

Reinforcing Computer Science Education

What do computer science students need to know to be successful in industry?

Software Quotes and Counter Quotes
From BLOG@CACM

Software Quotes and Counter Quotes

Certain phrases and motifs are repeated in software efforts.

Tech Meetups In A Pandemic
From BLOG@CACM

Tech Meetups In A Pandemic

By 2019, I generally thought there wasn't much that could surprise me about organizing meetups. Then Covid-19 hit. I was so wrong.

Design Orientation and Optimization
From BLOG@CACM

Design Orientation and Optimization

Considering how to concurrently maximize output via vertical and horizontal optimization.

Software Learning: The Art Of Design Regret
From BLOG@CACM

Software Learning: The Art Of Design Regret

How should software engineers try to classify their reflections?
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account