4 ms·
I try to describe Rust to lots of people. It's astonishing to me that most people have not imagined the possibility of a language having manual memory managemen
by jganetsk 13y ago
I try to describe Rust to lots of people. It's astonishing to me that most people have not imagined the possibility of a language having manual memory management with the compiler checking for mistakes and guaranteeing safety. So many programmers have such a low opinion and comprehension of type systems that it's very regrettable.
- jeffdavis 13y agoI am one of those people who didn't really consider the possibility. It's not that I thought it was impossible, but I dismissed it as probably impractical to use. Rust is showing that it's actually practical, in a somewhat-normal language with somewhat-normal libraries.
- twic 13y agoThey should use that on their publicity material: "Rust: it's somewhat normal".
- oscargrouch 13y agoWe can see a live example of that in some of the comments in this thread.. Two decades of garbage collected languages, with fat runtimes that does everything under the hood + lazy programmers with Moore's law mentality Note: its ok for script languages that have exacly this purpose, to be easy and ask less from the programmer.. like Javascript or Lua.. But its a shame that languages like Java have created such a bad mentality.. For system programming its not cool to abstract the machine too much.. we've learned that lesson the hard way (see the big projects like hadoop in manage languages for an example) Those languages asks almost nothing to use them.. but you end up paying a lot more latter, because of the abstractions layers you just cant change.. You are lucky if you project starts simple and remain simple over time, but the majority of the projects are not like that.. Yes: javascript for system programming like in nodejs is a bad idea (as in: "free entrance, pay with your blood later")
- bad_user 13y agoOh master, please teach an unworthy soul the path to the true enlightenment you must be experiencing everyday while being close to the metal, because this fool was blinded by the promises of fat runtimes that can deliver business value in a shorter amount of time without having to worry about the cost of virtual table dispatches, memory leaks, buffer overflows or differences in the memory models and libc versions of the underlying operating system. > For system programming its not cool to abstract the machine too much.. we've learned that lesson the hard way (see the big projects like hadoop in manage languages for an example) Oh master, please do say what's wrong with Hadoop, one of the best and most successful pieces of open-source infrastructure. Truly you must know of a better alternative that isn't burdened with the cancer that is the JVM. Also, you must mean something different when you're saying system programming, because in my dictionary, Hadoop ain't it. Not a native english speaker here, must take some lessons apparently.
- teacup50 13y agoYou're proving the point, here. The "enlightenment" IS that you can achieve type safety and "business value in a shorter amount of time" WITHOUT the overweight JIT'd runtimes.
- Dewie 13y agoIn which language can you get all of that in a shorter amount of time? Rust? I'd have thought that it is still too early to say, but maybe there have been a lot of reports of that even by now.
- SkyMarshal 13y agoFwiw, I never appreciated type systems till I learned Haskell, which showed me that mere data types do not a type system make. Type classes, signatures based on currying, an entire language designed around sophisticated type theory, it was probably the biggest eye opener since grokking lisp's code is data is code paradigm. But most undergrad education is C, C++, Java, and maybe Python these days, and don't get me started on Rails schools. You tend not to learn this stuff unless you hang out at HN, or Reddit back in the day, or read PG's essays, or are just naturally curious.