🦀 What made you interested in learning Rust? #25
Replies: 5 comments
-
My story: I learned and regularly coded in a handful of programming languages while studying computer science in university and working part-time at software engineering internships. Once I graduated I got hired as a full-stack web developer in San Francisco but most of work I did was on the frontend. As a consequence I got really good at JS but kinda forgot everything else. I didn't want to be just any software engineer but I wanted to be a good software engineer, and how many good software engineers do you know that only know one programming language? Probably a couple, as there are always exceptions to any rule, but most of the engineers I looked up to seemed to have experience with a broad range of languages, and naturally I wanted to be like them, so I decided I'd seriously learn a second programming language so I'd have something in my skillset other than just JS. Here's all the languages I considered and ultimately ruled out: Python, Ruby, PHP - Don't seem to offer anything particularly novel over JS. Java, C# - Most frameworks, libraries, and tools seem to be bogged down by a lot of painfully verbose "enterprise" patterns. As if every dependency needs to be created by an AbstractFactoryGenerator and then injected by some ServiceContainer. Scala, Clojure, Kotlin - All facelifts over Java but they seem impossible to use without also having to know and use Java since I think they depend on the Java standard library and a lot of 3rd-party libraries are just wrappers around 3rd-party Java libraries so when something inevitably breaks if you go down the error stacktrace long enough it eventually stops being Scala, Clojure, or Kotlin and becomes Java and now you have to debug Java. No thanks. Kotlin, Swift - Seem to only be used for mobile development which I'm not interested in. Prolog, Haskell, OCaml, Elm, Nim, D, Crystal, Zig, Lua, Dart, etc - Some of these are really interesting but they have tiny communities which means they also have tiny ecosystems, poor tooling, you can't get easily get help if you run into problems, and its rare to find them used in production at any company. Elm, CoffeScript, ClosureScript, ScalaScript, TypeScript - Didn't see the point in learning these when I already know JS. Go - Two things in particular really killed any enthusiasm I had for learning Go. First, it's a strongly and statically typed programming language but doesn't have generics. Second, it didn't have an official dependency manager. I expect languages that are developed and released in the 21st century to come with 21st century tooling and features and these rough edges of Go made me feel like it came out of the 90s. C & C++ - Header files, ugh, no thanks. Also no official dependency managers or build tools. Rust won me over with:
I'll say the first couple times I tried to learn Rust I failed miserably. I just couldn't wrap my head around the ownership and borrowing system and quit multiple times out of frustration. I think it wasn't until my 3rd or 4th attempt to learn Rust that I really stuck with it and finally "got it". Then I started this blog to help other people "get it". |
Beta Was this translation helpful? Give feedback.
-
I am interested in rust because:
|
Beta Was this translation helpful? Give feedback.
-
I am interested in Rust because I want to build "executables" without runtime like the JVM. For my day work, I do mainly Java and node for the backend. I would like to run the backend in the cloud. So it would be beneficial when the program starts fast and the container is small (e.g. running with Google Cloud Run) For that reason I looked into golang and rust. But Go has no generics and this fact is an exclusion criterion. Playing with Rust is also good to learn stuff that you would not otherwise come into contact with. Currently I try to solve the rust track of https://exercism.io/ From the language point of view I also like Kotlin very much. (BTW, you can use it perfectly for backend development not only for mobile) |
Beta Was this translation helpful? Give feedback.
-
Performance + Safety |
Beta Was this translation helpful? Give feedback.
-
I started learning rust in 2020. At that time, our team is looking for a cross platform, stable and efficient programming language.We compared java go and rust.At first,we eliminated java,because jdk is too large.Later we found rust's description from www.rust-lang.org:
It made us choosed rust. |
Beta Was this translation helpful? Give feedback.
-
Were you bored? Was it out of intrigue after hearing about Rust from a friend? Was it for school? Was it for work? Did you have a project you always wanted to do and Rust just seemed like the perfect candidate language to write the implementation in?
Beta Was this translation helpful? Give feedback.
All reactions