[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)