Why Functional Programming Matters John Hughes, Research Topics in Functional Programming, 1990 (based on an earlier Computer Journal paper that appeared in 1989). 1989/1990 must have been a fairly dark time to be a functional programmer. Object-oriented programming was rising in prominence and the dream that industry would pay attention to functional programming looked like … Continue reading Why Functional Programming Matters
Tag: Software Engineering
Mostly posts relating to software design and architecture.
Data on the Outside versus Data on the Inside
Data on the Outside vs Data on the Inside Pat Helland, CIDR 2005 Another (modern) classic today, Pat Helland's wonderful 2005 paper on thinking about data in service oriented architectures. Sticking with the contemporary feel I'm going to write SOA as 'microservices' for the rest of this post. Helland shows us that we need to … Continue reading Data on the Outside versus Data on the Inside
On designing and deploying internet-scale services
On designing and deploying internet-scale services James Hamilton LISA '07 Want to know how to build cloud native applications? You'll be hard-pushed to find a better collection of wisdom, best practices, and hard-won experience than this 2007 paper from James Hamilton. It's amazing to think that all of this knowledge was captured and written down … Continue reading On designing and deploying internet-scale services
Computer programming as an art
Computer Programming as an Art Donald Knuth, 1974 Some programs are elegant, some are exquisite, some are sparkling. My claim is that it is possible to write grand programs, noble programs, truly magnificent ones! How do you follow David Parnas, Fred Brooks, and Tony Hoare? Perhaps with a little Donald Knuth... Today's choice is Knuth's … Continue reading Computer programming as an art
The Emperor’s Old Clothes
The Emperor's Old Clothes C.A.R. Hoare, 1981 Today we'll be looking at Tony Hoare's ACM Turing Award lecture from 1980, as published in the CACM in 1981. It's another piece that had a big influence on my professional career with its emphasis on the pursuit of simplicity, the need to tame complexity and ambition, and … Continue reading The Emperor’s Old Clothes
No Silver Bullet – essence and accident in software engineering
No Silver Bullet: Essence and Accident in Software Engineering Fred Brooks, 1987 We hear desperate cries for a silver bullet - something to make software costs drop as rapidly as computer hardware costs do.... Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will … Continue reading No Silver Bullet – essence and accident in software engineering
On the criteria to be used in decomposing systems into modules
On the criteria to be used in decomposing systems into modules David L Parnas, 1971 Welcome back to a new term of The Morning Paper! I thought I'd kick things off by revisiting a few of my favourite papers from when I very first started this exercise just over two years ago. At that time … Continue reading On the criteria to be used in decomposing systems into modules
Identifying and quantifying architectural debt
Identifying and quantifying architectural debt - Xiao et al., ICSE 2016 (Update: thanks to Lu Xiao for providing an open access version of this paper, the link above has now been updated to point to it.) So finally we have arrived at Xiao et al.'s 2016 ICSE paper (see the write-ups on Design Rule Spaces … Continue reading Identifying and quantifying architectural debt
Hotspot Patterns: The formal definition and automatic detection of architecture smells
Hotspot Patterns: The formal definition and automatic detection of architecture smells - Mo et al. International Conference on Software Architecture, 2015 Yesterday we looked at Design Rule Spaces (DRSpaces) and how some design rule spaces seem to account for large numbers of the error-prone files within a project. Today's paper brings us up to date … Continue reading Hotspot Patterns: The formal definition and automatic detection of architecture smells
Design Rule Spaces: A new form of architectural insight
Design Rule Spaces: A new form of architectural insight - Xiao et al. ICSE '14 Continuing the theme of looking at ICSE 2016 papers, I want to share with you some interesting work by Xiao et al. on "Identifying and quantifying architectural debt." That paper however draws heavily on two previous works that it makes … Continue reading Design Rule Spaces: A new form of architectural insight