4 ms·
overall great article, particularly this exceptionally elegant turn of phrase - 'It is known since the early ages of programming, most elegant programs are bui
by keefe 14y ago
overall great article, particularly this exceptionally elegant turn of phrase -
'It is known since the early ages of programming, most elegant programs are built as layers of "languages" or "dictionaries". These are represented by abstractions in a program in order to facilitate expressing the ideas in a way that is more related to the domain.'
Overall, I like to draw a line between canonical/ontological representations of models and representations of models designed for calculation. The ontological representation often times exists in a relational database or in an explicit OWL/RDF ontology, but may also exist only ideally, where the storage and calculation representations of the model are each customized for their particular use, especially at large scale.
the following concept, I almost agree with...
'it is our job to express the abstractions of the domain for the best economy of the expression'
As programmers (vs ontologists) I would say that our job is first to express the abstractions such that they enable efficient, maintainable computation that hopefully is expressing those abstractions economically. I feel like programming languages don't lack power, they just make it quite complicated to express complex abstractions.