Live data from Hacker News

Viewing profile — ralfj

ralfj

HN member
Joined
Mon, Jan 11, 2016, 1:51 PM UTC
HN karma
471
Public activity
95 items

About ralfj

No profile information was provided.

Recent public activity

  1. comment
    Comment #44693183

    > "arbitrary concrete behavior" means that at this point anything can happen on the real machine. This implies that everything before this point has to behave according to the spec…

  2. comment
    Comment #44692614

    > They also count data race freedom as part of memory safety, which I think is wrong (and contradicts their inclusion of Java and even Go in the list of memory safe languages). For…

  3. comment
    Comment #44692583

    > The C definition is that "undefined behavior" can have arbitrary concrete behavior, not that a compiler can assume it does not happen. What is the difference between those? How d…

  4. comment
    Comment #44692521

    Thanks! I added a reference to that in the blog post. Interestingly, in 2012 Rob Pike explicitly said that Go is "not purely memory safe" because "sharing is legal": https://go.dev…

  5. comment
    Comment #44692434

    It's impossible in safe Rust (modulo compiler bugs and things like using a debugger to poke in the program's memory from the outside). That's the key difference. Of course unsafe R…

  6. comment
    Comment #44685991

    > The rest is your bug; the variable values coming out of sync with each other, not maintaining the invariant among their values. If the language and its runtime let me break their…

  7. comment
    Comment #44685857

    (EDIT: removed the first part since I realized you were replying to some comment further up, not my example.) > Rust has, unfortunately, changed the narrative so that people now be…

  8. comment
    Comment #44685668

    See https://www.youtube.com/watch?v=QrrH2lcl9ew for a a presentation of Google's study, which found no measurable difference in productivity between teams using Rust vs Go.

  9. comment
    Comment #44685612

    Fair, I misunderstood then. :)

  10. comment
    Comment #44685594

    > The perception created by your article is that people shouldn't use Go because it's not memory-safe. Uh, where exactly am I saying or implying that? I am, in fact, saying that Go…

  11. comment
    Comment #44682873

    > it met one common definition of "memory safety", which was essentially "have a garbage collector" This is the first time I hear that being suggested as ever having been the defin…

  12. comment
    Comment #44682773

    Yeah, Go is often listed with memory-safe languages, I know that. And yet when people define memory safety, Go usually fails to satisfy that definition. That's why I was asking for…

  13. comment
    Comment #44682763

    You keep making arguments by assertion without giving sources, so :shrug: yeah this isn't going to go anywhere. I think we actually agree on all of the factual points here, we just…

  14. comment
    Comment #44682695

    Can you point me to the Go definition of memory safety? I searched all over their website, and couldn't find any. (But also, it'd be kind of silly for every language to make up the…

  15. comment
    Comment #44682664

    > There is plenty of undefined behavior that can't lead to violating memory safety. For example, in many languages, argument evaluation order is undefined. If you have some code li…

  16. comment
    Comment #44682646

    Java also sometimes uses "memory safe" to refer to programs that don't have null pointer exceptions. So in that sense, Java isn't memory safe by construction either. These terms ar…

  17. comment
    Comment #44682595

    > Curiously, Go itself is unclear about its memory safety on go.dev. Yeah... I was actually surprised by that when I did the research for the article. I had to go to Wikipedia to f…

  18. comment
    Comment #44682479

    > Another way to reach the same conclusion is to note that this post's argument proves far too much; by the definition used by this author, most other higher-level languages (the a…

  19. comment
    Comment #44682407

    Yeah, I can totally believe that this is not a big issue in practice. But I think terms like "memory safety" should have a reasonably strict meaning, and languages that go the extr…

  20. comment
    Comment #44682336

    Yeah I understand that that's how you like to use the term, you've been very clear about that. What I am curious about is whether that's just you. Because the source you gave last …

  21. comment
    Comment #44682304

    > While you're wondering why I keep claiming Go is a memory-safe language, you can also go ask the ISRG, which says the same thing I am at And yet Go violates the definition they g…

  22. comment
    Comment #44682245

    > It reads 42h because that address is hardcoded, It is trivial to change this example into an arbitrary int2ptr cast. > Go (or Python, or any of the other mainstream languages tha…

  23. comment
    Comment #44682239

    PLT has used the term "type safety" for a very long time -- so "safety" does not imply a security perspective. And yes it is indeed very different from correctness. But the article…

  24. comment
    Comment #44519131

    > So, while I can imagine that Miri could be best in class, that class itself has significant limitations. Sure -- but it's still better than writing similar code in C/C++/Zig wher…

  25. comment
    Comment #44519103

    > This is different from no aliasing of Rust, where mutable references of even the same type may not alias. It is different, yes. I never said it was the same. Your claim was that …