Fork me on GitHub
#clojure-nl
<
2020-06-17
>
gklijs06:06:52

Morning, gonna be doing some Rust in my free time the next weeks. But if all goes well get me to speak at Kafka Summit 😀. To bad it's not in Taxas.

skuro08:06:36

online event I presume?

gklijs09:06:10

Yes online.

Lennart Buit09:06:05

How do you guys go about learning a new language like Rust; I find it immensely interesting, but never managed to get past the fighting the borrow checker stage

borkdude10:06:31

@lennart.buit I recommend reading the Rust book and doing the exercises

Lennart Buit10:06:31

Right! That went much more elaborate since I looked at it a few years ago

gklijs10:06:58

Yes, Rust book, and if you are prepared it's going to be tough, it's actually not so bad. The borrow checker also gets improved over time, where the compiler does more and more of the inference, and less code/boilerplate is needed in some cases.

Lennart Buit10:06:12

Yah, mostly lack of trying at my side. I didn’t really have a project or something, so I just stopped when it became a bit challenging ^^

borkdude10:06:47

I do have one "real" Rust project: https://github.com/babashka/pod-babashka-filewatcher of course it's to enhance babashka / Clojure 🙂

Lennart Buit10:06:58

Epic! I was like, is this JNI or some epic Graal option or something, but no, just plain old stdin/stdout

borkdude10:06:55

yep 🙂

gklijs11:06:53

I find it useful to learn one thing at a time. So for example not a new IDE and a new language at the same time. If you have a small existing project in Clojure, you could try to do the same with Rust. It decreases the complexity, and is probably easier to debug than a 'new' project.

Lennart Buit12:06:19

Right; yeah, thats always my struggle. Trying to do something new in a new language

borkdude12:06:08

welcome to contribute to the filewatcher. one thing I want to add to it is able to unwatch a directory or something like that

borkdude12:06:08

the challenge there is to manage multiple filewatcher objects in some vector or mutable map and destroy them later. my Rust isn't that good yet

Lennart Buit12:06:21

you would say its rust-y

Lennart Buit12:06:29

I’ll show myself out

Lennart Buit12:06:04

this is our office humor, can’t help it

borkdude12:06:23

thanks for letting me in on your office humor

Lennart Buit12:06:04

Anyhow, I’ll take a look as to whether I can help with that. Sounds like a good / contained challenge!

borkdude12:06:01

it does involve some knowledge of lifetimes, the relevant knowledge is in the last part of the Rust book

skuro12:06:27

are you guys doing rustacean things in emacs ?

skuro13:06:37

looking around, seemed to me that rust-analyzer was kinda recommended, but it's fairly hard for me to compare the two LS implementations

borkdude13:06:09

haven't tried that one

borkdude13:06:50

I did the google half a year ago, maybe things changed

borkdude13:06:03

but I know my setup works, so I ain't changing it now 😉

skuro13:06:16

oh I know the feeling

skuro13:06:26

emacs config + muscle memory be like

gklijs16:06:40

I'm almost always using IntelliJ. But it feels more sluggish with each release. Might try VS Code at some point.