Allen Wirfs-Brock Profile picture
Dreaming the future of software; Project Editor ECMAScript 2015; Reformed Smalltalker JavaScript historian https://t.co/TLCrI97REE… @allenwb@mastodon.social
Mar 23, 2021 6 tweets 2 min read
Nice thread by @geoffreylitt, read it! He's one of a wave of thinkers/developers exploring next generation platforms and UX models. One issue is what does "local-first" mean when we (the users) have multiple "devices" that we constantly switch between.
1/ He suggests that we need a new kind of collaborative file system to support this environment. He's likely correct, but I think that's thinking too small. I think we need a new kind of operating system.
2/
Sep 9, 2019 7 tweets 4 min read
@BrendanEich @ernestohegi Oh, I’m sure it was discussed at various TC39 meetings, probably in some meeting notes.

As to why: Going back to to ES1, the spec. said formal parameters for which an argument was not supplied have the value undefined.

1/
@BrendanEich @ernestohegi and the purpose of parameter default value expressions was to allow a programmer to explicitly provided an alternative to undefined for such missing arguments.

So, the defaulting was trigger off of the presence of the built-in default: undefined.

2/
Jun 21, 2019 17 tweets 4 min read
@BrendanEich answered @getify’s question about ToBoolean but didn’t address why Symbol.toPrimitive exists.

I invented Symbol.toPrimitive for a very specific purpose, so here’s the story:

1/ 2/
ToPrimitive is an specification device in the ECMAScript spec that is used to define how objects get converted to primitive values (e.g., strings, numbers)

It has existed since the ES1 spec but its formulation (but not its normal results) has changed over time.
Mar 19, 2019 8 tweets 2 min read
About 10 years ago after I spoke about ES5 at a conference a young person came up to me and asked: Don't you feel bad about the failure of object-oriented programming?

1/ I was puzzled and ask what failure he meant? He said:
In the 80s and 90s wasn't OO presented as the solution to SW engineering's complexity issues. You know with abstraction and reuse and such...

2/