Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 15 submissions in the queue.
posted by LaminatorX on Thursday November 06 2014, @12:40PM   Printer-friendly
from the Brainfuck++ dept.

A variety of debates ensue during discussions whether a given programming language is “the right tool for the job" and while some of these debates may appear to be tinged with an almost religious fervor, most people would agree that a programming language can impact not only the coding process, but also the properties of the resulting product. Now computer scientists at the University of California - Davis have published a study of the effect of programming languages on software quality using a very large data set from GitHub that analyzed 729 projects with 80 Million SLOC by 29,000 authors and 1.5 million commits in 17 languages. The large sample size allowed them to use a mixed-methods approach, combining multiple regression modeling with visualization and text analytics, to study the effect of language features such as static vs. dynamic typing, strong vs. weak typing on software quality. By triangulating findings from different methods, and controlling for confounding effects such as team size, project size, and project history, they report that language design does have a significant, but modest effect on software quality.

Most notably, it does appear that strong typing is modestly better than weak typing, and among functional languages, static typing is also somewhat better than dynamic typing. We also find that functional languages are somewhat better than procedural languages. It is worth noting that these modest effects arising from language design are overwhelm- ingly dominated by the process factors such as project size, team size, and commit size. However, we hasten to caution the reader that even these modest effects might quite possibly be due to other, intangible process factors, e.g., the preference of certain personality types for functional, static and strongly typed languages.

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 0) by Anonymous Coward on Friday November 07 2014, @03:30AM

    by Anonymous Coward on Friday November 07 2014, @03:30AM (#113738)

    According to this "study," if you call it a "bug" and fix it, it is a bug, and if you ignore it because it compiles anyways and the features still work, then it is not a bug. The less you fix, the higher quality your software is.

    No? Well, then this study doesn't measure software quality. It may (or may not) measure inverse quality, though.

    Remember, windows has less bugs than linux, because they have a lower bug count! And openbsd is the buggiest software ever written, because they flag and fix bugs not only their own bugs, but upstream bugs too. Cleaned up some dirty code? Your software is now lower quality than if you didn't clean it up. Oh, wait...