4 ms·
> We must build much higher level shared meaning - Images, Tables, Conversations and beyond, building a common implementation and understanding used by everybod
by kasperni 6y ago
> We must build much higher level shared meaning - Images, Tables, Conversations and beyond, building a common implementation and understanding used by everybody.
Thinking you can build something like this is extremely naive. If you have been working in any company over a certain size. You will know that even inside a single company, people often don't use the exact same vocabulary. For example, what constitutes a product is very different across departments such a sales, production, design, customer service. Martin Fowler talks a bit about in this post on bounded contexts [1].
[1] https://martinfowler.com/bliki/BoundedContext.html https://martinfowler.com/bliki/BoundedContext.html
- djrobstep 6y agoBut we already do this, with a whole variety of different objects - strings, sockets, integers, floats, URLs for instance.
- kasperni 6y agoThose elements you list all have the same single domain: computing. And we spent decades trying to agree on the definition of them in the computing community. On top of that all of them are simple and flat value-based types. Meaning they don't really have any relationship to any other elements.
- mikewarot 6y agoStrings... which kind? Nul terminated, Pascal Strings, ASCII, UTF-8, UTF-16? It turns out that strings might not even be the best way to handle text, ropes look better. (A different thread here on HN) We got close with COM and Windows... as much as I knock Bill Gates, at least he managed to push the clipboard into everyone's toolkit. Imagine if that hadn't happened? What might be possible is to tweak the clipboard a bit to allow the user to set a clipboard boundary in the same manner, but handle the I/O in such a manner as to make it a universally agreed upon object type that can update, and serve as a persistent resource identifier. (Think Ted Nelson's Xanadu) Someone has to show this as a working concept in an open source project, and then some other open source project has to integrate it.