In addition to my regular blog posting, I thought it might be worthwhile to have a post weekly on various blog posts, videos, talks, tools, whatever that I found interesting through the week. So this is the first of hopefully many roundups.
Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.
Blazor, Razor, WebAssembly, and Mono by Dave GlickReally great blog post explaining how it all works. I was actually working on a Blazor talk for my local user group and came across Dave’s post. Really worth a read if you want to understand the basics of how Blazor, Razor, WebAssembly and Mono all fit together.
Roslyn analyzers: in addition to Rider’s own 2400 code inspections to help you detect errors and code smells in all supported languages, Rider now detects Roslyn analyzers and highlights them in the code editor.
It can easily be argued that agile grew out of the spirit of object orientation: its focus on change, on anthropomorphism, and on people. Alan Kay saw objects as a way for people to connect with their environments through their machines. As late as the 1980s people were still talking about anthropomorphic programming. Fast forward 30 years and we witness the formal birth of Agile. “End users” dropped out of the vocabulary, and software became an independent artefact that only had to be “working,” as a consideration separate from “individuals and interactions.” And the focus on interactions between end-users and their software was displaced by interactions between developers. It was the nerds’ revenge. In the mean time object-orientation also devolved, replacing the end user’s mental model of networks of interacting objects with developers’ class hierarchies. The future soundness of software-intensive products will require giving end-user interaction the same attentiveness as nerd interactions, and on being more outwardly focused and inclusive of end-user perspectives than we are today. Domain-specific languages and a return to the original conception of objects as extensions of the user can serve us well.