acm-header
Sign In

Communications of the ACM

BLOG@CACM


Refine your search:
dateMore Than a Year Ago
subjectSoftware
authorDoug Meil
bg-corner

The Perils of 'Stay In Your Lane'
From BLOG@CACM

The Perils of 'Stay In Your Lane'

That phrase translates roughly to "do your job and let others do theirs," but in our division, it was intended to stifle troublesome question-asking.

The Confounding Saga of Java Web Application Development
From BLOG@CACM

The Confounding Saga of Java Web Application Development

Something that has long frustrated me with the Java ecosystem was the number of Web application frameworks. 

Lessons from PL/I:  A Most Ambitious Programming Language
From BLOG@CACM

Lessons from PL/I: A Most Ambitious Programming Language

PL/I stands for Programming Language 1, and its aim was to be the Highlander of programming languages. 

The Hadoop Ecosystem's Continued Impact
From BLOG@CACM

The Hadoop Ecosystem's Continued Impact

Hadoop owed much to the Google GFS, MapReduce, and BigTable papers, but it was also a response to a broader technology community need. 

Enabling AI Projects In An Enterprise
From BLOG@CACM

Enabling AI Projects In An Enterprise

Identifying the development behaviors that have the highest chance of success for artificial intelligence efforts.

Inorganic Growth In Tech: Getting Shredded with Acquisitions
From BLOG@CACM

Inorganic Growth In Tech: Getting Shredded with Acquisitions

Acquisitions happen quite often in the tech industry and are far more complicated to pull off successfully than popping a pill.

The Continual Re-Creation Of The Key-Value Datastore
From BLOG@CACM

The Continual Re-Creation Of The Key-Value Datastore

The evolution of single machine key-value stores.

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.

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.

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?

The Art Of Speedy Systems Conversions
From BLOG@CACM

The Art Of Speedy Systems Conversions

System conversions represent a type of development in which project scope includes all the effort of an initial software release, plus an entirely new set of complexities...

Anna Karenina On Development Methodologies
From BLOG@CACM

Anna Karenina On Development Methodologies

The quest for development productivity.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account