Live data from Hacker News

My least favorite Rust type

ridiculousfish.com

71–80 of 298 posts

Re: My least favorite Rust type

#71

Earlier quoted context omitted.

How long do you think it takes to make a new language?

How long do you think it takes to release a working prototype when you already have one?

Maybe he has different standards than you? I assume Jai will be similar to his games as far as attention to details goes. I would describe his games as having a maniacal attention to detail.

Re: My least favorite Rust type

#72

Earlier quoted context omitted.

How long do you think it takes to make a new language?

How long do you think it takes to release a working prototype when you already have one?

But he doesn't want to release a "working prototype", he wants to release a finished, polished language.

Re: My least favorite Rust type

#73
post #61

Earlier quoted context omitted.

Goodness, the lack of any compiler at all would disqualify a lot of cutting-edge academic research on programming languages, much less the existence of a publically-available compiler. Often all you get is a diagram full of (basically) inscrutable derivation rules.

And rightfully so. In spite of all of the theory going into those languages, the one thing they're all missing is practice.

Yes, but now you've shifted the goalposts, because I think most people would generally consider PL researchers to have an understanding of programming language design.

Re: My least favorite Rust type

#74
post #39

Earlier quoted context omitted.

He demonstrably has a working compiler and programming language. Calling it a "fantasy" just because he has not given you full access to the source is plain incorrect. He streams so much of his development work on the compiler that a determined party could probably reproduce it by just copying the text from his text editor. He streams so much of his game development using the compiler that it obviously and unambiguou…

I can make a python script that prints out stuff while I'm streaming, too. He hasn't demonstrated squat. But, let's say he does have a working compiler. It's very probable that he does. Why doesn't he release it, then? Well you see, the only way it's possible to really effectively criticize a programming language is to use it. By not releasing the compiler, he avoids real criticism. So, no, I don't take him seriously…

I'm not a PL designer, but from everything I've heard him say regarding PL design, I agree with your assessment that one probably shouldn't take PL design advice from him (or at the least take them with a grain of salt).

However I don't think there is any need to suggest he's a "fraud", the language is "fantasy" or faked for the stream. I also don't think that there is any need for him to release the compiler.

Have you considered that Jai is just a hobby project? Many programmers choose writing a programming language as a hobby project so why shouldn't he? Releasing a compiler to the public and having everyone demand that he also maintains it for every corner case they have is a lot less fun than just working on it for your own scope and showing it off/discussing it in your stream.

Re: My least favorite Rust type

#75
I disagree, I think the fact Range is polymorphic is extremely useful. Perhaps if your only interaction with it is writing a range of usize's. The only real 'pain point' I've ever had to deal with is passing `&`, but I'd hardly call that a pain point.

Re: My least favorite Rust type

#76
post #6

I feel like this is an example of what Jonathan Blow calls a "Big Idea" or a "100% solution". His thesis is that when you make a feature of a language too abstract and usable in many different contexts, eventually there will be so many corner cases that the result will almost certainly be clunky and full of footguns. He claims that language designers should aim for "80% solutions" instead, which cover most common usa…

> He claims that language designers should aim for "80% solutions" instead, which cover most common usages but limit themselves enough to avoid complexity. This runs in contrast to a lot of commonly accepted language design wisdom.

This is easy enough to say, and indeed I do think it's a good approach, but the problem is identifying that 80% in the first place. The reason that language designers tend to favor general approaches is because they presume not to know how people are going to want to use certain things. It's an approach borne out of humility, not ideology. You need time observing how things are used in the wild before you can identify which 20% not to support; get this wrong and people will be more frustrated than if you had saddled them with the baggage of the general approach.

In the specific case of Rust's Range API, we can observe this problem acutely. Rust hugely benefited from the period between 2011 and 2015 where it was able to iterate aggressively on design and observe what opinionated stances were worthwhile. But the Range type came relatively late to the party: it was devised and stabilized only months before 1.0 as a replacement for an old, hardcoded slicing syntax that worked with no types other than plain integers, and only in very limited syntactic contexts. With little time to observe use in the wild (and with all the other madness and work that was going on in the run-up to 1.0), the reasonable approach was to not over-constrain. Now that we have experience with it one could devise ways to do it better, certainly, and with luck Rust may be able to move the type in that direction, but other than that it may just be a lesson for those languages that are yet to come.

Re: My least favorite Rust type

#77

Earlier quoted context omitted.

The issue is that he uses that platform to criticize other languages. That's my root problem, here. If all he did was write code, then nobody would care.

Ok, would you be happier about it if he wrote blog posts and never came up with Jai at all?

I'd be okay if he never spoke about it as the next big thing in programming with no intention of releasing it for public criticism. It's 100% okay to have private, in-house tools.

Re: My least favorite Rust type

#78
I can’t even figure out how to iterate over a Range of Vectors? iter and collect both don’t exist... Google doesn’t seem helpful either. I don’t know any rust but it seems unforgiving at the first hurdle here :-)

Re: My least favorite Rust type

#79
post #73

Earlier quoted context omitted.

And rightfully so. In spite of all of the theory going into those languages, the one thing they're all missing is practice.

Yes, but now you've shifted the goalposts, because I think most people would generally consider PL researchers to have an understanding of programming language design.

Well, that's fine, then. Many of them do eventually create something useful later.

Johnathan Blow is a game designer, though.

Re: My least favorite Rust type

#80
post #74

Earlier quoted context omitted.

I can make a python script that prints out stuff while I'm streaming, too. He hasn't demonstrated squat. But, let's say he does have a working compiler. It's very probable that he does. Why doesn't he release it, then? Well you see, the only way it's possible to really effectively criticize a programming language is to use it. By not releasing the compiler, he avoids real criticism. So, no, I don't take him seriously…

I'm not a PL designer, but from everything I've heard him say regarding PL design, I agree with your assessment that one probably shouldn't take PL design advice from him (or at the least take them with a grain of salt). However I don't think there is any need to suggest he's a "fraud", the language is "fantasy" or faked for the stream. I also don't think that there is any need for him to release the compiler. Have y…

If that's all that he did, then I'd have no concerns. He likes to talk down other up-coming programming languages, too.

But they've got something his language doesn't.

Post reply on HN