> I decided to use the slowest language on the planet, Python (thanks to the visionary genius of Ross van der Gussom).
given the article, it's fair to assume the author was joking around
that being said, the way the language is used and its ecosystem do contribute to the executable's efficiency. yet, given C's frugality, or the proximity between its instructions and the executed ones, it's not unfair to say that "C is fast"
A few years ago, a journalist went to Duralex, after they restructured (to be own by the employees), and show off the glasses's solidity, live. Every single one of them broke:
In addition to people believing weird things, such views are often highly tied to an environment.
Levitation is pure non-sense for people "in-doctrinated" (literally: ~ to have a doctrine within) by the contemporary, science-oriented environment.
Similarly, dismissing the existence of God(s) − or thinking about it, of levitation[0] − would have been unthinkable for people genuinely "in-doctrinated" by many (all?) historical religions.
Amusingly, contemporary science, which is often defined in opposition to blind religious ways, essentially operates like your garden-variety religion: faith practically required (among others, who can reproduce/prove (beyond a doubt) well-established results), hierarchy(ies)/rating system(s), esteemed texts, key public figures, etc.
Usually, the deeper people understand their own in-doctrination, the more prudent they are regarding what they may consider true or not.
Yet, it might be reasonably true: as stated in the Wikipedia page, Le Monde Diplomatique is read mostly by educated people, who probably are 1/ less susceptible to/more aware of coarse manipulation 2/ much less numerous.
That's to say, influencing (too much) the redaction might have too low of a costs/benefits ratio.
Personal anecdote: I've read it a few times about a decade ago. At that time, I perceived some of the articles to be more emotionally grounded than rationally, and the prose to be at time needlessly heavy, "sophisticated".
Those are the main reasons why I didn't kept reading it more often.
I had the same experience as you with Le Monde diplomatique. The language used in some of the articles felt a lot like propaganda ( hyperbolic language, us vs them, anger/emotional language, basic facts being ignored etc ). I was very surprised since the paper had a good reputation , and gave up. Maybe ( hopefully) this has changed.
In case the other answers aren't sufficient, the first step is to understand the λ-calculus[0]. Then, De Bruijn indices[1]. Now, observe that the language we have only has (you need familiarity with the λ-calculus to understand those terms (… pun unintended)) 1/ applications, 2/ abstractions, 3/ integers representing variables [introduced by abstractions]. For example:
(λ (λ 1 (λ 1)) (λ 2 1))
Binary λ-calculus is then merely about finding a way to encode those three things in binary; here's how the author does it (from the blog post):
00 means abstraction (pops in the Krivine machine)
01 means application (push argument continuations)
1...0 means variable (with varint de Bruijn index)
The last one isn't quite clear, but she gives examples in `compile.sh`:
To check your understanding, you may want to try to manually convert some λ-expressions using those encoding rules, starting with simple ones, and check what you have with what `compile.sh` yields.
I never would have been able to understand lambda calculus well enough to write the blog post if I started with [0]. I say just pull out the shell and start coding things. Then read [0] later to appreciate things on a deeper level.
I think I must agree: while I went through [0] to build a λ-calculus interpreter, I already had a fair amount of practice with Church encoding (list, bool, int) using an arbitrary functional language, which retrospectively must have helped greatly to make Selinger's notes clearer.
Enjoyable news format; the drawings are a bit crude, not that much considering we're talking about Picasso, but it's more pleasant to read, on a screen, than pure text.
I think the gist of it is humility: as a newcomer, you don't really know what's out there and why, and there are often good reasons for things to be how they are. Not always, but often enough for avoiding being too original to be favored. This doesn't imply relinquishing on "good engineering habits" either.
Now, once you have a deeper understanding of the codebase, you'll know when and why to break away from existing patterns, but in the beginning phase, it's a good habit to start by learning carefully how things are designed and why.
« I think one of the troubles of the world has been the habit of dogmatically believing something or other and I think all these matters are full of doubt and the rational man will not be too sure that he's right; I think we ought always to entertain our opinions to some measure of doubt » (Russel)
Strictly speaking, you're correct, but practically speaking, I believe not so much.
For example, France lost a key advantage ("competition rules") with nuclear energy essentially because it was considered unfair to other countries. But energetic independence is fundamental in part to economical independence: it's a key aspect of sovereignty.
Another example would be the Euro ("monetary policy"):
> Give me control over a nation’s currency, and I care not who makes its laws.
Or, the fact that external laws (from the UE) can be applied to member countries without approval from the people is IMO another rather clear form of loss of sovereignty: a considerable amount (~20% for France IIRC) of legislation is imposed by external, un-elected bodies.
Many perceive EU laws as imposed without democratic oversight, but this isn't quite accurate. The European Parliament, elected by EU citizens, is involved in most legislative processes. The EU Council, made up of ministers from elected governments, also plays a key role. It's not how national democracies work, but with no unified European public, this system might be the best compromise for now.
Let's look in practice[0]: there's 720 seats in total for 2024. France has 81, spread on its local political spectrum [1]; biggest group has 18 seats. So while there's some democratic oversight, the public perception remains reasonable: the representative weight of an individual is severely diluted (divide & conquer, yada yada).
As it plays on the democratic oversight perception as well, we could also look at the perception/quality of the locally elected bodies, and their general attitude towards the UE: a great example is [2] ("let's ask the people but do it anyway").
That's to say, I believe there are good reasons for people to perceive EU laws as imposed without democratic oversight. It's not 100% true, but overall, it's not an unfair qualification either.
given the article, it's fair to assume the author was joking around
that being said, the way the language is used and its ecosystem do contribute to the executable's efficiency. yet, given C's frugality, or the proximity between its instructions and the executed ones, it's not unfair to say that "C is fast"