I'm experimenting with #Rust again, and my eyes always bleed with the "lifetime annotation syntax" - why does it have to use an apostrophe ๐Ÿ˜ฉ .

&'a mut i32

fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {

impl<'a> System<'a> for LeftWalker {
type SystemData = (ReadStorage<'a, LeftMover>,
WriteStorage<'a, Position>);

But this time I'll try not to rage quit in digust again. I'll stick until this experiment ends. #rustlang

Another one:
- Generics in every language: Vector<MyType>()

- Rust:

Nope:
Vec<u32>::new();

This works:
Vec::<u32>::new();

And this ALSO works:
(Vec <u32)>::new();

So I can't use the universal language of: Vec<u32>::new();

But I can do (Vec <u32)>::new();

#Rust #rustlang

What kind of syntax is that? For the past 28yrs I used more than 12+ langs in every kind of project & the ugliest language I've seen is Rust.

Yes, EVEN UGLIER THAN ERLANG, at least Erlang is consistent and makes sense.

DREAM:
- Systems programming language w/ the safety of Rust
- a package manager
- the ecosystem/community size of Rust
- C/C++ tooling (debugger and LS)
- C/C++ interop
- ALL OF THAT with a Ruby-like syntax

The answer could be Crystal, but unfortunately it has a tiny tiny ecosystem and Windows is a 2nd class citizen and Crystal has probably the slowest compiler on Earth.

Nim is probably the answer (it's Pascal-like), but Nim loses on tooling.

Other suggestions?

#Nim #NimLang #Rust #RustLang

rust/tests/ui/parser/bastion-of-the-turbofish.rs at master ยท rust-lang/rust

Empowering everyone to build reliable and efficient software. - rust-lang/rust

GitHub

Not everything is ugly with the #RustLang syntax! I just stumbled upon two pieces of #Rust code that I found to be elegant.

I just love pattern matching.

@alfredbaudisch I did like elixirs pattern matching a bit more, though. But that model is probably only possible b/c of elixirs more dynamic-ish type system.

@berkes Elixir is the queen of pattern matching, but it's not because it's dynamic, it's because it's a functional immutable language. In Elixir you rarely (or never) use if's, loops and the like, instead, you rely on pattern matching functions and cases, everything is pure.

I'm working w/ Elixir right now & in the screenshot is a function I was looking at, it's all the same function, but with different matches.

(also I work with Elixir full time since 2015, so also I might be biased too)