[HN Gopher] Why Architecture Oriented Programming Matters (2019)
___________________________________________________________________
Why Architecture Oriented Programming Matters (2019)
Author : mpweiher
Score : 22 points
Date : 2023-03-26 19:07 UTC (3 hours ago)
(HTM) web link (blog.metaobject.com)
(TXT) w3m dump (blog.metaobject.com)
| peterhil wrote:
| The bold point really resonates with me.
|
| Lately I've been writing a CLI application in Python to analyse
| and generally handle possibly megabytes of DNA data.
|
| At first I wrote the code quickly and in haste of inspiration
| using some Numpy constructs, some functional maps (with list) and
| an occasional list comprehension. It has took WAY too long to
| convert to code to use iterators, because the syntax and
| semantics are so different.
|
| In Lisp I could usually just switch the kind of map function to
| be lazy, iterative, or whatever I would like without changing and
| carefully thinking about the rest of the code.
|
| I think this is the kind of glue the article points to.
| sshine wrote:
| I'm not sure what this article even is.
|
| Does it mainly bash John Hughes for bragging about how good FP
| is?
|
| Or does it mainly advertise for the author's language, Objective
| Smalltalk?
|
| Objective Smalltalk -- http://objective.st/ -- is a mostly
| unimpressive, one-man project that claims to be the first general
| purpose programming language, and that all other programming
| languages are DSLs in comparison. The few simplistic "Hello
| World!" front-page code examples don't solve any problems related
| to software architecture. I'm tempted to believe he just likes to
| make small languages that resemble all the other languages, like
| the rest of us.
|
| The article lacks perspective by measure of the lack of any
| references to Infrastructure as Code, first-class module systems,
| integration between language ecosystems and their package
| management and languages. I would have had more to say about how
| "software architecture" goes together with the lack of
| expressivity in most general purpose programming languages, how
| modern DevOps is heavy on DSLs that are executable architecture
| designs, and how there's both a lot of progress to be made, and a
| lot of noteworthy, active attempts.
|
| The author cites John Hughes (of Haskell, QuickCheck fame) for
| saying that structured programming lets you design programs in
| modular ways, and modules allow for speedy development and re-
| use, and that function composition is the best kind of glue for
| making modules.
|
| The author then links to an article [1] (Mary Shaw, 1994) which
| invents a word, _Connectors_ , claims that this is great, and so
| _Architecture Oriented Programming_ is great. It feels like the
| middle 80% part of the article that defines and connects (sic)
| these concepts is completely missing. Maybe I 'm supposed to read
| the Mary Shaw article. He could have saved everyone a lot of time
| by just saying "Hey, I found this pretty great article. Also, I'm
| making a programming language that is better than yours."
|
| [1]:
| https://resources.sei.cmu.edu/asset_files/TechnicalReport/19...
|
| > it turns out that [...] lazy evaluation is essentially unused,
| [...] So that means the number of kinds of glue that FP provides
| is...one.
|
| Demagoguery. Since we can apparently just make up numbers:
|
| FP actually provides -1 kinds of glue, making it a product of
| Satan and so entirely a cause of the coming apocalypse.
| epgui wrote:
| I don't really understand the author's point. It seems like the
| author is making a judgment based on the "number of benefits"
| provided, without considering the magnitude of the benefits.
|
| There is perhaps no simpler way to compose programs than with
| function composition (except maybe with relations). This leads to
| great clarity of thought and writing, and is not to the exclusion
| of architecture.
|
| Avoid taking inspiration from mathematics at your own peril.
| phkahler wrote:
| Yeah, I never saw an answer to the headline question. Lots of
| drivel about glue. My opinion on glue is that too much glue
| means you've got a suboptimal data representation. But I saw no
| insights even that basic. I didn't get the point.
___________________________________________________________________
(page generated 2023-03-26 23:00 UTC)