[HN Gopher] Learning Squeak (2019)
       ___________________________________________________________________
        
       Learning Squeak (2019)
        
       Author : AlexeyBrin
       Score  : 66 points
       Date   : 2021-07-03 12:54 UTC (10 hours ago)
        
 (HTM) web link (wiki.squeak.org)
 (TXT) w3m dump (wiki.squeak.org)
        
       | tyingq wrote:
       | I really liked DabbleDB[1], written in Squeak with the Seaside
       | framework. Twitter bought them in 2010, and shut it down.
       | 
       | [1] https://en.wikipedia.org/wiki/Dabble_DB
        
         | cwp wrote:
         | Alas. Hard to believe it was all ten years ago now.
        
         | cultofmetatron wrote:
         | dabble db went tragically obscure. they were arguably the first
         | to have a server driven ui with state tracking done in the
         | server. It was a brilliant solution to complex state at a time
         | when spas were just crawling out of the ocean. The biggest
         | challenge was scaling the management of all those individual
         | user's states. Meteor and elixir liveview both are doing this
         | now to varying degrees of success.
        
       | jtchang wrote:
       | I had a whole semester worth of Squeak at Georgia Tech. Can't
       | really remember much at this point except that everything was an
       | object and the environment we worked in was super slow.
        
         | rbanffy wrote:
         | Smalltalk has always been decades ahead of its time and it
         | being slow on, say, the Alto or the Star, was kind of expected.
         | That said, Squeak is very nimble compared to pretty much
         | anything else currently in use. I'll assume your memory is from
         | the late 90's and the computers were not particularly fast.
        
       | sn41 wrote:
       | Squeak gave me the greatest pleasure I had while programming. I
       | was not a fan of IDEs till then, preferring vi at that point,
       | with ctags.
       | 
       | Sadly it is one of the places where computer science has gone
       | backward, preferring more clunky systems and less elegant
       | paradigms. Except when it comes to the higher reaches of the meta
       | object hierarchy, Smalltalk itself is a great pleasure - Squeak
       | was the icing on the cake for me.
        
         | willtim wrote:
         | > one of the places where computer science has gone backward,
         | preferring more clunky systems and less elegant paradigms
         | 
         | I respectfully disagree. Smalltalk has had its time. OOP has
         | had plenty of investment and exploration, but it's
         | fundamentally non-compositional and is a poor fit for modern
         | hardware. Other paradigms, for example statically typed
         | functional languages, are just as expressive (the expressive
         | parts of Smalltalk were functional features anyway) and have
         | much more to offer in terms of building reliable software that
         | does not crash and is secure.
         | 
         | Programming is hard, there is no silver bullet, but computer
         | science _is_ moving forward.
        
           | mpweiher wrote:
           | 1. If OO is a poor fit for modern hardware, FP is much, much
           | worse.
           | 
           | 2. Actually OO is highly compositional.
           | 
           | 3. The few actual studies that have been done disagree on
           | static FP being more expressive (or safer). In fact, if you
           | look at something like Mozart/Oz, they make the case that FP
           | is _less_ expressive.
           | 
           | 4. Agree there is no silver bullet. On the other hand, the
           | gentleman who wrote "No Silver Bullet" actually also wrote
           | that he viewed OO as one of the closest shots we have at a
           | silver bullet. And 10 years later wrote that this turned out
           | to be correct.
        
             | willtim wrote:
             | 1. FP is easier to optimise and is data-centric, which is
             | much more useful for parallel processing. For example, game
             | engines like Unity have been forced to move away from OOP
             | and towards more data-centric architectures.
             | 
             | 2. OO often features pervasive mutable state, which is
             | hidden but not encapsulated. Side-effecting computations
             | fundamentally do not compose. In the worst case, one ends
             | up with a combinatorial explosion of the state space, good
             | for simulations, but no so good for building systems one
             | can easily reason about. This is what functional
             | programming sets out to solve. OO does encourage modules,
             | which is a good thing and can help with composition. But
             | modules are not unique to OO.
             | 
             | 3. Static typing is (obviously) safer than dynamic types.
             | Smalltalk got most of its expressiveness from closures.
             | 
             | 4. OO is clearly not a silver bullet. US academics need to
             | invest more time in exploring functional programming (and
             | actually teach it to their undergrads!).
        
           | abecedarius wrote:
           | As long as we're trading opinions: the OO vogue of
           | 1990-2010ish and the anti-OO reaction since then were both
           | too much a matter of fashion. OO and FP are both powerful
           | ideas, neither dominates the other, sometimes you can combine
           | them, and you don't have to declare allegiance to either.
        
             | willtim wrote:
             | The attraction of "functional programming" to academics and
             | many others, is that the paradigm is underpinned by
             | established and well studied mathematical logics. For
             | example, the lambda calculus or more recently linear logic.
             | You can view this as "fashion" if you like, but by making
             | programming more formalized and less adhoc, it's probably
             | better recognised as progress.
        
               | pyuser583 wrote:
               | Those advantages aren't merely theoretical ... implicitly
               | gained knowledge is extremely powerful in FP.
        
           | sicromoft wrote:
           | Why are we downvoting someone who is respectfully
           | disagreeing?
        
           | lalalandland wrote:
           | OP said IDE, not object oriented programming. Most Smalltalk
           | dialects have very nice programming environments that makes
           | it much easier to be productive.
        
             | rbanffy wrote:
             | And even Smalltalk/80 was light years ahead of pretty much
             | any IDE that came much later. It is a whole OS with
             | integrated development and debugging tools.
        
       ___________________________________________________________________
       (page generated 2021-07-03 23:01 UTC)