> It's not a very strong claim, it's due to dynamic typing enabling the writing of more concise programs. The number #1 bug elimination tool is to simply write less code.
It is a strong claim, it's also a very precise claim. Where do your numbers come from?
Haskell and the ML family of languages also permit you to write much more concise programs than many other languages and they're definitely statically typed. How do they fare in your imaginary analysis?
> As a matter of principle, I won't provide citations unless you first provide some citation that says I'm wrong first. (You won't find one)
Ok, so you're an idiot. Got it. You can't make such a strong and precise claim and not back it up, and try to turn the tables by saying "No your citation!". You just come off like a petulant child (maybe you are?). Your claim makes no sense, and anyone who has at least 5 years of experience (probably less, actually) would know that.
You've asserted there are empirical studies on the topic to back your numbers. Just provide them.
This argument is in such bad faith it's hilarious.
Here's my much better argument: Instead of using dynamic typing, eating babies reduces the incidence of bugs in code by 1000x. If you don't believe me and would like me to cite a source, you first provide a citation saying something different to what I'm saying and I'll provide my citations. Come on, you can do it! (Hint: You can't)
If it really was a strong claim, you could disprove it easily.
I support you ReflectedImage - seems like these people just don't know how great dynamic languages can be! My team has actually seen a 30x decrease in bugs, and a 50x increase in productivity ever since switching to Python.
Well a lot of people are claiming that static typing reduces bugs compared to dynamic typing, but I haven't seen from them a shred of evidence of this.
When I go looking for myself what I found was studies saying that dynamic typing reduces development time by 2.5x and bugs per software feature by 2.5x.
So perhaps one of these people claiming that static typing reduces bugs over dynamic typing, could provide the slightest bit of evidence to backup their claims?
Is that too much to ask @spoils19?
But I'm pretty sure they will just find the exact same figures as me.
lol wow you're really something, this is literally one guy, there is TONS of research on this which contradicts his findings. This guy does a pretty good summary https://danluu.com/empirical-pl/ definitely heavier on the research wouldn't you say?
He also misses the biggest add of typing your code which is that other people can understand it better. This is often lost on junior programmers...
Well according to most of that research I'm correct.
See: "Work In Progress: an Empirical Study of Static Typing in Ruby; Daly, M; Sazawal, V; Foster, J."
See: "Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software Prototyping Productivity; Hudak, P; Jones, M."
Lisp - A dynamically typed language had the lowest development time by a factor of 2.5x. Seems to be the same figure I'm giving, fancy that!
"He also misses the biggest add of typing your code which is that other people can understand it better."
Nope.
See: "How Do API Documentation and Static Typing Affect API Usability? Endrikat, S.; Hanenberg, S.; Robbes, Romain; Stefik, A."
You need documentation and whilst Java students may study with dynamic typing since they haven't been taught it, it's pretty clear that on it's own static typing provides almost no useful documentation.
"This is often lost on junior programmers..."
I'm far more experience than you, which is why I'm calling out the BS.
I think you will find that the research suggests that static typing and dynamic typing have a similar bug rate per line of code.
See: "A Large Scale Study of Programming Languages and Code Quality in Github; Ray, B; Posnett, D; Filkov, V; Devanbu, P"
Once you combine that knowledge with the knowledge that dynamically typed programs have less lines per feature.
Relational Lisp 274 compared to Ada 767 or C++ 1105.
Dynamic typing wins out because the programs are smaller, making them faster to write and contain less bugs per software feature.