2 ms·
> once you get past fighting the compiler Actually, it's the very process of “fighting the compiler” (as you call it, though I prefer to view it as collaborati
by catnaroek 11y ago
> once you get past fighting the compiler
Actually, it's the very process of “fighting the compiler” (as you call it, though I prefer to view it as collaboration between a human who knows what he wants and a program whose logic codifies what is possible) that makes it easier to write correct programs in Rust/Haskell/ML/$FAVORITE_TYPEFUL_LANGUAGE.
- dllthomas 11y agoI think there's a time before you learn how to make that collaboration productive, for a given tool, which is more aptly termed "fighting" and which you should certainly be able to get past. After that, you can have disagreements but they are far more productive.
- catnaroek 11y agoFrom what I have seen, only the hacker types find themselves “fighting” against (executable embodiments of formal) logic.
- dllthomas 11y agoThis seems an unwarranted dig against a poorly specified group of people. The notion that a type system is "just" logic and so should be trivially followed by anyone "smart enough" or "careful enough" is laughable - there are many different type systems (sometimes with different details depending on the options or pragmas you feed to your tooling), and it can take time to get a sense of where the boundaries are. The notion that you're not likely to find a type system helpful if you have trouble with it initially is harmful. Quit it with the self-congratulatory masturbation.
- deleted 11y ago[deleted]
- dllthomas 11y agoThis seems an unwarranted dig against a poorly specified group of people. The notion that a type system is "just" logic and so should be trivially followed by anyone "smart enough" or "careful enough" is laughable - there are many different type systems (sometimes with different details depending on the options or pragmas you feed to your tooling), and it can take time to get a sense of where the boundaries are. The notion that you're not likely to find a type system helpful if you have trouble with it initially is harmful. Please don't do this.
- catnaroek 11y ago> The notion that a type system is "just" logic I would've never said "just". Formal logic is big f...reaking deal. > so should be trivially followed by anyone "smart enough" or "careful enough" is laughable I never said anything about being "smart" or "careful". I only said that hacker types, for whom the ability to subvert anything anytime is a fundamental tenet, tend to have a hard time sticking to the rules of a formal game, whether it is a type system or not. Just look at the reasons Lispers give for liking Lisp.
- dllthomas 11y ago> I would've never said "just". Formal logic is big f...reaking deal. "Just" was in no way meant to diminish significance; it was meant to draw attention to your improper limiting of scope. Someone "fighting the compiler" is not fighting "executable embodiments of formal logic", but "executable embodiments of formal logic and a pile of engineering decisions". Often, enough of those decisions are made well that the tool can be phenomenally useful; some are made less well, and some simply involve tradeoffs. It doesn't have the... inevitability that your wording carried. Programmers coming from a context where enough of those decisions have been made differently are likely to get tripped up for a while in the transition, without harboring any objections to logic. > I never said anything about being "smart" or "careful". I only said that hacker types, for whom the ability to subvert anything anytime is a fundamental tenet, tend to have a hard time sticking to the rules of a formal game, whether it is a type system or not. True, but you left it up to us to figure out what attributes of "hacker types" were relevant. As there are many different uses of the word "hacker", it was quite unclear that you meant to refer specifically to inability to stick to rules. While people of that description may well persist in "fighting the compiler" for longer, that is not most of what I've observed when I've observed people struggling with a type system, and I reiterate my assertion that those new to a particular tool and used to doing things another way also frequently struggle for a period.
- bpicolo 11y agoI agree. My point is that, after programming in Rust for a bit, it's also easier to write just any program, regardless of correctness requirements