this post was submitted on 23 Jul 2026
194 points (88.2% liked)
memes
22098 readers
2893 users here now
Community rules
1. Be civil
No trolling, bigotry or other insulting / annoying behaviour
2. No politics
This is non-politics community. For political memes please go to !politicalmemes@lemmy.world
3. No recent reposts
Check for reposts when posting a meme, you can only repost after 1 month
4. No bots
No bots without the express approval of the mods or the admins
5. No Spam/Ads/AI Slop
No advertisements or spam. This is an instance rule and the only way to live. We also consider AI slop to be spam in this community and is subject to removal.
A collection of some classic Lemmy memes for your enjoyment
Sister communities
- !tenforward@lemmy.world : Star Trek memes, chat and shitposts
- !lemmyshitpost@lemmy.world : Lemmy Shitposts, anything and everything goes.
- !linuxmemes@lemmy.world : Linux themed memes
- !comicstrips@lemmy.world : for those who love comic stories.
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sure they are. They're intended to be as easy to read for a human as possible.
No. The primary purpose of programming languages is to be machine-readable first, human-readable second. The primary purpose of both markdown and plaintext is to be equally readable by both humans and machines.
Assembly, perhaps. But not every other language. Every other language's sole purpose is to be easier than assembly to read by humans, so it can be compiled or translated through an engine into something a machine can read.
Machines do not read Rust. Machines do not read C++. Machines do not read JavaScript. Humans do.
Machines do read Rust. Just because those machines are compiling the Rust code doesn't mean they aren't reading it. And every affordance the Rust devs included to make it easier for that compiler to do its job makes it harder for humans to read, but Markdown's affordances are equally helpful for humans as for computers; and they're designed to be so because they were adapted from shorthand that was already in use.
Debate all you want, but the literal first sentence on Wikipedia: https://en.wikipedia.org/wiki/Programming_language
I never disagreed with the Wikipedia lede. I only said its primary purpose isn't human-readability, and Markdown's is.
If a language's primary purpose is for a machine to read it, why does anyone use Python instead of C, when Python is typically CPython? Python is still used because it is more human readable.
If you were saying this about something like CBOR compared to JSON, I'd agree, but the primary purpose of most programming languages is to be human readable, and to, in a human readable format, define instructions and guardrails.
Let's try to define the problem space here. I realize we're actually slightly off-target on this discussion when we're talking about languages like Rust and Python and C, because neither plaintext nor markdown are trying to fill that niche. Json is nearer the mark, though still doing something slightly different. Markdown, as humorously implied by the name of the format, is a markup format; more in line with HTML and LaTeX than with Rust or Javascript. And plaintext is also, in its own way, a markup format; albeit one with which computers would struggle particularly.
Think about an HTML file. There's a ton of stuff in that file--basically everything within the
<angle-brackets>--that's solely there for the purpose of the machine rendering the file. It doesn't provide much if any semantic information for the human reader; we can tell where the document starts, we don't need the<html>tag. We probably don't need anything in the<head>tag except for maybe the<title>, and that's likely to be repeated in the body anyway. We don't need the CSS, we don't need any of the Javascript, and if we don't need the opening tags, we don't need the closing tags either. We also don't need the opening<body>tag, because without the<head>tag, we can tell that the content starts at the beginning of the file. We don't need<p>or<div>or<br>tags, because we can see the line breaks visually. We don't need<span>in almost any scenario. Not only don't we need all of that information, but we couldn't easily parse it if we did.Of course some of the formatting options are useful, because they provide formatting information that's semantic (like
<strong>and<em>and<h1>) and some provide structural information that's semantic (like<table>and the list tags), though a lot of those are packed so full of additional parameters and styling and handles and such that they actually lose a lot of semantic meaning for humans because they're buried under a ton of stuff we can't easily parse. So they're not the best way for humans to read it, but they do work for humans who can figure them out.A lot of stuff is included in an HTML file for the benefit of a computer that will be reading the file which adds no useful information for a human. Even the stuff that does add useful information for a human could be communicated more easily in other ways. In short, the things which are added to plaintext to make HTML make parsing simpler for the computer and more difficult for the human. This is because its primary function is to provide direct and unambiguous control over document presentation, which means that it has to be clear and unambiguous to the computer.
Now, if you consider plaintext, you run into the opposite problem: it's entirely human-focused. There's nothing there providing any useful information for a computer, unless the computer has some advanced sentiment analysis or a decent neural network working on the problem (either of which would certainly be hugely resource-expensive). A computer can't tell what the important words are in a plaintext document, or what the title is, or whether a single line on its own is a header or just a very short paragraph. It doesn't know what a list looks like, or a table. Humans can read it fairly well (though honestly the lack of formatting might present some challenges to them as well). In short, the things which aren't included in plaintext make parsing very difficult for the computer while making it reasonably simple for the human. Its primary function is to provide text content to a human, which means that it can be formed and formatted however the human wants.
Contrast both with Markdown. Every syntactic tag and mark is equally useful for both the human reader and the computer reader. A human does not need additional training to utilize every character in a Markdown file, and a computer does not need additional functionality (beyond a parser for the language) to utilize every character in a Markdown file. The things which have been added to plaintext to make markdown make parsing simpler for both human and computer. A developer doesn't have to meticulously craft a document that humans will have trouble reading, and a computer can still comprehend it as well as an HTML file. Its primary function is to be equally readable for computer and for human.