<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf" -->

---
title: A Treatise on Model Oriented Programming Languages
description: A former software engineer, now a Viking ship builder, reflects on model oriented programming (MOP), a paradigm he developed over a decade ago in a language...
canonical: https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A Treatise on Model Oriented Programming Languages | daily.dev
og:description: A former software engineer, now a Viking ship builder, reflects on model oriented programming (MOP), a paradigm he developed over a decade ago in a language...
og:url: https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf
og:image: https://api.daily.dev/og/posts/g9aerMMBf.png
og:image:alt: A Treatise on Model Oriented Programming Languages
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A Treatise on Model Oriented Programming Languages

**[Stack Overflow Blog](https://daily.dev/sources/stackov)** · 38 min read · 3 upvotes · 0 comments

## Summary

A former software engineer, now a Viking ship builder, reflects on model oriented programming (MOP), a paradigm he developed over a decade ago in a language called Mo+. He defines models as hierarchical structures populated with data, outlines four forms of model-oriented development (informal, inline, coupled, decoupled), and proposes language features such as programming sessions, model structure as grammar, model context stacks, model oriented properties, dynamic and contextual grammar, and near-elimination of variables. The piece is speculative and exploratory, inviting readers to point to existing research or revive interest in the paradigm, with extensive pseudocode examples built around a restaurant domain model.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://stackoverflow.blog/2026/10/09/a-treatise-on-model-oriented-programming-languages>

## Questions this post answers

### What is model oriented programming (MOP)?

Model oriented programming is a paradigm where a hierarchical model structure (nodes and attributes) becomes part of a programming language's grammar, letting code directly reference entities, relationships, and properties without instantiating classes. A programming session loads a model structure and seals its data as read-only, enabling features like model context stacks, model oriented properties, and dynamic grammar that adapts to the loaded structure.

_daily.dev surfaces deep dives like this for engineers exploring unconventional programming paradigms and language design._

### What are model oriented properties in a MOP language?

A model oriented property is an independent piece of code tied to a specific node in a model structure, such as Entity or Property, and it can be evaluated whenever given an instance of that node as the model context. Unlike object oriented class members, these properties require no instantiation, can call other model oriented properties, and can be reused inside expressions like foreach loops or conditionals.

_daily.dev helps developers comparing programming paradigms track novel approaches like model oriented properties._

### What are the four forms of model oriented development (MOD)?

The four forms are informal MOD (ad hoc models like whiteboard sketches with no tooling), inline MOD (formal models embedded in source code, as with ORMs like Entity Framework or UI frameworks like Angular), coupled MOD (external models tightly tied to source code, as with UML), and decoupled MOD (external models weakly tied to code, used mainly to express requirements rather than design, following methods like Shlaer-Mellor).

_daily.dev keeps architects weighing modeling approaches informed on frameworks like these._

## Similar posts on daily.dev

- [A defense of object-orientated programming](https://daily.dev/posts/a-defense-of-object-orientated-programming-topcm5gce) · Lobsters · 0 upvotes · 1 comments
- [Reimagining Software Engineering: LLMs, MCP, and the Dawn of a New Programming Paradigm](https://daily.dev/posts/reimagining-software-engineering-llms-mcp-and-the-dawn-of-a-new-programming-paradigm-oklzzqrhc) · Expedia Group Tech · 1 upvotes · 0 comments
- [Software Development in 2026](https://daily.dev/posts/software-development-in-2026-q2wl4qawy) · Beam Bloggers Webring · 4 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture)

[View this post on daily.dev](https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A Treatise on Model Oriented Programming Languages","url":"https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf"},"datePublished":"2026-10-09T16:15:44.916Z","dateModified":"2026-10-09T16:43:09.449Z","description":"A former software engineer, now a Viking ship builder, reflects on model oriented programming (MOP), a paradigm he developed over a decade ago in a language...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5f55f5536f3b40802ee874c03903a269?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5f55f5536f3b40802ee874c03903a269?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Stack Overflow Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Stack Overflow Blog","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/003e14873238469caea60ebdd34508ae","url":"https://daily.dev/sources/stackov"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture","timeRequired":"PT38M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Stack Overflow Blog","item":"https://daily.dev/sources/stackov"},{"@type":"ListItem","position":3,"name":"A Treatise on Model Oriented Programming Languages"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/a-treatise-on-model-oriented-programming-languages-g9aermmbf#faq","mainEntity":[{"@type":"Question","name":"What is model oriented programming (MOP)?","acceptedAnswer":{"@type":"Answer","text":"Model oriented programming is a paradigm where a hierarchical model structure (nodes and attributes) becomes part of a programming language's grammar, letting code directly reference entities, relationships, and properties without instantiating classes. A programming session loads a model structure and seals its data as read-only, enabling features like model context stacks, model oriented properties, and dynamic grammar that adapts to the loaded structure. daily.dev surfaces deep dives like this for engineers exploring unconventional programming paradigms and language design."}},{"@type":"Question","name":"What are model oriented properties in a MOP language?","acceptedAnswer":{"@type":"Answer","text":"A model oriented property is an independent piece of code tied to a specific node in a model structure, such as Entity or Property, and it can be evaluated whenever given an instance of that node as the model context. Unlike object oriented class members, these properties require no instantiation, can call other model oriented properties, and can be reused inside expressions like foreach loops or conditionals. daily.dev helps developers comparing programming paradigms track novel approaches like model oriented properties."}},{"@type":"Question","name":"What are the four forms of model oriented development (MOD)?","acceptedAnswer":{"@type":"Answer","text":"The four forms are informal MOD (ad hoc models like whiteboard sketches with no tooling), inline MOD (formal models embedded in source code, as with ORMs like Entity Framework or UI frameworks like Angular), coupled MOD (external models tightly tied to source code, as with UML), and decoupled MOD (external models weakly tied to code, used mainly to express requirements rather than design, following methods like Shlaer-Mellor). daily.dev keeps architects weighing modeling approaches informed on frameworks like these."}}]}
```

