5 ms·
Programming languages can be a very personal thing. But I will offer my perspective having used C++ extensively (both modern and awful), Go, Rust, a little Hask
by eloff 6y ago
Programming languages can be a very personal thing. But I will offer my perspective having used C++ extensively (both modern and awful), Go, Rust, a little Haskell and some 20 other languages in my two decades career.
Rust is one of the nicest languages out there. Very well thought out, elegant, full low-level control for real systems programming (sorry Go!) AWS uses it a lot, Microsoft is starting to use it.
Go, or even Python is better if you just want to make a backend API for a (web) app. You'll be more productive with it over Rust because you have a GC and can ignore the whole ownership issue for the most part. Python for very small teams likely to stay small for a long time, Go otherwise.
C++ has come a long way, but it's still hairy and loaded with footguns and baggage. I would only use it these days if I needed to use a big C++ library (like a game engine).
I am no longer willing to use Haskell, PHP, Perl, Java or JVM languages, .NET or anything else that's not Go, Rust or Python. With the same caveat as C++ above. I pass over job postings that require them. That's not saying those languages are bad, just that in my personal opinion there are better tools out there, and if I'm going to work with it day in and day out, it had better be in something at the top of my list - because life is short.
- ragnese 6y agoHave you played with OCaml recently (last year or two)? Wondering what your opinion is on it, especially in relation to Haskell and Rust.
- adamnemecek 6y agoSpeed, developer ergonomics and community. It depends what you are building I guess but for example audio processing or graphics is still impossible in either of those.
- aprdm 6y agoSaying AWS uses it a lot is very misleading. Same for Microsoft. I won’t dispute that there are some teams using it but the majority of new projects aren’t in rust and there’s no trend for it.
- steveklabnik 6y agoDo you work at Amazon? That's not what it looks like from the outside. Lambda and Fargate are huge services, even if they're not all of AWS, and it only seems like they're ramping up more, even just from looking at the rate they're hiring Rust devs. Yes, it is not super massive, but it is in the production path for important things, and appears to be on quite an upward trajectory.
- adamnemecek 6y agoAlso AWS Firecracker.
- steveklabnik 6y agoFirecracker is the name of the project that is under Lambda and Fargate, yes.
- adamnemecek 6y agoAh ok.
- peculiar_throw 6y agoIt’s not a majority of course, but I think ‘a lot’ is a fair assessment. It is indeed ramping up. Earlier this year there were public job postings for an AWS Rust SDK. I’ve also seen adoption for it in critical components outside of Lambda/Fargate.
- aprdm 6y agoAWS has 1000s of services (literally). I would bet the vast majority of them are written in Java, including the new ones. I do not work at Amazon but I do have a couple of friends there both in Seattle and Vancouver. Everybody wants to look cool from the outside :-), blogging about how you're using Java in 2020 is not cool.
- steveklabnik 6y ago