4 ms·
The use of reasonable here, is, I'd argue, unreasonable and done for the purpose of creating a click bait title. They mean 'can we logically reason about progr
by richardwhiuk 12y ago
The use of reasonable here, is, I'd argue, unreasonable and done for the purpose of creating a click bait title.
They mean 'can we logically reason about programs written in this language' rather than 'is the language a good choice' for solving problems.
- thirsteh 12y agoTo a lot of programmers who maintain code, those two are the same.
- pimlottc 12y ago> They mean 'can we logically reason about programs written in this language' rather than 'is the language a good choice' for solving problems. At the risk of baiting flame, I find this distinction oddly amusing. If you can't logically reason about programs written in a language, how is it ever a good choice to use?
- matthewmacleod 12y agoIf you can't logically reason about programs written in a language, how is it ever a good choice to use? You can never perfectly logically reason about any program – your ability to reason about a given program varies on a scale of 'easy to reason about' to 'difficult to reason about'. While it's not always the case, it's easy to see that in some situations the cost of making a language easier to reason about can outweigh the benefits. The 'goodness' or otherwise of a language must factor in the difficult of reasoning about it, but that itself is not a sufficient condition to describe its quality.
- jdbernard 12y agoYou can logically reason about any language. It's just a matter of ease and the amount of code you have to see to be able to get a full picture. I mean, ultimately I could follow the logic of the program through the compiler/interpreter all the way down to the machine level and reason about the specific instructions executed on the processor. And when you have hard performance requirements you sometimes have to get that low. So by that definition of reasonableness all languages are reasonable. But of course he is making a pun and implying the more typical meaning of (un)reasonable, using it as a slight to languages that don't meet his criteria. I don't actually disagree with most of his guidelines, but I really don't like his use of that term. There are many situations where his preferences are actually unreasonable and the the opposite of what he has concluded is appropriate, mutable state being an easy example. It should not be a "I'm right and you're unreasonable" type of discussion.
- polynomial 12y agoWhile I sort of see what you're getting at, it's not entirely clear what the difference between these 2 is. How is the former (a 'reasonable' language) all that different from the latter (a 'useful' language)? While reasonableness and usefulness are not the same thing, it does seem a language needs to be both. Otherwise you could end up with a language that is both useful and unreasonable, which would be maddening.