Live data from Hacker News

My negative views on Rust (2023)

chrisdone.com

291–300 of 308 posts

Re: My negative views on Rust (2023)

#291
post #264

Earlier quoted context omitted.

Yes, NVidia has support for .NET on the CUDA ecosystem via partners, the only one that matters on GPGPU. Yes, Linaro is doing work for managed runtimes on RISC-V, although it remains questionable how much RISC-V matters outside nerd circles.

> Yes, NVidia has support for .NET on the CUDA ecosystem via partners, the only one that matters on GPGPU. Ironic because "via partners" is equivalent to "doesn't matter".

No my dear, it matters enough that in a freetards world, there are people willing to pay for such product.

Re: My negative views on Rust (2023)

#292

Earlier quoted context omitted.

> Dec 13, 2017 OK, here’s a newer project which does about the same thing i.e. compiles C# to PTX https://ilgpu.net/ BTW, it supports OpenCL backend in addition to CUDA.

> https://github.com/m4rs-mt/ILGPU/releases/tag/v1.5.1 > Sept 2023. you guys just don't get it - there's a reason why CUDA is a dialect of C/C++ and not C# and it's not because the engineers at NVIDIA have just never heard of C#.

You are the one that doesn't get it, just like Intel and AMD creating CUDA clones that only focus on C and C++ APIs from CUDA, and not on CUDA the C, C++, Fortran, and PTX ecosystem.

Re: My negative views on Rust (2023)

#293

Earlier quoted context omitted.

> RISC-V The work is underway: https://github.com/dotnet/runtime/pulls?q=label%3Aarch-riscv > Nvidia's PTX, AMD https://ilgpu.net/ and even https://github.com/m4rs-mt/ILGPU/blob/c3af8f368445d8e6443f36... While not PTX, there's also this project: https://github.com/Sergio0694/ComputeSharp which partially overlaps with what ILGPU offers Arguably, even C++ itself - you are not using "full" C++ but a special subset that…

> you are not using "full" C++ but a special subset that works on top of specific abstraction to compile to GPUs you're wrong - GPU offloading is just window dressing (#defines and CMake) around the compiler itself, which supports almost all of C++; see https://libc.llvm.org/gpu/ which builds libc (which is implemented using C++ in llvm) to amdgpu/ptx/etc. > C# provides you the tools and a solution other languages in…

Goverments of the world in their upcoming cybersecurity laws do.

Re: My negative views on Rust (2023)

#294
post #267

Earlier quoted context omitted.

Meanwhile there are companies doing just that, better let their management know how fool they are selling bare metal real time Java runtimes, Oberon, Go and C# based microkernels. Even more so the fools that given them money for such products. /s

Look, I know there are bare metal Java runtimes (I've done assessment projects for some of them), I just don't want to litigate the point. I'm fine with a definition of "kernel programming" that fits Linux and the NT kernel and nothing else.

A quite reducing view of the computing world.

Re: My negative views on Rust (2023)

#295
post #287

Earlier quoted context omitted.

> it's coming from misunderstandings of what the language is “You are just not holding it right.” Rust borrow checker indeed does force you to make contorsion to keep it happy and will bite you if you fail to take its particularity into account. It’s all fine and proper if you think the trade-off regarding safety is worth it (and I think it is in some case) but pretending that’s not the case is just intentionally del…

Can you give me an example of what the borrow checker prevents you from doing without calling Rust developers delusional? The hardships are way overstated, in my opinion. One issue I can think of newcomers might have is immutable and mutable references. You can't borrow as mutable something already borrowed. Let's say you have a reference to a Vec element, then you add an item to Vec. The realloc could invalidate tha…

I’m not calling Rust developers delusional. I’m calling people pretending the borrow checker doesn’t force you to specifically architecture your code to suit it delusional.

> Rust is definitely hard, but after a while it's fine and you kind of get how even if using another language you still have to think about memory.

That kind of comment is a typical exemple. It’s not that you have to think about memory. You have to understand the exact limitations of the analyser Rust uses to guarantee memory safety. I don’t understand why it’s so hard to accept for some part of the Rust community.

Re: My negative views on Rust (2023)

#296

Earlier quoted context omitted.

>> I just do not see why people seem to use "unsafe" so much >Because it’s impossible to implement any non-trivial data structures in safe Rust. Even Vec has unsafe code Hmm.. wasn't memory safety the main selling point for rust? If not the only. Now mix of two languages looks even worst than one complex. Especially taking into account that it can be paired with safe language from long list. Don't know what rust fans…

Memory safety without gc is not the only reason people use rust. It's also nicer to use than C++ for multiple reasons (language features, included package manager, easy to integrate tests...)

I use Qt, and I think if you have the Qt libraries then C++ is way better than rust. Most things are there instead of having to go and find a crate and then decide which one to use and hope it will remain maintained.

Re: My negative views on Rust (2023)

#297
post #111

Earlier quoted context omitted.

>> I just do not see why people seem to use "unsafe" so much >Because it’s impossible to implement any non-trivial data structures in safe Rust. Even Vec has unsafe code Hmm.. wasn't memory safety the main selling point for rust? If not the only. Now mix of two languages looks even worst than one complex. Especially taking into account that it can be paired with safe language from long list. Don't know what rust fans…

Nope it isn't. You just aren't experienced in system programming. Working with hardware is unsafe since it has state that one cannot completely encapsulate in a single program. The entire specific design of a chip isn't available to programmer; only the machine code is. We usually don't know how a processor decides to cache things or switch to kernel permission level. Usually this isn't even the level we're at, OSes…

> Those languages don't come with mechanisms to let you to make system calls directly or handle the precise memory structure of the data

Eh? You can of course do all of that in python. https://docs.python.org/3/library/struct.html

Re: My negative views on Rust (2023)

#298
post #116

Earlier quoted context omitted.

In what way am I "out of luck"? It's trivial to express a tree, including one with backlinks, in Java.

and then your gc will leak it. Rust programs are not only safe but CPU and memory efficient.

This has been a solved problem for decades.

Re: My negative views on Rust (2023)

#299
post #290
post #279

Earlier quoted context omitted.

Yeah I’m sure they exist, but googling “C++ ISO Rationales” doesn’t give me them. Searching for “Rust RFCs” reveals a git repo with thousands of markdown files describing features and their motivations with links to discussions.

Because ISO processes are only open to those in the know. Same applies to Ada, C, Modula-2, Pascal, Fortran, Algol, Cobol,.....

That's... what I originally said... "in the know" and "you had to be there" are effectively the same statment

It's is exactly why I feel more comfortable with complexity creep in Rust as opposed to C++, since I can easily find and read the rationale for just about every feature.

Re: My negative views on Rust (2023)

#300

Earlier quoted context omitted.

A bit off topic, but how do people usually write code here or on Reddit, I always find it to be really cumbersome to make sure there's two spaces etc in front of everything? Is there some formatting tool that I'm not aware of that everyone else uses? Because in both forums I keep coming back to edits, and it takes forever to edit some of the things, manually. I feel like I'm being stupid or the UX of all of that is j…

I paste the code into an invocation of sed s/^/ /

Specifically:

1. Copy code to clipboard.

2. From a shell prompt on macOS,

  pbpaste | sed 's/^/  /' | pbcopy
Linux (Wayland),

  wl-paste | sed 's/^/  /' | wl-copy
Linux (X11),

  xclip -o -se c | sed 's/^/  /' | xclip -se c
Windows (PowerShell),

  Get-Clipboard | % { $_ -replace '^','  ' } | Set-Clipboard 
3. Paste into HN.
Post reply on HN