Hacker News new | ask | show | jobs
by empath-nirvana 877 days ago
> significantly increases bug count per delivered software feature.

Going to need a source for this.

1 comments

It should be fair obvious that when you use a very verbose very boiler plate heavy coding style like static typing that because the programmer is writing a lot more lines of code per software feature and because the programmers make errors on a per line written basis that the number of the bugs will drastically increase.

You can easily find information on duck typed programs being significantly shorter and that statically typed and ducked typed programs have the same bug count per line. You can also look at the language defective tables showing ducked type Clojure as having the least bugs in commerical software and statically typed C++ having the most bugs in commerical software.

Google is your friend here.

So not only did you pull the original comment's assertions out of your _bag of holding_ but rather than citing sources when asked, you doubled down on "well if you know you know" and claim that the (often relatively small) increases to line lengths of type-annotated programs somehow magically increases the number of bugs, again with no evidence.

If you're not going to bring bold numbers to support bold claims, why should any of us bother listening?

There is nothing bold about the claims, knowing the differences between the various typing systems and their advantages and disadvantages is standard stuff.

I mean you could always try to find some sources to try and prove me wrong if you want?

I don't have a dog in your fight regarding the original point you made related to the number of bugs increasing but the logic in your comment is flawed though.

"I mean you could always try to find some sources to try and prove me wrong if you want? "

That's not really how it works though. If you make a claim, either you back-it up or it's irrelevant.

Case and point: I believe that a flying tea pot created the universe. By your logic I am right and it should be up to you to prove me wrong.

So to conclude this argument, if you are correct, you should prove it as the person who responded to you asked you to do.

Failing that,your comment goes back to being nothing more than your opinion instead of a fact.

We assume in good faith that statements made in comments on social media are true. If this was an academic paper, then perhaps you would be correct. But on social meda, asking for sources for what is basically common programming knowledge is borderline trolling.

If s/he thinks that what I'm saying is wrong so strongly then they can go back that up with something. They will obviously fail terribly because I'm correct but that is their choice.

I've thought that adding the type information is to help less bugs, so I'd be curious to see evidence of the contrary.

I use python add my day job, and I hate writing and dealing with typing. I do admit it makes it easier to reason about other people's code though, especially when faced with libraries that don't have any hints.

I have no idea why anyone would assume assertions made in social media comments are true.

I could write "Humans have actually always had blue skin and hair, but due to a cosmic ray warping our ocular nervous response systems 1000 years ago, we now see humans the way we see them today". And I'd damn well hope someone would ask me to back this absurdity up with evidence.

... and thus: "lalalala I can't hear youuuuuuuuu over the sound of being right!" doesn't make for a good look, is basically what I'm telling you, and asking you to please either cite some sources, or stop doubling down on having to be right because you said so. This is such a ridiculous exchange I'd swear I was having it as an elementary school teacher.

I have written type-annotated Python for as long as type annotations have been a thing.

"Number of bugs will drastically increase" is simply wrong.

Type checking prevents bugs before they ship.

There are numerous academic studies that show that type checking does not reduce errors in shipped code by an statistically significant amount.

Type checking mostly shows that code can be compiled successfully. The thing it was designed to do.

> There are numerous academic studies that show that type checking does not reduce errors in shipped code by an statistically significant amount.

i've read some of these studies, they don't prove much. it's typically languages with inexpressive type systems like java.

>Type checking mostly shows that code can be compiled successfully. The thing it was designed to do.

what languages are you thinking of when you say things like this? these debates are useless because one person is thinking of the type system of language X and the other person is thinking of language Y. a lot of heat but little light.

Over the years, plenty of people have wanted to show that static typing gives code correctness benefits over dynamic typing. Everyone who tries just falls flat on their faces.
again, specifics please. which languages are you thinking of?

I don't see how e.g. [1] or [2] are "falling flat on their faces".

[1] https://fsharpforfunandprofit.com/posts/designing-with-types...

[2] https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-va...

or even something as basic as non-nullable types, enforced at compile time. a clear, obvious win.