Found in 2 comments on Hacker News
mpweiher · 2021-06-03 · Original thread
"I am not seeing anything here that would differentiate this from a Turing machine"

"I am not seeing anything here that would differentiate this from x86 assembly"


Anyway, if you insist on mapping something new in computing onto something you already know, you will pretty much always find some way of accomplishing this. While it might seem clever, it really just reiterates Turing-completeness, and so is not particularly interesting.

The question is whether your mapping is appropriate (it's not) or straightforward (also not).

Of course, this is a problem, because to understand something, you typically first have to map it onto something you already understand, but the key is to not stop there.

As to "something new": no, software architecture is not new. Not new at all. The seminal book is from 1996: Software Architecture: Perspectives on an Emerging Discipline, by Mary Shaw and David Garlan.

The paper trail is much older.

There is an entire discipline behind this, and in this discipline, FP is a small corner of the small corner that is the call/return architectural style, of all the myriad of architectural styles available. You can argue that this whole discipline of computer science with conferences, many thousands of peer-reviewed articles, many books etc. is all just BS, but I think you'd have a hard time arguing that case. And it would be you who'd have to make the case, because the discipline is well-established.

All Objective-S does is to say "hey, let's take this talk of connectors and components seriously and program with them". It's also not the first language to do this, there was ArchJava. Alas, this was an extension of Java with architectural constructs such as connectors, which is the wrong way around: connectors are more general.

mpweiher · 2014-11-30 · Original thread

Taking the definitions from "Software Architecture: Perspectives on an Emerging Discipline" [1], you have the following:

- components

- connectors

- configurations (systems)

Guice (and other dependency injection frameworks) clearly address the third part: configurations. AOP is, at best, an implementation technique.


Fresh book recommendations delivered straight to your inbox every Thursday.