I think what you’re calling ugly is just static typing. There’s no way to make it look beautiful unless you leave the types away, but then you either end up with some kind of dynamically typed looking language by declaring things twice: once with types and then without.
At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.
It’s doubtful you’ll find a statically typed language that does a better job. C/C++ look even worse than rust. Go and Zig don’t look good either, IMO.
At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.
This is pretty much how OCaml works and you can omit the types altogether if you don’t specify an interface file, in most cases. But it’s not hard to deal with in practice since IDEs (and text editor + LSP plugin) can easily show the inferred type on inspection.
Nevertheless, I don’t really find Rust to be ugly either.
I think what you’re calling ugly is just static typing. There’s no way to make it look beautiful unless you leave the types away, but then you either end up with some kind of dynamically typed looking language by declaring things twice: once with types and then without.
At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.
It’s doubtful you’ll find a statically typed language that does a better job. C/C++ look even worse than rust. Go and Zig don’t look good either, IMO.
I’m a long time C user Almost everything I write is in some strongly typed language lol
I still find C much easier to read and understand than any large Rust codebase
C is not strongly typed
This is pretty much how OCaml works and you can omit the types altogether if you don’t specify an interface file, in most cases. But it’s not hard to deal with in practice since IDEs (and text editor + LSP plugin) can easily show the inferred type on inspection.
Nevertheless, I don’t really find Rust to be ugly either.