I recently found myself writing a desktop app, and realised that for the first time in my career I could actually implement the Model View Controller design pattern as it was originally intended (as opposed to the disjointed approximations we use in web apps).
I'm afraid to say this led to an hours-long debate with Gemini about the "right" way to implement MVC, where the LLM kept contradicting itself and going round in circles. It reached the point where it was literally saying one thing and then doing the opposite in its example code.
@benfrancis afaik I know OG MVC only really works for single-user keyboard driven applications where the controller is write only and is unaware of the view. It's become muddied over the years though 😅

@evert Yes, this was central to my debate with Gemini 😂

Whether it's OK for the controller to manipulate the view and whether the view can query the state of the model. It kept telling me one thing and then doing another.

In the end I settled on the strict interpretation that controller manipulates the model, the view observes the model, and the controller provides callbacks to the view.

We'll see how that goes!

@benfrancis "...MVC... as originally intended..." ? You mean as in Smalltalk-80 style? That was always one of my biggest struggles when surrounded by WebDevs. What they called MVC did not look/act like the MVC baked into my brain from my Smalltalk era. The WebDev way seemed so tortured.

@twobraids Yes. And it is tortured! In part because the components have to be split across the client and the server somehow, and everyone has a different idea of how that should work.

(Good to hear from you!)