Re:Yes, Python is Slow, and I Don’t Care
by marcosdumay on Friday September 08, 2017 @10:19AM
(#15200308)
That idea is old enough to have entered the original edition of The Mythical Man-Month.
That said, I have never seen any study like this where I didn't have some serious disagreement over methodology or conclusions. (Ok, except for that one on Peopleware.) It is a hard subject, and running a study over "the population of GitHub" is problematic by itself.
Re:Yes, Python is Slow, and I Don’t Care
by hellofunk on Friday September 08, 2017 @10:29AM
(#15200392)
In my own subjective experience, I've found the idea to make a lot of sense and probably be true. I've done equal amounts of professional work in C++ and in Clojure, both languages I like a lot (and they are about as different as two languages can be). To accomplish a task in C++ takes probably 10x the code of Clojure. I would say that my bug-hunting time spent is maybe 5x in C++ vs. Clojure. This, despite that C++ is quite strictly statically-typed.
Re:Yes, Python is Slow, and I Don’t Care
by marcosdumay on Friday September 08, 2017 @02:07PM
(#15202558)
That is my impression too. I find that the most relevant metric impacting the bug density is number of lines on this one project, and it's very non-linear.
That puts at advantage both languages that reduce line count, and languages that make it possible to abstract the plumbing into a generic library (if it's not generic, it's part of this one project). I think mostly everybody has that same impression.
Still, we shouldn't pretend that impression is a scientific certainty.
Re:Yes, Python is Slow, and I Don’t Care
by abhirag on Friday September 08, 2017 @11:59AM
(#15201281)
Sounds like an interesting analysis, would love to know where Erlang stands. Terseness definitely is a factor in play but I think at the end of the day it is all about where the priorities lie in language design, some languages really take errors and fault tolerance seriously, Erlang is famous for that and it is dynamically typed, same with Clojure, being a lisp the language design is much less rigid which allows for improvements like core.typed and Clojure.spec
It was very interesting to see that Clojure projects were among the least buggy of all languages represented. The report looked at a variety of factors to explain "bugginess", including typing and LOC, among other things. The conclusion in Clojure's case was that the very low line count necessary to write Clojure programs was vastly more influential on bugginess than for languages that were statically typed.
And I suppose that's true: a language that requires you write very little code is going to produce programs that are easier to write (and thus maintain), regardless of whether it is statically or dynamically typed.