Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well ... Name a language is which you categorically cannot "shoot yourself in the foot"!


The issue is that it's a spectrum: how easily you can shoot yourself in the foot, especially on accident, without awareness of the risks. And perhaps what the consequences are when you do. Risk and consequence. C is high risk and also high consequence.

In higher level languages, you can't shoot yourself in the foot nearly as easily in such a way as to trivially create a correctness problem and security vulnerability (like a buffer under/overflow). Languages like Java and C# make it pretty difficult to shoot yourself in the foot this way (though you still can in other ways, like with incorrect concurrency). Rust makes it a lot harder to shoot yourself in the foot across the board, especially on accident (i.e., without being aware that you're something dangerous and low-level, viz. `unsafe`).


And even in Rust, the unsafe code guidelines and UB are extremely hotly debated and well-defined whenever possible.


The "categorically" part is a useless qualification, you don't program in a binary world, the ease with which a footgun is possible in a language is very important and can't be reduced to isPossible


I do most of my programming in a binary world.


You do none. You program FOR the binary world, but in a complex 3D reality


I've tried programming by moving physical objects, but I've found it's generally easier if you use a digital computer.


Haha, you have no idea how powerful my dissociation is! I could very well be programming in a binary world, if my dissociative identity is linked to the computer!!

Jokes aside though, I doubt that no programmers are immersed in the computer while they code. It totally is a different world, just implemented inside this one.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: