5 ms·
> As one might have guessed, this is not an essay. It's a transcript of the following talk by R. Martin with some substitutions made (SmallTalk -> Haskell, Ruby
by chillee 6y ago
> As one might have guessed, this is not an essay. It's a transcript of the following talk by R. Martin with some substitutions made (SmallTalk -> Haskell, Ruby -> Rust, and others). You are free to make any conclusions from this.
I don't find this particularly interesting. Starting from the first questionable statement,
> Not because Rust is Haskell without HKTs
I was wondering why the article had so many inaccuracies.
Fundamentally, Haskell did not clearly solve any particular problem with other languages. There are a lot of cool things you can do in Haskell, and arguably, there are problems in other languages that aren't issues in Haskell. But the advantages of Haskell were never as clear cut as Rust.
In addition, Rust has already seen uptake on a level that Haskell never has. What's the most important Haskell project? Pandoc? Haxl? On the other hand, many companies have already started building core infra in Rust. Facebook with Mononoke, Libra, Eden, and Hack. Dropbox for storage servers. Mozilla with Firefox.
I think Rust has a bright future, and I don't think the analogy with Haskell is right at all.
EDIT: Judging from some of the other comments, I'm perhaps not surprised that GPT-3 achieved some success on HN.
- d3nj4l 6y agoAlso, just going off the substitutions, Ruby is alive and well with a major release on the horizon, many top startups got their start with it and the community is still growing. If Rust is the new Ruby, it should be pretty damn happy about it.
- AlphaSite 6y agoRuby is nothing compared to its original hype bubble.
- vore 6y agoSPJ has said Haskell's motto has always been "avoid 'success at all costs'", so it's perhaps unsurprising they're not concerned with industrial applicability, which doesn't mean it's particularly dead in the water or anything for other uses.
- PaulAJ 6y ago> Fundamentally, Haskell did not clearly solve any particular problem with other languages. Marketeers have a saying: "Its a lot easier to sell asprin than vitamins." In other words, if someone says "This is giving me headaches" then someone with a solution for that headache will find it a very easy sale. But if your product pitch is that your general health will improve, your immune system boosted, yada yada, that's a much harder sale to make.
- fluffything 6y ago> many companies have already started building core infra in Rust. Facebook with Mononoke, Libra, Eden, and Hack. Dropbox for storage servers. Mozilla with Firefox. You missed Amazon, Google, the Linux kernel, Microsoft, Apple, ... which big company isn't using Rust at this point in production? The main difference between Rust as Haskell is that, while I really like doing competitive programming with Haskell, what I really like doing with Rust is shipping products to customers. In my free time, I don't use Rust, right now I mostly use Idris2. But the main reason I can do that is that since we moved from C++ to Rust, nobody really call us on the weekend anymore to fix something that can't wait till monday.
- mkl 6y agoThe Linux kernel isn't using Rust in production. They've said they're open to the possibility, but that isn't even a start.
- fluffything 6y agoAll our linux kernel module and driver development have been using Rust for a while. I've written a Linux kernel module in Rust that we use in production, and so have many others. What the Linux kernel is discussing is how to integrate these kernel modules and drivers into the Linux tree. They are not discussing whether this is worth doing, but how to do it. Linux is quite stable if you stick to the right APIs, and maintaining these out-of-tree is not too bad, but the current situation is not sustainable in general. For us it doesn't matter, because our code is not open source. But it matters to quite a bit of people.
- mkl 6y agoSure, but out-of-tree third party modules and drivers is not what the comment I replied to said.
- joshxyz 6y ago> nobody really call us on the weekend anymore to fix something that can't wait till monday I'm freakin sold, gonna learn rust now.
- mrh0057 6y agoFor Haskell original purpose it is hugely successful. It is a fantastic language to test new ideas and for functional language research. Think about how big of an impact it has had on languages like C#, Scala, Kotlin, and Swift.
- didibus 6y ago> Fundamentally, Haskell did not clearly solve any particular problem with other languages. There are a lot of cool things you can do in Haskell, and arguably, there are problems in other languages that aren't issues in Haskell. But the advantages of Haskell were never as clear cut as Rust I agree with you 100% Did C++ kill C? Will Rust kill C++? I think Haskell wasn't there to replace anything except maybe Standard ML, and you could say it won that one. Rust is trying to be a better C++. And it addresses C++ issues directly in ways that are relatable to C++ programmers. Similarly for Go, it really appeals to the Java croud that wants less patterns, less verbosity, more simplicity and especially that want lower memory footprint, fast startup times and simple deployments and delivery. It appeals to the Python croud that want better performance and to use what Google uses, etc. I think in that sense, I see languages that take hold are those that directly address some of the pain points of other popular languages. Another great example of this is TypeScript. And I'd say, that language cannot change everything that is familiar in doing so. You got to keep around a good 70% from the language that is popular, and with that 30% you can replace with something that fixes major pain points from it. I think when you look at Rust it does that regarding C++, it purposely stayed close to the syntax. And when I think of Haskell, it didn't do that. It wasn't trying to address the biggest pain points of everyday programmers in some other existing popular language. It was trying to be a whole new thing, an evolution of an already niche paradigm. It didn't meet anyone 70% of the way unless you were an ML programmer. Now Squeak I find much more interesting, because it seem like it could have blown up, I mean Smalltalk too, not sure what happened, even Sun was working on Self, and the Java, Java won. I think it was due to performance at the time.
- masklinn 6y ago> Rust is trying to be a better C++. And it addresses C++ issues directly in ways that are relatable to C++ programmers. Just as importantly, it's trying to be a better C++ and it addresses C++ issues directly in ways that are relatable to non-C++ programmers. For devs used to higher level languages, C++ is horrifying, it's a footgun wrapped in grenades, with an internet as full of legacy bad advice as VBA. Rust is a promise that you can get C++-type performance without blowing your foot off or falling into a million traps along the way unless you really want to.
- deleted 6y ago[deleted]
- dang 6y agoThat talk is https://www.youtube.com/watch?v=YX3iRjKj7C0 https://www.youtube.com/watch?v=YX3iRjKj7C0.