3 ms·
It proves nothing. Imagine a language named Arc'', which drops you a little amount of blood for every keyword that is present in your computer programs. So, if
by hhm 19y ago
It proves nothing. Imagine a language named Arc'', which drops you a little amount of blood for every keyword that is present in your computer programs. So, if you write a program that is large enough, you die.
So, trivially, for every Arc program there is an equivalent Arc' of the same length. So Arc and Arc' are equally succinct. However, you would no doubt rather work in Fortran.
It does not prove a thing, you see.
- dfranke 19y agoThe only absurdity in that line of reasoning is the one that you introduced. Of course it's ridiculous that a language could cause you to spill blood when you enter a keyword. Not because we can't imagine a machine that worked in such a way, but rather because it's a non-sequitir. You've made a mockery of the argument merely by bringing up something completely outside the frame of the discussion. When we talk about languages we mean them in more-or-less if not exactly the formal sense in which Turing discussed them. Turing machines can't implement Arc'' because they don't have a spill-blood instruction. They're perfectly capable of implementing Arc'.
- hhm 19y agoThis is not ridiculous. If you don't like Arc'', you might think about this: we have two implementations of Arc, one in a normal computer, and another in a computer environment that makes you spill blood on every keyword, that we call Arc''. Nobody will want to use the Arc'' implementation right? Languages, as considered for practical use, aren't only Turing machines. In Turing machines it's unimportant to have libraries, and you have no way to create sockets, access to disk, or anything like that. In real-life programming languages, the language implementation and environment does make a huge difference. My point is: you can think of many ridiculous environments that will make any language terrible for daily use. You can also think of many small language variations that would make that language use terrible as well. Thinking about those variations isn't that great... the point of succinctness is power is: everything else equal, the shorter program wins. And both the original argument and mine, were wrong in the "everything else equal" part of that point. That's why that's invalid in my pov.
- dfranke 19y ago> This is not ridiculous. You're correct, insofar as if we assume the hypothesis of the Sweeney Todd Machine, then the above becomes a valid argument leading to a valid conclusion. However, it's an uninteresting argument because it refutes something that nobody believes; nobody would assert that succinctness = power when equality is defined over a domain that includes bloodletting. My original argument assumes stronger restrictions on the domain of what constitutes a language. Under this set of hypotheses, some people, namely PG, would assert that succinctness does indeed equal power, and therefore a refutation of that assertion is interesting.
- hhm 19y agoHow could "everything else equal" include bloodletting? Of course the experience of using C++ is different than using C++ with knives, that's trivial, and I'm not saying that they are the same language or environment. My point is: the original argument makes the same trick, by making a modification to the language / environment that makes it very unusable... my extension of the argument to blood and knives it's just a way to show that the original argument is using exaggeration. Everything else equal, the shorter program wins. Arc' breaks the "everything else equal" part of the argument very obviously, the same with the imaginary bloody machine.
- hhm 19y agoAnyway, in his article, PG doesn't actually restrict his own argument on that way. However I don't think he's being very strict in his presentation of the hypothesis, and while he could present it in a much more formal and precise (and theoretically correct way), I'm not sure that would make a very interesting essay. I imagine PG knew there might be restrictions to his argument, such as bloodletting and Arc' (or Arc' with bloodletting, imagine that!)... bah, who knows...
- dfranke 19y ago> the experience of using C++ is different than using C++ with knives Not by all that much.