Monthly Archives: December 2018

Research Watch, and Java by Contract

I introduced Java by Contract, a tool for building design-by-contract style invariants, preconditions and postconditions in Java using annotations. It’s MIT licensed, contributions are welcome, and I hope this helps lots of people to introduce stronger correctness checking into your … Continue reading

Posted in academia, Java, OOP | Leave a comment

Teaching Quality Object-Oriented Programming

About this paper Teaching Quality OOP by Yishai A. Feldman, published March 2005 (see the link for full citation). Notes One of the points made in my book Object-Oriented Programming the Easy Way is that objects should be specified by … Continue reading

Posted in academia | Leave a comment

Cleaner Code

Readers of OOP the easy way will be familiar with the distinction between object-oriented programming and procedural programming. You will have read, in that book, about how what we claim is OOP in the sentence “OOP has failed” is actually … Continue reading

Posted in OOP | Leave a comment

Product teams: our products are not our products

Woah, too many products. Let me explain. No, it will take too long, let me summarise. Sometimes, people running software organisations call their teams “product teams”, and organise them around particular “products”. I do not believe that this is a … Continue reading

Posted in architecture of sorts, Business | Leave a comment

Mapping software engineering tools

Despite the theory that everything can be done in software (and of course, anything that can’t be done could in principle be approximated using numerical methods, or fudged using machine learning), software engineering itself, the business of writing software, seems … Continue reading

Posted in architecture of sorts, tool-support | Leave a comment

More speed, lower velocity

I frequently meet software teams who describe themselves as “high velocity”, they even have graphs coming from Jira to prove it, and yet their ability to ship great software, to delight their customers, or even to attract their customers, doesn’t … Continue reading

Posted in Business, performance, process, software-engineering | 4 Comments

Figurative Programming and Gloom: the [G]raphical [LOOM]

Donald Knuth is pretty cool. One of the books he wrote that I own and have actually read[*] is Literate Programming, in which he describes (among other things) weaving program text and documentation together in a single narrative. Two of … Continue reading

Posted in tool-support | Leave a comment

Two books

A member of a mailing list I’m on recently asked: what two books should be on every engineer’s bookshelf? Here’s my answer. Many software engineers, the ones described toward the end of Code Complete 2, would benefit most from Donald … Continue reading

Posted in books, OOP | Leave a comment