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