[HN Gopher] Native-GUI distributed system in a tweet
       ___________________________________________________________________
        
       Native-GUI distributed system in a tweet
        
       Author : mpweiher
       Score  : 34 points
       Date   : 2022-08-10 19:27 UTC (3 days ago)
        
 (HTM) web link (blog.metaobject.com)
 (TXT) w3m dump (blog.metaobject.com)
        
       | junon wrote:
       | I don't agree with the assertion that "[Rust, C, etc.] are not
       | general purpose languages but instead DSLs for algorithms". This
       | is one of those "profound" statements that I simply find
       | nonsensical, as if the semantics themselves somehow made a point.
       | 
       | Conversely, I see Objective-S as just a batteries-included,
       | insanely high level declarative language. How is that any less of
       | a DSL, per the creator's logic?
       | 
       | Plus, saying that your language is the "first [ _real_ ] general
       | purpose language" is a bit smug.
        
         | xmonkee wrote:
         | Also, even if you were to buy it's premise, the statement is
         | still untrue. There is also stuff like Red and Wolfram
         | language.
        
         | mpweiher wrote:
         | > I don't agree with the assertion that "[Rust, C, etc.] are
         | not general purpose languages but instead DSLs for algorithms".
         | 
         | The reasoning is given. How is the reasoning incorrect, other
         | than colliding with beliefs and assumptions we make that are so
         | implicit we don't even see them?
         | 
         | But very briefly: ALGOL.
         | 
         | > How is that any less of a DSL, per the creator's logic?
         | 
         | Very simple, from a software-architectural POV: it includes
         | call/return as one of the architectural styles it supports. But
         | it also supports other architectural styles, ideally including
         | building your own, though that is still a bit thin. So n = 1,
         | vs n > 1.
         | 
         | See also: https://blog.metaobject.com/2019/02/why-architecture-
         | oriente...
        
           | wk_end wrote:
           | The reasoning is given, but - ironically - no "connection" is
           | given between the idea that "these languages don't have
           | enough mechanisms for connection" and "other languages aren't
           | general purpose programming languages" or "other languages
           | are DSLs for writing algorithms". That connection isn't
           | really obvious. For one thing, lots of things I do on a day-
           | to-day basis in languages that aren't Objective-S don't
           | "feel" particularly "algorithmic" - for instance, when I'm
           | modeling data in a class hierarchy or as a composition of
           | types, using mechanisms built into the languages of choice,
           | am I just "writing algorithms"? What about when I'm plumbing
           | stuff between APIs and databases? Writing - or using - Lisp
           | macros? Etc.
           | 
           | It's an issue of terminology, I'd say - you're using very
           | sweeping, imprecise language to describe your critique. "This
           | particular mechanism is a useful feature other languages
           | lack" would be received much better than "other languages are
           | fundamentally only suited to writing algorithms, rather than
           | general-purpose software" when we've got 60+ years of every
           | kind of software imaginable written in them. Arguing about
           | the criteria for what "general purpose" means, this far down
           | the line, is vastly less interesting than actual features,
           | and I've read two blog posts and I still don't really see,
           | specifically, what Objective-S has that's so paradigm
           | shifting. Reprogrammable literals, so I can embed URLs in my
           | code without delimiters or anything? Syntax for "connecting"
           | things?
        
         | ducktective wrote:
         | >is a bit smug.
         | 
         | I choose unorthodox and provocative ideas over conservative
         | bore of docile academic terms any day.
         | 
         | You call it being smug, I call it scientific confidence needed
         | for progress.
        
           | mattgreenrocks wrote:
           | Perhaps the biggest problem with Objective-S is that it isn't
           | tied to a FAANG?
        
           | junon wrote:
           | > unorthodox and provocative ideas
           | 
           | Marketing drivel. You choose marketing drivel over science.
           | That's how I read that sentence.
        
             | mpweiher wrote:
             | It ain't "marketing drivel". If it were, it would be an
             | utter failure.
             | 
             | It is a profound insight.
             | 
             | It might be a _wrong_ profound insight, but  "drivel" it
             | ain't.
        
         | westoncb wrote:
         | I agree it's a bit smug, but I can see an argument why
         | _something like that_ (not familiar with Objective-S itself in
         | anyway) might be considered more general purpose--though it 's
         | a bit of a stretch still imo:
         | 
         | To start, I think DSLs for algorithms is a bit off; it's more
         | like DSLs for manual memory management. But I think the
         | significant thing is that those languages are closer to a
         | natural way of speaking about the "execution environment" of a
         | computer vs that of human thought, which is essentially the gap
         | or spectrum which programming languages attempt to span.
         | 
         | And it makes a certain kind of sense to talk about generality
         | of languages in terms of the set of human thoughts which they
         | are effectively applicable to realizing. But this is very much
         | against intuition when speaking of the generality of abstract
         | structures since there are common, specific meanings in
         | connection within them, and in computing that's typically
         | what's meant. But, if you do look at it in the other sense,
         | something higher level is going to have higher generality than
         | something lower level.
         | 
         | Just playing devil's advocate 'cause I was curious where they
         | might be coming from with it (because it sounds like such
         | nonsense at first).
        
       | alexashka wrote:
       | What is the difference between this and creating a GUI the good
       | old fashioned way and having a textfield subclass that knows how
       | to two-way bind its value to a remote value?
       | 
       | In other words, if we ignore syntax, what is the fundamentally
       | _new_ capability?
        
         | Rodeoclash wrote:
         | Developer productivity by the looks of it
        
       | forgotpwd16 wrote:
       | Interesting though it appears to be a straightforward
       | server/client application so not sure why it's called
       | distributed. That said I'm confused about what Objective-S is
       | even after reading the about page (http://objective.st/About).
        
         | oceankid wrote:
         | The language on the website seems to be targeted to an audience
         | with knowledge of a subset of languages. Instead it would help
         | if it talked about the problem it seems to solve for a regular
         | "general purpose" programmer.
         | 
         | Doesn't help that the author comes off as super defensive.
        
         | mpweiher wrote:
         | ,, Client-server model is a distributed application structure
         | ..."
         | 
         | https://en.wikipedia.org/wiki/Client-server_model
        
           | forgotpwd16 wrote:
           | I guess technically it's correct then. Distributed always
           | makes me think of p2p systems.
        
       ___________________________________________________________________
       (page generated 2022-08-13 23:01 UTC)