Elektrine lite

← Feed

@ekuber@hachyderm.io

2026-09-15 17:55 UTC

Part of the difficulty of picking up #Rust as a language is that the only "newcomer persona" that *wouldn't* have to learn new concepts (beyond syntax and language trivia) is somebody who has a lot of experience in *both* OCaml/Haskell/Scala *and* C/C++. That is an uncommon combination, so most people will be exposed to new concepts, one way or another. #RustLang

Replies (5)

  • @cliffle@hachyderm.io 2026-09-15 18:00

    @ekuber@hachyderm.io ideally OCaml over Haskell -- Haskell experience tends to make people want to aggressively overgeneralize things, like defining algorithms in terms of very abstract Monad/Monoid typeclasess that are hard to express well in Rust.

    Open ##4716785

  • @glocq@mathstodon.xyz 2026-09-15 18:07

    @ekuber@hachyderm.io I feel like many haskellers are decently familiar with C

    Open ##5325125

  • @yosh@toot.yosh.is 2026-09-15 18:20

    @ekuber@hachyderm.io ahaha, yeah okay so I had the pleasure of teaching Rust to a pal with that *exact* background (professional-level Haskell and C++) a couple of years ago, and it was *incredible*. Traits? No problem. RAII? Sure yep of course. Pointers? References? Mutability? Unsafe? Check, check, check, and check. I swear it took like about an hour before they were working through the intricacies of PhantomData. I was stunned. It was great lmao.

    Open ##5325127

  • @slesa@social.saarland 2026-09-15 18:53

    @ekuber@hachyderm.io C/C++/C#/F#/Elixir/Prolog

    Open ##5325128

  • @kevin@mastodon.km6g.us 2026-09-15 19:24

    @ekuber@hachyderm.io I didn't have much trouble picking up Rust, in spite of never having used a functional programming language (OCaml/Haskell/etc) much at all. I do have decades of experience across a variety of languages though, so that probably helped. Honestly the parts of 'learning Rust' that were the most difficult for me were the implicit behavior things. Any situation where you tell the compiler to 'use' one thing but that brings in various traits and that makes a completely unrelated (visibly) thing later in the code become compileable... that sort of action-at-a-distance thing really bothers me.

    Open ##5325130