Journal Articles

CVu Journal Vol 28, #6 - January 2017 + Journal Editorial
Browse in : All > Journals > CVu > 286 (10)
All > Journal Columns > Editorial (221)
Any of these categories - All of these categories

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Editorial: No obvious deficiencies

Author: Martin Moene

Date: 10 January 2017 21:05:02 +00:00 or Tue, 10 January 2017 21:05:02 +00:00

Summary: 

Body: 

Edsger Dijkstra didn’t approve of the term ‘bug’ when talking or writing about code, preferring instead the more brutal – and honest – ‘error’. He was also an advocate of being able to formally prove code correctness, and famously spoke out against the unrestricted use of the goto statement. Much of his writing covered what was termed ‘The Software Crisis’, coined in 1968 to describe the fact that developments in computer hardware out-stripped those in software, resulting in a programming industry unable to produce software that could take advantage of it reliably. The crisis was really about complexity. As hardware became more capable, software had responded by becoming more complex to the point that it could no longer be understood by its creators. What Dijkstra, Tony Hoare, and others, identified was that the solution should be more simplicity.

Then they had a new crisis, because they knew they had no idea how to achieve it. In 1999, Dijkstra told the ACM Symposium on Applied Computing that “we have to keep the design simple [...] but we do not know how to reach simplicity in a systematic manner.” The software industry as a whole is still struggling with this. We have found ways to solve ever more difficult problems, produce increasingly sophisticated systems, and have developed techniques and practices that address some of the issues of the 1970s and 80s regarding project management, software testing, parallelism and high-level abstractions. In doing so, however, we have introduced new complexity.

We have become so successful at applying technology and computing that it appears (to me, anyway) that we think we can apply it to anything. And we do so without apparently much thought for the consequences. The Internet of Things is growing, and already the lack of security in these devices is being called a Crisis. It is, at its heart, a software problem, so it’s up to us – the programmers – to do something about it. The Software Crisis of the 1970s/80s never ended, it just changed its stripes to blend in.

Notes: 

More fields may be available via dynamicdata ..