3 ms·
The article is in principle correct and the points it discusses are important for beginners to learn. OTOH in my opinion it fails to distinguish extensional fr
by DemocracyFTW2 3y ago
The article is in principle correct and the points it discusses are important for beginners to learn.
OTOH in my opinion it fails to distinguish extensional from intentional categories, i.e. those concepts that arise from 'material', 'physical' differences from those that arrive through things like intended use. For example, there's no principal difference between '(a few) grains of sand' and 'a heap of sand', so should we stop using those words? Philosophers have been seemingly unable to 'draw a line in the sand' for us for 2000 years! But then there's a difference between someone asking you to clear a room from 'those grains of sand' vs 'that heap of sand': the first is swish-swish with a broom, done, whereas the other might mean hours of shoveling and wheelbarrow-pushing.
Likewise with 'compilation' vs 'transpilation' (and, in some cases, even 'interpretation') where lines are hard to draw as far as material extension goes. The intention is clearer: we say 'transpilation' when we translate a 'high' language to another 'high' language (one that itself has to be compiled or interpreted). However the concept of 'high' languages is squishy; it is hard to separate from 'low' languages and 'intermediate' ones (e.g., so-called bytecode) on the level of appearance alone—these concepts are based on the models, the conceptualizations that people build to structure the world in their minds.
So the intentional difference between a textual and a binary format is something along the lines of 'if I can open the file in a text editor and get to see meaningful ('potentially human-readable') text, then it's in a text format; if I see gobbledegook and garbled mojibake, then that's a binary format'. If I can create and edit a file in my text editor and get correct results from the program that digests it, that's a text format (e.g. a line-by-line JSON database file); if I can't do that except in a painful manner using a hex editor and doing bit-level calculations—that's a binary format for you (e.g. try to hand-edit an SQLite DB file in a hex editor to change some records).
It's to a degree the tools we have at our disposal that shape our view of what category things fall into. Let me ask you a question: if there really is no distinction between raw text and binary—why is it that a tool like git performs great with the former and much more poorly with the latter? Git sure can handle images, but how to interpret a diff in that case?