My Meeting C++ Keynote video is now available

Paul Backus snarwin at gmail.com
Mon Jan 14 05:31:27 UTC 2019


On Monday, 14 January 2019 at 03:58:37 UTC, Mike Franklin wrote:
> What I wonder is, with design by introspection and the right 
> mix of other language features (e.g. `alias`, `alias this`, 
> mixins, etc...), what traditional language features can be 
> removed from the compiler and delegated to library facilities? 
> For example,  
> https://theartofmachinery.com/2018/08/13/inheritance_and_polymorphism_2.html
>
> Because design by introspection allows us to "assemble programs 
> atomically", perhaps high-level language features like classes 
> and interfaces can become obsolete, and the language itself can 
> be reduced simpler primitives that don't require the overhead 
> of a runtime.
>
> Mike

Scheme is probably the language that takes this idea of a minimal 
"core language" with powerful metaprogramming facilities the 
furthest, and the result is a fragmented ecosystem that makes 
writing portable, non-trivial programs close to impossible. (See 
"The Lisp Curse" [1].)

When something like an object system is made part of the language 
(or at the very least, the standard library), it becomes a focal 
point [2] that the community can coordinate around. Due to the 
diverse, distributed nature of any programming-language 
community, trying to coordinate through explicit communication is 
not really a viable option, so having these kinds of focal points 
is very important if we want to be able to work together on 
anything.

[1] http://winestockwebdesign.com/Essays/Lisp_Curse.html
[2] https://en.wikipedia.org/wiki/Focal_point_(game_theory)


More information about the Digitalmars-d-announce mailing list