OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF
Author Archives: Graham
Java By Contract: a Worked Example
Java by Contract is an implementation of Design by Contract, as promoted by Bertrand Meyer and the Eiffel Software company, for the Java programming language. The contract is specified using standard Java methods and annotations, making it a more reliable … Continue reading
Posted in Java
Leave a comment
Updates to JavaByContract
Some improvements to JavaByContract, the design-by-contract tool for Java: Preconditions, Postconditions and Invariants now appear in the Javadoc for types that use JavaByContract. While this is only a small source change, it’s a huge usability improvement, as programmers using your … Continue reading
Posted in Java
Leave a comment
Impossibility and Uncertainty in AI
About this paper Impossibility and Uncertainty Theorems in AI Value Alignment (or why your AGI should not have a utility function), Peter Eckersley. Submitted to the ArXiV on December 31, 2018. Notes Ethical considerations in artificial intelligence applications have arguably … Continue reading
Posted in academia, AI
Leave a comment
The App that Wasn’t (Yet)
One of the early goals written into the mission statement of the Labrary was an eponymous app for organising research notes. I’ve used Mekentosj Springer Readcube Papers for years, and encountered Mendeley and others, and found that they were all … Continue reading
Posted in architecture of sorts, design
Leave a comment
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
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