1,004 karma · joined July 4, 2014
D: 8 December 2001; 20 years ago
Go: November 10, 2009; 12 years ago
Rust: July 7, 2010; 12 years ago
TypeScript: 1 October 2012; 10 years ago
Zig: 8 February 2016; 6 years ago
The only one of these which isn't at least twice as old as Zig is TypeScript, which has the might of Microsoft behind it, and is based on a well understood, pre-existing language.
This is not a fair comparison.
I'd challenge people who think definitions are necessary to grapple with coming up with a definition of a chair, in the form of a list of necessary and sufficient conditions. Make sure you don't exclude anything commonly thought of as a chair, or include anything not commonly thought of as a chair. For an extra challenge, come up with a definition most people would agree on. This endeavour will be a struggle.
And yet we manage to discuss chairs without difficulty. We have a generally understood concept of what we mean by a chair, with central examples like dining chairs or lounge chairs commonly held to be chairs. In the case of ambiguities of communication, we can clarify on a case by case basis ("Did you want me to take the ottomans to the other room too?")
It makes more sense to make a strong push for getting the new features fleshed out, made user friendly, and stabilized, and then slamming the brakes and doing a documentation push.
In practice, this will take a long time, and it probably makes sense to concurrently work on documenting things that won't change. But I don't think at this stage dropping all feature work for documentation makes sense.
The other thing is that I don't think Nix's learnability issues come entirely from lack of documentation. A big chunk of the problem is a lot of very strange UX decisions and confusing defaults. Rather than documenting these as is, it seems better to put effort into fixing them, making default behaviour more intuitive and less confusing.
> It's likely that with a harder version of the Turing Test, in which real and fake images of the same content are presented side by side and people are told that one of them is fake, it would be much easier to detect the fake images.
EA has done a great job bringing attention and resources to causes that are clear wins - it's just obvious that global poverty interventions like Against Malaria and GiveDirectly are highly beneficial.
But effectiveness doesn't always doing the most obviously effective thing. It means doing the highest expected value thing. Sometimes that means trying things with low expectation of success, but a high potential payoff.
There's a trade off between exploring the space of potential interventions, and exploiting known good ones. EA needs to keep its healthy focus on exploration, or risk getting stuck in a local minimum. Suppose the X-risk people are right - if we get that wrong there won't be any more people left to help. Certainly EA was sounding the alarm about lack of pandemic preparedness ages ago, and while that wasn't existential, it was the right direction to be looking in. Imagine if we'd had a bit better foresight, been a bit better prepared, and been able to prevent 6 million people dying of COVID.
Something sounding "weird" isn't sufficient reason to discard it. There needs to be an actual convincing argument. And let me tell you, the weird ideas have survived some pretty rigorous debate.
> It's always impossible to tell, for any given sequence, whether it was produced by a fair die.
Something like "you can't make any determination, because it's random". Whereas under the second worldview you can make statements about how likely things are, despite uncertainty.
For some reason the binary worldview seems to be incredibly common. My sibling commenter exhibits the same issue.
x input = show tmp
where tmp = input * 5
It would be a different story if you had something like class IntState:
def __init__(self, val):
self.val = val
def x(input):
self.val += input
return str(val)I'm more saying that I'm fine with type system features that break global inference, as long as there's still local inference that's usually good enough in practice.