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

the point is that if some screwdriver is objectively better (doesn't snap and takes your eye off when you make a mistake) then the decision to use it shouldn't be affected by who recommends it.


> objectively better

Except it is not.

As any other language, it has many potential upsides and downsides in picking it depending on the context.

This lack of nuanced thinking from evangelists is precisely why some people just prefer to shut it off entirely.


So what you’re saying is: I like to program in C/C++ and don't plan to change, thankyouverymuch?


No.

I am saying that depending on the context I might pick Go. Or Java. Or Python. Or Node. Or C#.


Better for what? That is a huge and broad question to begin with.

For example, let's say Rust is the best language in the world, provably safe.

  1. it is in practice? You will use unsafe somewhere: C interfaces, for example, or some abstractions.
  2. even if it is still theoretically safer: can I finish my work with it? Ecosystem, libraries, etc.
  3. do I have trained people for it?
  4. what is the cost of writing software in it compared to other languages?
  5. is my system really, really safety-critical? What are the consequences of my program not working well?
If it was really that easy, all of us would code proofs with something like this: https://dafny.org/ and would use languages like Rust.

That is not the case at all and there are a ton of variables, from which cost, and I mean short vs long term cost where short term or middle term dominates for which it makes just more sense to choose the "worse" tool. Why? Because the "worse" tool will make that piece of software exist. The "better" one will probably make it never exist, because of other costs.

Whoever ignores this when doing anything, from coding to other activities, then that's ignoring reality. If human lives are at stake, yes, increase the cost a lot, make it the safest you can, but, even in that case, probably achieving 100% is impossible, or maybe achieving 99.999999% is 10 times cheaper than achieving 99.99999999999999999%.

By this measure, we would not have a lot of the imperfect inventions that improved over time in many areas.


In theory. In practice, there is no "objective" for most things. Only pros and cons.

And if the people advocating it are crazy, you might start to wonder if they're telling the whole truth!

This really applies to everything IMO.




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

Search: