Uphill

weaselcat via Digitalmars-d digitalmars-d at puremagic.com
Sun May 24 12:06:27 PDT 2015


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.


More information about the Digitalmars-d mailing list