All I read, write, stream and record on software engineering, delivered fortnightly to your inbox. Sign up here!
Support SICPers on Patreon!Support SICPers on Patreon!
OOP the Easy WayObject-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.
Category Archives: Java
Lots of Amiga documentation was in the AmigaGuide format. These are simple ASCII documents with some rudimentary markup to turn them into hypertext, working something like TeXInfo manuals. Think more like a markdown-enabled Gopher than the web though: you can … Continue reading
No CEO dominated a market without a plan, but no market was dominated by following the plan. — I made this quote up. Let’s say it was Rockefeller or someone. In Accidental Tech Podcast 385: Temporal Smear, John Siracusa muses … Continue reading
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
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
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
A few places have linked to Apple’s use of Swift in iOS, it’s useful to put it in context. How much of Solaris was made out of Java? Almost none. There was a web browser that you’ve never heard of … Continue reading
An idea that clarified itself to me in discussion today is that Swift is to Functional Programming as Java is to Object-Oriented Programming: it is the thing that lets you write C and pretend you’ve adopted some posh-sounding “paradigmatic” non-imperative … Continue reading
Today has largely been brought to you by nostalgia brought about by this article, reporting on a get-together of former Sun Microsystems employees. I have never been a former Sun Microsystems employee, and of course now I never will be … Continue reading
This posted was motivated by Rob Rix’s bug report on NSObject, “Split NSObject protocol into logical sub-protocols”. He notes that NSObject provides multiple responsibilities[*]: hashing, equality checking, sending messages, introspecting and so on. What that bug report didn’t look at … Continue reading