In a compelling lecture from University of Virginia’s Computer Science department in Spring 2001, Edsger W.Dijkstra addresses how we navigate sharing difficult truths within our field – especially when these revelations may cause discomfort or challenge established norms. He highlights the struggles faced by Computing Science due to its reluctance to confront harsh realities and calls for courageous action against dishonesty, intellectual decay, and loss of integrity in their domain.
Dijkstra lists numerous uncomfortable truths that many computing scientists privately agree upon but remain silent about publicly. These include the complexity of programming compared to other mathematical fields, limitations of certain languages like COBOL or BASIC, dangers posed by tools such as APL and PL/I, inefficiencies in data processing systems due to poor language choices, importance of clear communication skills for effective coding practices, potential collapse of companies overdependent on specific manufacturers’ products (IBM), the fallacy behind “software engineering” claims from non-scientific professionals, deterioration caused by anthropomorphic terminology usage in computing contexts and more.
He concludes with a call to action: acknowledging these issues openly instead of escaping them will ultimately strengthen their discipline rather than destroy it; otherwise, they risk becoming complicit in its decline. Dijkstra ends his message with an unsettling question – if we choose silence over truthfulness now, should we add that decision itself onto the list?
Complete Article after the Jump: Here!