On Sunday, 24 May 2015 at 18:40:49 UTC, Paulo Pinto wrote:
On Sunday, 24 May 2015 at 17:22:26 UTC, bachmeier wrote:
On Sunday, 24 May 2015 at 11:59:00 UTC, Paulo Pinto wrote:
On Sunday, 24 May 2015 at 09:43:38 UTC, bachmeier wrote:
On Sunday, 24 May 2015 at 07:21:19 UTC, Joakim wrote:
Rust's syntax dooms it to the same niche as Haskell.

They'd have been better off to go with XML. I think the developers got comfortable with the syntax as they went along, and they have no idea just how ugly it is.

Maybe let Apple (Swift) and Microsoft (F#, F*, Haskell, OCaml) know about it.

I'm not sure what you're saying. Apple and Microsoft are responsible for Rust's syntax?

All those languages are based in the ML syntax.

Which means many do find such syntax pleasant and it is being adopted by companies with major impact in the industry.

--
Paulo

Rust's issue isn't the ML syntax, it's the explicit lifetime management and extremely verbose error system. A typical rust block is nested 10 levels deep of matches and full of random 'a 'b 'c annotations everywhere.

I think ML-based syntax has a very clean feeling about it and IMO Rust has definitely not inherited that[1].

Furthermore, I strongly dislike that Rust has made it completely impossible to opt out of bounds checking without annotating your code with unsafe. Bounds checking can absolutely destroy a tight loop's performance(as has already been seen quite a few times in scientific/mathematical Rust benchmarks against other native languages.)

FWIW I'm not picking on Rust, I used it for a rather long time(while in beta, obviously) before I switched to D full time for my academic work and I don't regret my decision. I thought Rust would get more improvements than it did. I feel like they made so many poor decisions as the development went on, cut so many good features etc just to cater to the non-ML crowd that the language ended up being a frankenstein mess.

[1] - https://github.com/andreaferretti/kmeans/blob/935b8966d4fe0d4854d3d69ec0fbfb4dd69a3fd1/rust/src/point/mod.rs#L54 this is fairly typical Rust code, I found it by a random Google search.



Programs must be written for people to read, and only incidentally for machines to execute.

Reply via email to