>This isn't an apples-to-apples comparison
Sure but the comparison or topic at hand was safety. In the case of safety, python is more safe.
>Please refrain from this kind of thing on HackerNews.
Why? I'm saying the general opinion among most people is that my point is correct. Your point is unique and more exclusive to you. Why refrain from stating general opinions and distinctions? I think you should refrain from telling people not to state reasonable things.
>In terms of maintainability, Python's dynamic types are a disadvantage,
Safety is correlated with maintainability. Before I address this, let me say that python now has type annotations and when paired with external type checkers during build time, python effectively becomes a statically typed language with compile time type checking and a type system more consistent and powerful then C++.
That being said. My claim is EVEN without using type annotations, python is by far more safe and more maintainable then C++, simply because of higher traceability of errors.
>Traceability of errors isn't everything. It's also important for a language to help the programmer avoid introducing defects in the first place.
Yes of course. But again this isn't the point. The point is python vs. C++. That being said my claim on the side also supports the notion that error traceability is more important then pre-compile time safety.
>There's no reason to be defensive. Not everything is a refutation.
Not being defensive. Just not seeing the point. There's a topic, but your introducing topics that are obvious? It's like you saying the sky is blue. Thank you for letting me know, but why?
>I'm not certain what you mean here. Which languages are you thinking of?
Crashes or undefined sections of a language are defined by the language itself. You can always design a language where every hole is filled. Outside of using up too much memory and FFI there are languages that are defined so that they can never crash and that there is zero undefined behavior period.
>It's very often useful for a language to have runtime checks that may result in immediate termination,
There are languages that don't even compile with out of bounds access. Such languages force you to write handler logic in order to even work.
>We're agreed on this point, although I'm not sure I'd say Python has more holes for crashing.
Python does have more holes for crashing. The thing is those holes aren't "undefined" though. They're very much defined behavior. That's why they're so traceable, but these are still holes in my mind because there are languages so safe that crashing holes don't even exist.
>Our discussion has not been limited to safety.
No it has not. but mainly because you've been taking it on tangents. I've been addressing your tangents but the main point is: Python is safer then C++. If we agree then the discussion is finished in my mind. I stated that here.
https://news.ycombinator.com/item?id=31225265
I mean I'm ok with tangents but in a lot of discussions, this one included, the tangents are introduced in a way that obfuscate the main point. There's a discussion where I'm trying to prove a singular point and then suddenly one person introduces 20 different topics and pretty soon the singular point is lost in the weeds. Nobody was a definitively right or wrong.