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.