In computing, the transitive verb render generally refers to the act of drawing something on a screen. But you can use it in other ways too:
- There are lots of static site generators (this website is built using Jekyll, for instance) that render Markdown files as HTML.
- A compiler like LilyPond can render a text file either as a PDF for visual output, or as MIDI for audio output.
- A program like Photoshop gives you a mostly visual language to manipulate and create graphics, but lets you render your works to PNG or JPEG. Similarly, DAWs like Ableton let you easily manipulate audio but then let you render your work as a MP3 or a WAV file. (In both of these cases, the render operation is more commonly called “export.”)
In each of the above cases, the word render refers to an operation that maps from a file format that is more symbolic (there is more implied meaning in the file) into a file format that is less symbolic.
This usage meshes pretty well with some non-computing uses of the word (examples taken from Wiktionary):
- “The pianist rendered the Beethoven sonata beautifully.”
- “…to render Latin into English…”
In computing or grammar, the transitive verb parse generally refers to the act of breaking down a large text (like source code, or a sentence of natural language) into consituent components in order to make it more easily analyzable. (Example: “After parsing many sentences on the internet, I’ve determined that ‘render’ and ‘parse’ can both be used as transitive verbs.”)
But, you could (with enough squinting) also apply it to other things:
- Image segmentation algorithms parse images into components such that within each component, pixels are semantically similar to each other.
- Speech recognition algorithms, like the ones that power Amazon Alexa and Siri, parse sound waveforms into text, allowing them to successfully process voice commands.
- Humans do both of the above things (parse images and parse sounds) on a day-to-day basis.
The above usages of parse refer to an operation that maps from a modality that is less symbolic into a modality that is more symbolic.
Without going into extremely precise definitions of everything, it’s clear that rendering and parsing, as used above, are operations that accomplish opposing objectives: one goes from more meaning to less meaning, and the other goes from less meaning to more meaning.
Put into other words:
- Rendering turns concepts into arrays of pixels or sequences of letters. Parsing turns arrays of pixels or sequences of letters into concepts.
- Rendering turns a symbolic representation into a sensory experience. Parsing seeks to infer a symbolic representation from sensory input.
- On a philosophical level, rendering is about externializing meaning, while parsing is about internalizing experience.
I’ve gotten a bit further away from the original meaning of the words. That said, I still think this duality is fascinating.