As primarily a Scala programmer, Rust appeals greatly to me. It's basically the same language without cruft inherited from Java, and its much more amenable to optimisation that Java. For example, large heaps have unacceptable GC pauses, so projects like Cassandra invest a lot of effort into "off-heap" memory management (i.e. manual memory management). With Rust that just works a whole heap better (pun intended).
People tend to talk about "expressiveness" when discussing programming languages, which usually mean concision. I'm much more interested in what I call "expressive width", which means how high- and low-level can get in a language. PHP is little expressive width, because its runtime is so poor. Scala has good expressive width because I can play with threads, CAS operations, mem-mapped files, and even manual memory management (which is going quite far off-piste, but possible with sun.Unsafe). Rust has even more expressive width than Scala.
[Rust needs higher-kinded types before it will truly make me happy. I believe they'll arrive soonish.]
For your other points:
- P(interested in PL | interested in CS) != P(interested in CS | interested in PL).
Agreed, but I don't think it matters. Anyone interested in discrete maths (so, CS) will pick up Haskell quickly.
- "People who risk their company's investment (or make any important decision) based on stuff they drool over, might need to get their priorities straight."
Depends on your company's size and ethos. I'd rather have a few great people than a room full of monkeys, but I understand arguments that go the other way.
As primarily a Scala programmer, Rust appeals greatly to me. It's basically the same language without cruft inherited from Java, and its much more amenable to optimisation that Java. For example, large heaps have unacceptable GC pauses, so projects like Cassandra invest a lot of effort into "off-heap" memory management (i.e. manual memory management). With Rust that just works a whole heap better (pun intended).
People tend to talk about "expressiveness" when discussing programming languages, which usually mean concision. I'm much more interested in what I call "expressive width", which means how high- and low-level can get in a language. PHP is little expressive width, because its runtime is so poor. Scala has good expressive width because I can play with threads, CAS operations, mem-mapped files, and even manual memory management (which is going quite far off-piste, but possible with sun.Unsafe). Rust has even more expressive width than Scala.
[Rust needs higher-kinded types before it will truly make me happy. I believe they'll arrive soonish.]
For your other points:
- P(interested in PL | interested in CS) != P(interested in CS | interested in PL).
Agreed, but I don't think it matters. Anyone interested in discrete maths (so, CS) will pick up Haskell quickly.
- "People who risk their company's investment (or make any important decision) based on stuff they drool over, might need to get their priorities straight."
Depends on your company's size and ethos. I'd rather have a few great people than a room full of monkeys, but I understand arguments that go the other way.